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:
- altoimperatore
- Date:
- 2019-03-26
- Revision:
- 1:13556d8b4a34
- Parent:
- 0:650a24681467
- Child:
- 2:33e2a092cab6
File content as of revision 1:13556d8b4a34:
#include "mbed.h"
#include "rtos.h"
#include "hcsr04.h"
#include "beep.h"
/******************************/
//bluetooth
Serial blue(D10,D2);//tx e rx
/******************************/
//sensori ad ultrasuoni
HCSR04 sensor1(D15, D14); //istanza oggetti "sensori"
HCSR04 sensor2(D12, D13);
HCSR04 sensor3(D11, D9);
/******************************/
//dichiarazioni led
//Led per le macchine
DigitalOut rossoC(PA_0); //istanza oggetti "led"
DigitalOut gialloC(D5);
DigitalOut verdeC(D3);
/******************************/
//led per i pedoni
DigitalOut rossoP(D6); //istanza oggetti "led specifici per i pedoni"
DigitalOut gialloP(D7);
DigitalOut verdeP(D8);
/******************************/
//buzzer
Beep buzzer(D4); //istanza oggetti "buzzer"
/******************************/
/******************************/
Thread thread_sensori; // istanzia oggetto thread
bool occupata = false;
/******************************/
//sensore semaforo 1
/******************************/
void sensori(){
sensor1.start();
wait_ms(100);
sensor2.start(); //partono i sensori
wait_ms(100);
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(){
int i;
while(true) {
//if (mybutton) {
for (int i = 0; i < 2; i++)
pc.printf("%d", occupata[i]);
}
void thread_sensori() {
}