Switch to use noInterrupts and interrupts function. make read() public.  This resolves pull #15.