Alejandro Montes
/
Experiment_3-1
IT Tralee Life Long Learning 2020 Instrumentation, Monitoring and Control Module Laboratory Session
Diff: LAB_2.3.1.cpp
- Revision:
- 0:d13a1b0d344f
diff -r 000000000000 -r d13a1b0d344f LAB_2.3.1.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LAB_2.3.1.cpp Mon Jul 27 20:23:56 2020 +0000 @@ -0,0 +1,40 @@ +#include "mbed.h" +#include "C12832.h" + +InterruptIn joystickcenter(p14); +InterruptIn button(p9); +DigitalOut led(LED1); +DigitalOut flash(LED4); +C12832 lcd(p5, p7, p6, p8, p11); +int x; +Timer debounce; +float t=3000.0; + +void flip() { + led = !led; // toggles the led when the joystick button is pressed. + debounce.start(); // starts the timer the first time that the flip function is triggered. + if (debounce.read_ms()>=t){ // compares the timer value to t + x=1; // variable x set to 1 if the timer condition is met + debounce.reset(); // reset the timer if the condition is met. + } +} + +int main() { + + joystickcenter.rise(&flip); // attach the function address to the rising edge + button.mode(PullUp); // With this, no external pullup resistor needed + button.rise(&flip); // attach the function address to the rising edge + + while(1) { // wait around, interrupts will interrupt this! + flash = !flash; // turns LED4 on if off, off if on + wait(0.25); // the instruction to wait for a quarter-second + + if(x==1){ // Check if the variable has been set and if so displays a message on the LCD + lcd.locate(0,10); + lcd.printf("Varialble SET!"); + wait(0.5); + lcd.cls(); //Clears out the LCD + x=0; //Set the variable back to 0 + } + } +} \ No newline at end of file