Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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() {
//}