manejo básico del teclado, usando la pantalla lcd.
Dependencies: FPointer TextLCD keypad mbed
Fork of Tarea3_Teclado_sonido by
main.cpp@2:74e66e0bc451, 2014-05-13 (annotated)
- Committer:
- juanco
- Date:
- Tue May 13 16:44:04 2014 +0000
- Revision:
- 2:74e66e0bc451
- Parent:
- 1:4fa754f4522d
Codigo de manejo basico de teclado, incluyendo la pantalla lcd.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jesse | 0:01487f2574c6 | 1 | |
Jesse | 0:01487f2574c6 | 2 | #include "mbed.h" |
juanco | 2:74e66e0bc451 | 3 | #include "keypad.h" |
juanco | 2:74e66e0bc451 | 4 | #include "TextLCD.h" |
Jesse | 0:01487f2574c6 | 5 | |
Jesse | 0:01487f2574c6 | 6 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7 |
Jesse | 0:01487f2574c6 | 7 | DigitalOut Sonido(PTB8); |
Jesse | 0:01487f2574c6 | 8 | |
Jesse | 0:01487f2574c6 | 9 | PwmOut Pwm(PTA5); |
Jesse | 0:01487f2574c6 | 10 | |
Jesse | 0:01487f2574c6 | 11 | |
Jesse | 0:01487f2574c6 | 12 | float pp=0.001; |
Jesse | 0:01487f2574c6 | 13 | float Dd=0.1; |
Jesse | 0:01487f2574c6 | 14 | char key,keyy; |
Jesse | 0:01487f2574c6 | 15 | int C1=0x0F; |
Jesse | 0:01487f2574c6 | 16 | |
Jesse | 0:01487f2574c6 | 17 | // Define your own keypad values |
Jesse | 0:01487f2574c6 | 18 | char Keytable[] = { '1', '2', '3', 'A', |
Jesse | 0:01487f2574c6 | 19 | '4', '5', '6', 'B', |
Jesse | 0:01487f2574c6 | 20 | '7', '8', '9', 'C', |
Jesse | 0:01487f2574c6 | 21 | '*', '0', '#', 'D' |
Jesse | 0:01487f2574c6 | 22 | }; |
Jesse | 0:01487f2574c6 | 23 | |
Jesse | 0:01487f2574c6 | 24 | |
juanco | 2:74e66e0bc451 | 25 | //PWM |
Jesse | 0:01487f2574c6 | 26 | int PWMmodule(float pp,float Dd) |
Jesse | 0:01487f2574c6 | 27 | { |
Jesse | 0:01487f2574c6 | 28 | Pwm.period(pp); |
Jesse | 0:01487f2574c6 | 29 | Pwm.write(Dd); |
Jesse | 0:01487f2574c6 | 30 | wait(0.1); |
Jesse | 0:01487f2574c6 | 31 | Pwm.write(0); |
Jesse | 0:01487f2574c6 | 32 | return 0; |
Jesse | 0:01487f2574c6 | 33 | } |
Jesse | 0:01487f2574c6 | 34 | |
Jesse | 0:01487f2574c6 | 35 | uint32_t cbAfterInput(uint32_t Key) |
Jesse | 0:01487f2574c6 | 36 | { |
Jesse | 0:01487f2574c6 | 37 | |
Jesse | 0:01487f2574c6 | 38 | PWMmodule(pp,Dd); |
Jesse | 0:01487f2574c6 | 39 | key=Key; |
Jesse | 0:01487f2574c6 | 40 | lcd.locate(0,0); |
Jesse | 0:01487f2574c6 | 41 | lcd.printf("%c",Keytable[key]); |
Jesse | 0:01487f2574c6 | 42 | |
Jesse | 0:01487f2574c6 | 43 | return 0; |
Jesse | 0:01487f2574c6 | 44 | } |
Jesse | 0:01487f2574c6 | 45 | |
Jesse | 0:01487f2574c6 | 46 | int main() |
Jesse | 0:01487f2574c6 | 47 | |
Jesse | 0:01487f2574c6 | 48 | { |
juanco | 2:74e66e0bc451 | 49 | |
Jesse | 0:01487f2574c6 | 50 | |
Jesse | 0:01487f2574c6 | 51 | // r0 r1 r2 r3 c0 c1 c2 c3 |
Jesse | 0:01487f2574c6 | 52 | Keypad keypad(PTA2,PTD4,PTD3,PTD1,PTD2,PTD0,PTD5,PTA13); |
Jesse | 0:01487f2574c6 | 53 | keypad.CallAfterInput(&cbAfterInput); |
juanco | 2:74e66e0bc451 | 54 | keypad.Start(); |
Jesse | 0:01487f2574c6 | 55 | |
Jesse | 0:01487f2574c6 | 56 | |
Jesse | 0:01487f2574c6 | 57 | while (1) |
Jesse | 0:01487f2574c6 | 58 | { |
Jesse | 0:01487f2574c6 | 59 | |
Jesse | 0:01487f2574c6 | 60 | } |
Jesse | 0:01487f2574c6 | 61 | } |
Jesse | 0:01487f2574c6 | 62 |