--------------------------------------------------------------------------------- |-- Module : System.Hardware.Arduino.SamplePrograms.Button-- Copyright : (c) Levent Erkok-- License : BSD3-- Maintainer : erkokl@gmail.com-- Stability : experimental---- Reads the value of a push-button and displays it's status continuously-- on the computer screen and by lighting a led on the Arduino as long as-- the button is pressed.-------------------------------------------------------------------------------moduleSystem.Hardware.Arduino.SamplePrograms.ButtonwhereimportControl.Monad.Trans(liftIO)importSystem.Hardware.Arduino-- | Read the value of a push-button (NO - normally open)-- connected to input pin 2 on the Arduino. We will continuously-- monitor and print the value as it changes. Also, we'll turn-- the led on pin 13 on when the switch is pressed.---- The wiring is straightforward: Simply put a push-button between-- digital input 2 and +5V, guarded by a 10K resistor:---- <<http://github.com/LeventErkok/hArduino/raw/master/System/Hardware/Arduino/SamplePrograms/Schematics/Button.png>>button::IO()button=withArduinoFalse"/dev/cu.usbmodemfd131"$dosetPinModeledOUTPUTsetPinModepbINPUTgo=<<digitalReadpbwherepb=digital2led=digital13gos=doliftIO$putStrLn$"Button is currently "++ifsthen"ON"else"OFF"digitalWriteledsgo=<<waitForpb