summaryrefslogtreecommitdiff
path: root/3-dissolvenza-led-distanza-ultrasuoni.ino
diff options
context:
space:
mode:
Diffstat (limited to '3-dissolvenza-led-distanza-ultrasuoni.ino')
-rw-r--r--3-dissolvenza-led-distanza-ultrasuoni.ino41
1 files changed, 41 insertions, 0 deletions
diff --git a/3-dissolvenza-led-distanza-ultrasuoni.ino b/3-dissolvenza-led-distanza-ultrasuoni.ino
new file mode 100644
index 0000000..a7be908
--- /dev/null
+++ b/3-dissolvenza-led-distanza-ultrasuoni.ino
@@ -0,0 +1,41 @@
+//HC RS04 Sensore ultrasuoni
+const int triggerPort = 9;
+const int echoPort = 10;
+const int led = 3;
+
+void setup() {
+
+pinMode(triggerPort, OUTPUT);
+pinMode(echoPort, INPUT);
+pinMode(led, OUTPUT);
+Serial.begin(9600);
+}
+
+void loop() {
+
+
+digitalWrite( triggerPort, LOW );
+//invia un impulso di 10microsec su trigger
+digitalWrite( triggerPort, HIGH );
+delayMicroseconds( 10 );
+digitalWrite( triggerPort, LOW );
+
+long durata = pulseIn( echoPort, HIGH );
+
+long distanza = 0.034 * durata / 2;
+
+Serial.print("distanza: ");
+
+//durata in millisecondi
+if( durata > 38000 ){
+Serial.println("Fuori portata ");
+}
+else{
+Serial.print(distanza);
+Serial.println(" cm");
+int fadeValue = map(durata, 0, 38000, 0, 255)
+analogWrite(led, fadeValue);
+}
+
+delay(1000);
+}