lab de buzzer

Dependencies:   mbed

Committer:
fabeltranm
Date:
Wed Feb 27 01:07:40 2019 +0000
Revision:
4:8b31bf0ddab3
Parent:
3:6aff6d7785e5
5 notas

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabeltranm 0:17fa07efdd55 1 #include "mbed.h"
fabeltranm 0:17fa07efdd55 2
fabeltranm 0:17fa07efdd55 3 /*****************************************************************************
fabeltranm 0:17fa07efdd55 4 generar un programa que controle por el puerto serial los tonos y el tiempo de buzzer .
fabeltranm 0:17fa07efdd55 5 por medio de la comunicacion serial el comando es
fabeltranm 0:17fa07efdd55 6
fabeltranm 0:17fa07efdd55 7 | | | |
fabeltranm 2:fa11b3edea43 8 | INITCMD | tono | tiempo |
fabeltranm 3:6aff6d7785e5 9 | 0xff | 0x01- 0x05 | 0x00 - 0xb4 |
fabeltranm 0:17fa07efdd55 10
fabeltranm 0:17fa07efdd55 11 para enviar los comandos usar el programa Coolterm http://freeware.the-meiers.org/
fabeltranm 0:17fa07efdd55 12
fabeltranm 4:8b31bf0ddab3 13 qFABELTRANM Ferney alberto beltran molina
fabeltranm 0:17fa07efdd55 14
fabeltranm 0:17fa07efdd55 15 *****************************************************************************/
fabeltranm 0:17fa07efdd55 16
fabeltranm 0:17fa07efdd55 17
fabeltranm 0:17fa07efdd55 18 Serial command(USBTX, USBRX);
fabeltranm 3:6aff6d7785e5 19 PwmOut mybuzzer(PB_4);
fabeltranm 0:17fa07efdd55 20 /*INGRESE LA CONFIGURACION DE LOS MOTORES*/
fabeltranm 0:17fa07efdd55 21
fabeltranm 0:17fa07efdd55 22 #define INITCMD 0xFF
fabeltranm 0:17fa07efdd55 23
fabeltranm 1:51586a652796 24 // d
fabeltranm 1:51586a652796 25 #define DO 130
fabeltranm 1:51586a652796 26 #define RE 150
fabeltranm 1:51586a652796 27 #define MI 160
fabeltranm 1:51586a652796 28 #define FA 180
fabeltranm 1:51586a652796 29 #define SO 200
fabeltranm 0:17fa07efdd55 30
fabeltranm 1:51586a652796 31 uint8_t tono; // variable almacena la frecuencia del buzzer
fabeltranm 0:17fa07efdd55 32 uint8_t tiempo; // varable almacena los tiempos del buzzer leer_datos()
fabeltranm 0:17fa07efdd55 33
fabeltranm 0:17fa07efdd55 34
fabeltranm 0:17fa07efdd55 35 // definición de las funciones
fabeltranm 0:17fa07efdd55 36 void setup_uart();
fabeltranm 1:51586a652796 37 void buzzer_on(uint8_t tono, uint8_t tiempo);
fabeltranm 0:17fa07efdd55 38 void leer_datos();
fabeltranm 0:17fa07efdd55 39
fabeltranm 0:17fa07efdd55 40
fabeltranm 0:17fa07efdd55 41
fabeltranm 0:17fa07efdd55 42 int main() {
fabeltranm 0:17fa07efdd55 43
fabeltranm 0:17fa07efdd55 44 setup_uart();
fabeltranm 0:17fa07efdd55 45 //command.printf("inicio de programa");
fabeltranm 0:17fa07efdd55 46 while(1){
fabeltranm 0:17fa07efdd55 47 leer_datos();
fabeltranm 1:51586a652796 48 buzzer_on(tono, tiempo);
fabeltranm 0:17fa07efdd55 49 }
fabeltranm 0:17fa07efdd55 50 }
fabeltranm 0:17fa07efdd55 51
fabeltranm 0:17fa07efdd55 52
fabeltranm 0:17fa07efdd55 53
fabeltranm 0:17fa07efdd55 54 void setup_uart(){
fabeltranm 0:17fa07efdd55 55 command.baud(115200);
fabeltranm 0:17fa07efdd55 56 }
fabeltranm 0:17fa07efdd55 57
fabeltranm 0:17fa07efdd55 58
fabeltranm 0:17fa07efdd55 59 void leer_datos(){
fabeltranm 0:17fa07efdd55 60 while(command.getc()!= INITCMD);
fabeltranm 1:51586a652796 61 tono=command.getc();
fabeltranm 0:17fa07efdd55 62 tiempo=command.getc();
fabeltranm 0:17fa07efdd55 63
fabeltranm 0:17fa07efdd55 64 }
fabeltranm 0:17fa07efdd55 65
fabeltranm 0:17fa07efdd55 66
fabeltranm 3:6aff6d7785e5 67 void buzzer_on(uint8_t tono, uint8_t tm){
fabeltranm 0:17fa07efdd55 68
fabeltranm 0:17fa07efdd55 69 /* complementar el código necesario
fabeltranm 0:17fa07efdd55 70 */
fabeltranm 3:6aff6d7785e5 71
fabeltranm 3:6aff6d7785e5 72 mybuzzer.write(0);
fabeltranm 3:6aff6d7785e5 73 switch(tono){
fabeltranm 3:6aff6d7785e5 74 case 1: mybuzzer.period_us(DO);break;
fabeltranm 3:6aff6d7785e5 75 case 2: mybuzzer.period_us(RE);break;
fabeltranm 3:6aff6d7785e5 76 case 3: mybuzzer.period_us(MI);break;
fabeltranm 3:6aff6d7785e5 77 case 4: mybuzzer.period_us(FA);break;
fabeltranm 3:6aff6d7785e5 78 default:mybuzzer.period_us(SO); break;
fabeltranm 3:6aff6d7785e5 79 }
fabeltranm 3:6aff6d7785e5 80 mybuzzer.write(0.5);
fabeltranm 1:51586a652796 81
fabeltranm 3:6aff6d7785e5 82 wait(tm);
fabeltranm 3:6aff6d7785e5 83 mybuzzer.write(0);
fabeltranm 1:51586a652796 84
fabeltranm 0:17fa07efdd55 85
fabeltranm 0:17fa07efdd55 86 }
fabeltranm 0:17fa07efdd55 87
fabeltranm 0:17fa07efdd55 88