proyecto prueba ros
Dependencies: mbed Servo HC-SR04 max6675
main.cpp
- Committer:
- 20172573063
- Date:
- 2020-06-08
- Revision:
- 0:4cce815f7d81
File content as of revision 0:4cce815f7d81:
#include "mbed.h" #include "HCSR04.h" #include "rtos.h" #include "Servo.h" #include "max6675.h" #include "TextLCD.h" BusOut display7Seg(PTC10, PTC7, PTC6, PTC4, PTC0, PTB19, PTB18); DigitalOut display1(PTC11); DigitalOut display2(PTC13); HCSR04 ultrasonido(PTA7,PTA6); Servo servomotor(PTA13); TextLCD lcd(D7, D6, 0x4E); max6675 sensor(D12,D13,D5); Serial pc(USBTX,USBRX); Thread thread; Thread thread1; Thread thread2; Thread thread3; int anodeComun[10] = { 0b0000001, // 0 0b1001111, // 1 0b0010010, // 2 0b0000110, // 3 0b1001100, // 4 0b0100100, // 5 0b0100000, // 6 0b0001111, // 7 0b0000000, // 8 0b0001100, // 9 }; void ultra() { while(1) { float distancia=ultrasonido.getCm(); printf("%2.f\n",distancia); Thread::wait(1000); } } void servo() { servomotor.calibrate(0.001, 180); while(1) { for(int i=0; i<100; i++) { servomotor = i*0.01; printf("%d",i); Thread::wait(1000); } for(int i=100; i>0; i--) { servomotor = i*0.01; printf("%d",i); Thread::wait(1000); } } } void temp_hora() { set_time(1256729737); int cf = 0; while (1) { time_t seconds = time(NULL); float temp = sensor.gettemp(cf); printf("%d", seconds); printf("Fecha= %s", ctime(&seconds)); char buffer[32]; strftime(buffer, 32, "%H:%M:%S ", localtime(&seconds)); printf("%s", buffer); if (cf) { printf("%4.2f%cF \n\033[2K\033[1A",temp,176); lcd.printf("%4.2f%cF \n\033[2K\033[1A",temp,176); } else { printf("%4.2f%cC \n",temp,176); lcd.printf("%4.2f%cC \n",temp,176); } Thread::wait(1000); } } void seg() { float distancia=ultrasonido.getCm(); while(1) { int d,u,n; n=int(distancia); d = n /10; u = n % 10; display1=1; display2=0; display7Seg=anodeComun[d]; Thread::wait(1000); display1=0; display2=1; display7Seg=anodeComun[u]; Thread::wait(1000); } } int main() { thread.start((ultra)); thread1.start ((servo)); thread2.start ((temp_hora)); thread3.start ((seg)); }