Dependencies: mbed Servo HC_SR04_Ultrasonic_Library
Diff: main.cpp
- Revision:
- 0:1af71cae5faa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Aug 15 18:58:08 2020 +0000 @@ -0,0 +1,104 @@ +#include "mbed.h" +#include "ultrasonic.h" +#include "Servo.h" + + +Serial pc(USBTX,USBRX); +DigitalOut L(LED2); +DigitalOut led1(PTC1); +DigitalOut led2(PTC2); +PwmOut buzzer(A0); + +char c; +int a,i=0; +int conteo=0; + +//SERVOMOTRO +Servo myservo2(PTD4); + + + void dist(int distance){ + a=distance; + printf("Distance changed to %dmm\r\n", distance); +} + +//ULTRASONICO +ultrasonic mu(D8, D9, .1, 1, &dist); + +int main(){ + mu.startUpdates(); + myservo2.calibrate(0.00095, 180.0); + myservo2.write(0); + L=1; + + while(1){ + mu.checkDistance(); + //pc.printf("Active\n"); + + //DETECCION PUERTO SERIE + while(pc.readable()) { + c = pc.getc(); + } + + //ENCENDIDO + if(c == 's'){ + + L=0; + led1=1; + led2=1; + pc.printf("Active\n"); + + for(i=0; i<200; i++) { + myservo2 = i/100.0; + conteo=conteo+1; + wait(0.02); + } + + for(i=200; i>0; i--) { + myservo2 = i/100.0; + conteo=conteo-1; + wait(0.02); + } + wait(2); + + + + if(a>=1200){ + L=0; + led1=1; + led2=1; + printf("Conectado \n\r"); + pc.printf("HOLA\n"); + buzzer.period(1.0/969.0); + buzzer = 261.0f; + wait(0.5); + led1=0; + led2=0; + buzzer.period(1.0/800.0); + buzzer = 300.0f; + buzzer.period(1.0/800.0); + buzzer = 400.0f; + wait(0.5); + led1=1; + led2=1; + L=1; + + } + } + + //APAGADO + if(c =='c') { + + if(a<=1200){ + printf("Conectado \n\r"); + pc.printf("CHAO\n"); + L=1; + buzzer=0.0; + myservo2.write(180); + led1=0; + led2=0; + } + } + + } +} \ No newline at end of file