ferney alberto beltran molina
/
00_LAB_COMMAND_BUZZER
lab de buzzer
main.cpp@4:8b31bf0ddab3, 2019-02-27 (annotated)
- 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?
User | Revision | Line number | New 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 |