A LCD Program

Dependencies:   TextLCD mbed Interruptpins

Committer:
wehner334
Date:
Wed Mar 02 15:37:47 2016 +0000
Revision:
3:119ffed38b29
Parent:
2:9693c1f2a4f2
harder, better, faster, stronger;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wehner334 0:f0bce7801e75 1 #include "mbed.h"
wehner334 0:f0bce7801e75 2 #include "TextLCD.h"
wehner334 3:119ffed38b29 3 #include "Interruptpins.h"
wehner334 2:9693c1f2a4f2 4 TextLCD lcd(D2, D3, D4, D5, D6, D7, TextLCD::LCD8x2 );
wehner334 2:9693c1f2a4f2 5 Serial pc(SERIAL_TX, SERIAL_RX);
wehner334 0:f0bce7801e75 6 DigitalOut myled(D10);
wehner334 2:9693c1f2a4f2 7 AnalogIn aout(A3);
wehner334 2:9693c1f2a4f2 8 InterruptIn mybuttonone(PA_0);
wehner334 1:cb6c5c9f5d2f 9 InterruptIn mybuttontwo(PA_1);
wehner334 2:9693c1f2a4f2 10 Timer Timerone;
wehner334 0:f0bce7801e75 11 DigitalOut mynewled(A2);
wehner334 3:119ffed38b29 12 volatile long entprellZeit=250, alteZeitOne=0,alteZeitTwo=0,alteZeit=0;
wehner334 2:9693c1f2a4f2 13 volatile int counterOne=0, counterTwo=0;
wehner334 1:cb6c5c9f5d2f 14 void pressedone()
wehner334 2:9693c1f2a4f2 15 {if((Timerone.read_ms()-alteZeitOne)>entprellZeit)
wehner334 2:9693c1f2a4f2 16 {alteZeitOne=Timerone.read_ms();
wehner334 3:119ffed38b29 17 lcd.locate(0,0);
wehner334 3:119ffed38b29 18 lcd.printf(" ");
wehner334 3:119ffed38b29 19
wehner334 2:9693c1f2a4f2 20 lcd.locate(0,0);
wehner334 2:9693c1f2a4f2 21 counterOne++;
wehner334 2:9693c1f2a4f2 22 if (pc.writeable())
wehner334 2:9693c1f2a4f2 23 {
wehner334 3:119ffed38b29 24 pc.printf("1,%i, %i \n",counterOne, alteZeitOne);
wehner334 2:9693c1f2a4f2 25
wehner334 0:f0bce7801e75 26 //delay=buffer[movingVar];
wehner334 2:9693c1f2a4f2 27 }
wehner334 1:cb6c5c9f5d2f 28 lcd.printf("Button 1\n");
wehner334 1:cb6c5c9f5d2f 29 }
wehner334 1:cb6c5c9f5d2f 30
wehner334 1:cb6c5c9f5d2f 31 }
wehner334 1:cb6c5c9f5d2f 32
wehner334 1:cb6c5c9f5d2f 33 void pressedtwo()
wehner334 2:9693c1f2a4f2 34 {if((Timerone.read_ms()-alteZeitTwo)>entprellZeit)
wehner334 2:9693c1f2a4f2 35 {alteZeitTwo=Timerone.read_ms();
wehner334 3:119ffed38b29 36 lcd.locate(0,0);
wehner334 3:119ffed38b29 37 lcd.printf(" ");
wehner334 3:119ffed38b29 38 //lcd.printf("new");
wehner334 3:119ffed38b29 39
wehner334 2:9693c1f2a4f2 40 lcd.locate(0,0);
wehner334 1:cb6c5c9f5d2f 41 //delay=buffer[movingVar];
wehner334 1:cb6c5c9f5d2f 42 lcd.printf("Button 2\n");
wehner334 2:9693c1f2a4f2 43 counterTwo++;
wehner334 2:9693c1f2a4f2 44 if (pc.writeable())
wehner334 2:9693c1f2a4f2 45 {
wehner334 3:119ffed38b29 46 pc.printf("2,%i,%i \n",counterTwo, alteZeitTwo);
wehner334 2:9693c1f2a4f2 47 }
wehner334 0:f0bce7801e75 48 }
wehner334 2:9693c1f2a4f2 49 //wait(1);
wehner334 2:9693c1f2a4f2 50 //lcd.cls();
wehner334 2:9693c1f2a4f2 51 /* movingVar++;
wehner334 2:9693c1f2a4f2 52 if(movingVar==5) {
wehner334 2:9693c1f2a4f2 53 movingVar=0;
wehner334 2:9693c1f2a4f2 54 }
wehner334 2:9693c1f2a4f2 55 */
wehner334 0:f0bce7801e75 56
wehner334 0:f0bce7801e75 57 }
wehner334 0:f0bce7801e75 58
wehner334 2:9693c1f2a4f2 59 int main()
wehner334 3:119ffed38b29 60 { pc.baud(115200);
wehner334 2:9693c1f2a4f2 61 mybuttonone.fall(&pressedone);
wehner334 2:9693c1f2a4f2 62 mybuttonone.mode(PullUp);
wehner334 2:9693c1f2a4f2 63 Timerone.start();
wehner334 2:9693c1f2a4f2 64 mybuttontwo.fall(&pressedtwo);
wehner334 2:9693c1f2a4f2 65 mybuttontwo.mode(PullUp);
wehner334 2:9693c1f2a4f2 66 lcd.printf("Hello World!\n");
wehner334 2:9693c1f2a4f2 67 wait(1);
wehner334 2:9693c1f2a4f2 68 lcd.cls();
wehner334 2:9693c1f2a4f2 69 mynewled=true;
wehner334 0:f0bce7801e75 70 while(1) {
wehner334 3:119ffed38b29 71 alteZeit=Timerone.read_ms();
wehner334 3:119ffed38b29 72 if(alteZeit>1000)
wehner334 2:9693c1f2a4f2 73 {Timerone.reset();
wehner334 2:9693c1f2a4f2 74 alteZeitOne=0;
wehner334 3:119ffed38b29 75 alteZeitTwo=0;
wehner334 3:119ffed38b29 76 alteZeit=0;}
wehner334 2:9693c1f2a4f2 77 if(aout.read()<0.5f) {
wehner334 2:9693c1f2a4f2 78 myled = !myled;
wehner334 2:9693c1f2a4f2 79 }
wehner334 3:119ffed38b29 80 lcd.locate(0,0);
wehner334 3:119ffed38b29 81 lcd.printf(" ");
wehner334 2:9693c1f2a4f2 82 //lcd.printf("new");
wehner334 0:f0bce7801e75 83 lcd.locate(0,1);
wehner334 0:f0bce7801e75 84 lcd.printf("ana=%1.2f", aout.read() * 3.3f);
wehner334 2:9693c1f2a4f2 85
wehner334 2:9693c1f2a4f2 86
wehner334 2:9693c1f2a4f2 87 wait(0.5);
wehner334 0:f0bce7801e75 88 }
wehner334 0:f0bce7801e75 89 }