Il contenuto di questo sito è rilasciato sotto licenza
se non specificato diversamente
#include <Servo.h> // include la Libreria Servo.h
Servo myservo; // crea l’oggetto di tipo Servo, myservo sarà l’oggetto su cui opererai
int buzzerPin = 5;
int triggerPin = 11;
int echoPin = 12;
int tonoAlto = 200;
int tonoBasso = 1000;
int durataBeep = 200;
int pausaBeep= 200;
int pericolo = 50;
int ledPin = 7;
int motorPin = 9;
int pos =0;
void setup(){
pinMode(buzzerPin,OUTPUT);
pinMode(triggerPin,OUTPUT);
pinMode(echoPin,INPUT);
myservo.attach(motorPin);
myservo.write(0);
Serial.begin(9600);
Serial.println("Sensore attivo");
}
void loop() {
digitalWrite(triggerPin,LOW);
digitalWrite(triggerPin,HIGH);
delay(10);
digitalWrite(triggerPin,LOW);
long durata = pulseIn(echoPin,HIGH);
long distanza = 0.034 * durata / 2;
Serial.println(distanza);
if (distanza < pericolo and distanza >0) {
tone(buzzerPin,tonoAlto,durataBeep);
tone(buzzerPin,tonoBasso,durataBeep);
digitalWrite(ledPin,HIGH);
pos = (pos +1) % 180 ;
myservo.write(pos);
} else {
digitalWrite(ledPin,LOW);
myservo.write(0);
}
}