X-Git-Url: http://git.piffa.net/web?p=rover;a=blobdiff_plain;f=prototypes%2Fultra%2Fultrasonic_distance_simple%2Fultrasonic_distance_simple.ino;fp=prototypes%2Fultra%2Fultrasonic_distance_simple%2Fultrasonic_distance_simple.ino;h=dc0e8ad5883b02df7b1698406a5e7678a5159f00;hp=0000000000000000000000000000000000000000;hb=e5ee18ad49f4c9c25628e3925e51352083b18ced;hpb=ca67a73d0b0c3e654431b7675327a9c4bd88ba3e diff --git a/prototypes/ultra/ultrasonic_distance_simple/ultrasonic_distance_simple.ino b/prototypes/ultra/ultrasonic_distance_simple/ultrasonic_distance_simple.ino new file mode 100644 index 0000000..dc0e8ad --- /dev/null +++ b/prototypes/ultra/ultrasonic_distance_simple/ultrasonic_distance_simple.ino @@ -0,0 +1,46 @@ +/* Ultrasonic rilevatore distanza + +Rilevatore distanza minore di 5cm. + +HC-SR04 Ping distance sensor +VCC to arduino 5v - GND to arduino GND + + + */ + +// Ultrasuoni +const byte trig = 11; +const byte echo = 12; +const byte led = 13; +long duration, distance; + +void setup() { + pinMode(trig, OUTPUT); + pinMode(echo, INPUT); + pinMode(led, OUTPUT); + + + //Debug + Serial.begin (9600); +} + +void loop() { + digitalWrite(trig, LOW); // Prepare for ping + delayMicroseconds(2); // + digitalWrite(trig, HIGH); // Send a ping + delayMicroseconds(10); // + digitalWrite(trig, LOW); // Set down ping + duration = pulseIn(echo, HIGH); + distance = (duration/2) / 29.1; // Speed is ~300m/s, + // so it takes ~29.1 milliseconds for a cm. + // Distance is half of (out + back) + if (distance < 5) { // This is where the LED On/Off happens + digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off + } + else { + digitalWrite(led,LOW); + } + delay(200); + Serial.println(distance); +} +