Tarea 2. Con cualquier pulso del teclado, se acciona la salid a PWM de un Speaker, dejando fijo el ancho de pulso y la frecuencia.
Dependencies: FPointer TextLCD keypad mbed
main.cpp
00001 //Jesse Mauricio Beltran Soto 00002 //Michelle Maceas Henao 00003 00004 //Manejo Basico del Teclado Matcicial , teclado matricial 00005 00006 #include "mbed.h" 00007 #include "keypad.h" 00008 #include "TextLCD.h" 00009 00010 //Definicion de puertos de la LCD 00011 00012 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7 00013 00014 //Defino Salidas Digitales 00015 DigitalOut myled(LED1); 00016 DigitalOut Sonido(PTB8); 00017 00018 00019 00020 //Defino salida a Pwm 00021 PwmOut Pwm(PTA5); 00022 00023 //Definicion de Variables 00024 00025 float pp=0.001; 00026 float Dd=0.1; 00027 char key,keyy; 00028 int C1=0x0F; 00029 00030 // Define your own keypad values 00031 char Keytable[] = { '1', '2', '3', 'A', 00032 '4', '5', '6', 'B', 00033 '7', '8', '9', 'C', 00034 '*', '0', '#', 'D' 00035 }; 00036 00037 00038 //Funcion de PWM 00039 int PWMmodule(float pp,float Dd) 00040 { 00041 Pwm.period(pp); 00042 Pwm.write(Dd); 00043 wait(0.1); 00044 Pwm.write(0); 00045 return 0; 00046 } 00047 00048 uint32_t cbAfterInput(uint32_t Key) 00049 { 00050 00051 PWMmodule(pp,Dd); 00052 key=Key; 00053 lcd.locate(0,0); 00054 lcd.printf("%c",Keytable[key]); 00055 00056 return 0; 00057 } 00058 00059 int main() 00060 00061 { 00062 //Configuracion de Pines: 00063 //Filas van a Resistencia que van a tierra, y tambien a los puertos 00064 //Columnas van directamente a los pines de la tarjeta. 00065 00066 // r0 r1 r2 r3 c0 c1 c2 c3 00067 Keypad keypad(PTA2,PTD4,PTD3,PTD1,PTD2,PTD0,PTD5,PTA13); 00068 //keypad.attach(&cbAfterInput); 00069 keypad.CallAfterInput(&cbAfterInput); 00070 keypad.Start(); // energiza las columnas C0-C3 Del Keypad 00071 00072 00073 while (1) 00074 { 00075 00076 } 00077 } 00078
Generated on Sun Jul 24 2022 02:03:53 by 1.7.2