![](/media/cache/profiles/46831284_1407666076030939_4841435797754216448_o.jpg.50x50_q85.jpg)
Practica_6_-_Ejercicio_03
Dependencies: mbed TextLCD Keypad
Revision 32:03bfdca818b6, committed 2019-11-20
- Comitter:
- isaacross99
- Date:
- Wed Nov 20 05:03:38 2019 +0000
- Parent:
- 31:080589c1250a
- Commit message:
- 0
Changed in this revision
diff -r 080589c1250a -r 03bfdca818b6 Keypad.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Keypad.lib Wed Nov 20 05:03:38 2019 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/grantphillips/code/Keypad/#4bbd88022a6f
diff -r 080589c1250a -r 03bfdca818b6 TextLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Wed Nov 20 05:03:38 2019 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/simon/code/TextLCD/#308d188a2d3a
diff -r 080589c1250a -r 03bfdca818b6 main.cpp --- a/main.cpp Thu Oct 31 04:24:48 2019 +0000 +++ b/main.cpp Wed Nov 20 05:03:38 2019 +0000 @@ -1,39 +1,22 @@ #include "mbed.h" -Serial pc(USBTX,USBRX); -DigitalOut led0(PTD0); //Octavo pin (a partir del botón de RESET). -DigitalOut led1(PTC4); //Noveno pin. -DigitalOut led2(PTC12); //Decimo pin. -DigitalOut led3(PTC3); //Onceavo pin (inicia en el nuevo carril). -Timer crono; +#include "TextLCD.h" +#include "Keypad.h" +TextLCD lcd(PTE24, PTE25, PTD1, PTD3, PTD2, PTD0, TextLCD::LCD16x2); // rs, e, d4-d7 +Keypad kpad(PTA2, PTB23, PTA1, PTB9, PTC4, PTC12, PTC3, PTC2); + +int main() { + char key; + int released = 1; -int main(){ - led0 = 1; - led1 = 1; - led2 = 1; - led3 = 1; - crono.start(); - for(int i; i < 50; i++){ // Dado que la resolución es de 1.8 grados, se necesitan 200 pasos para completar un giro. - led0 = 0; - led1 = 1; - led2 = 0; - led3 = 1; - wait(0.025); - led0 = 0; - led1 = 1; - led2 = 1; - led3 = 0; - wait(0.025); - led0 = 1; - led1 = 0; - led2 = 1; - led3 = 0; - wait(0.025); - led0 = 1; - led1 = 0; - led2 = 0; - led3 = 1; - wait(0.025); + while(1){ + key = kpad.ReadKey(); //read the current key pressed + + if(key == '\0') + released = 1; //set the flag when all keys are released + + if((key != '\0') && (released == 1)) { //if a key is pressed AND previous key was released + lcd.printf("%c", key); + released = 0; //clear the flag to indicate that key is still pressed + } } - crono.stop(); - pc.printf("Tiempo de giro: %f seg", crono.read()); -} \ No newline at end of file +}