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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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