1 /* Ultrasonic rilevatore distanza
3 Rilevatore distanza minore di 5cm.
6 HC-SR04 Ping distance sensor
7 VCC to arduino 5v - GND to arduino GND
18 const int minDistance = 10;
21 pinMode(trig, OUTPUT);
30 Serial.begin(9600); // Need for distanceMonitor
34 if (distanceCheck()) {
35 digitalWrite(led,HIGH);
37 digitalWrite(led,LOW);
39 Serial.println(distanceMonitor());
44 boolean distanceCheck() {
45 digitalWrite(trig, LOW); // Prepare for ping
46 delayMicroseconds(2); //
47 digitalWrite(trig, HIGH); // Send a ping
48 delayMicroseconds(10); //
49 digitalWrite(trig, LOW); // Set down ping
50 duration = pulseIn(echo, HIGH);
51 //distance = (duration / 2) / 29.1; // Speed is ~300m/s,
52 // so it takes ~29.1 milliseconds for a cm.
53 distance = (duration / 58.2); // Atmegas are not found of divisions
54 // Distance is half of (out + back)
56 Serial.print("Distanza oggetto: ");
57 Serial.println(distance);
59 if (distance < minDistance) { // This is where the LED On/Off happens
67 int distanceMonitor() {
68 digitalWrite(trig, LOW); // Prepare for ping
69 delayMicroseconds(2); //
70 digitalWrite(trig, HIGH); // Send a ping
71 delayMicroseconds(10); //
72 digitalWrite(trig, LOW); // Set down ping
73 duration = pulseIn(echo, HIGH);
74 //distance = (duration / 2) / 29.1; // Speed is ~300m/s,
75 // so it takes ~29.1 milliseconds for a cm.
76 distance = (duration / 58.2); // Atmegas are not found of divisions
77 // Distance is half of (out + back)