da completare (non funzionante)
Dependencies: mbed Servo mbed-rtos beep hcsr04 TextLCD
main.cpp
- Committer:
- CiroSamu
- Date:
- 2019-03-27
- Revision:
- 4:48754f3702d7
- Parent:
- 3:272fb57c7fcb
- Child:
- 5:8eb27286a3e3
File content as of revision 4:48754f3702d7:
#include "mbed.h" #include "rtos.h" #include "hcsr04.h" #include "beep.h" #define trigger1 D15 #define echo1 D14 #define trigger2 D12 #define echo2 D13 /******************************/ //bluetooth Serial pc(USBTX, USBRX);//tx e rx /******************************/ //sensori ad ultrasuoni HCSR04 sensor1(trigger1, echo1); HCSR04 sensor2(trigger2, echo2); //HCSR04 sensor3(D11, D9); /******************************/ //DigitalIn mybutton(USER_BUTTON); Thread thread_sensori; // istanzia oggetto thread bool occupata[2] = {false}; /******************************/ /*void button_thread(void const *args){ while(1){ if (mybutton==0){ sensor1.start(); sensor2.start(); //!mybutton; }else break; //tentativo di programmare un bottone } }*/ //sensore semaforo 1 /******************************/ void sensori(){ sensor1.start(); wait_ms(100); sensor2.start(); //partono i sensori wait_ms(100); sensor1.get_dist_cm(); sensor2.get_dist_cm(); if(sensor1.get_dist_cm() < 5 && occupata[0] == false) //se uno dei sensori capta una distanza minore 10 occupata[0] = true; else occupata[0] = false; if(sensor2.get_dist_cm() < 5 && occupata[1] == false) //se uno dei sensori capta una distanza minore a 10 e gianello è false occupata[1] = true; else occupata[1] = false; } int main(){ // pc.printf("prova"); //while(true) { //Thread button_th(button_thread); sensori(); // blue.printf("prova"); // if (mybutton==0) { for (int i = 0; i < 2; i++) { if(occupata[0]== false && occupata[1]== false) pc.printf("il parcheggio numero %d è libero\n", i + 1 ); else if(occupata[0]== false && occupata[1]== true){ pc.printf("il parcheggio numero %d è libero\n", i + 1 ); break; } else if(occupata[0]== true && occupata[1]== false){ pc.printf("il parcheggio numero %d è libero\n", i + 2 ); break; }else{ pc.printf("appiennt\n"); break; } } //} } //void thread sensori() { //}