Su facebook abbiamo pubblicato un progetto interessante:
https://www.facebook.com/AZDelivery.de/videos/421956858229574/
Vi mostreremo come è possibile ricreare l'elettronica o il sensore qui.
Di cosa abbiamo bisogno:
Microcontrollore compatibile con Arduino UNO R3
Sensore ad ultrasuoni HC-SR04
Ponti plug-in
Servomotore
Ultrasonic sensor presso Arduino
Software per l'Arduino
Lungo distanza1 = 0; Lungo distanza2 = 0; Lungo Tempo=0; Int Numero = 15; Int Valori[16]; Vuoto Installazione() { # define Grilletto 3 Da Arduino Pin 3 a HC-SR04 Trigono # define Eco 2 Arduino Pin 2 a HC-SR04 Echo Seriale.Iniziare(115200); Tariffa Di base seriale PinMode (Modalità pin)(LED_BUILTIN, Output); } Vuoto Ciclo() { Per (Int Ho.=0; Ho. <= Numero-1; Ho.++){ Tempo=0; noInterruzioni(); Disabilitazione degli interrupt digitalWrite (Scrittura digitale)(Grilletto, Basso); delayMicrosecondi(3); digitalWrite (Scrittura digitale)(Grilletto, alto); Trigger Pulse 10 noi delayMicrosecondi(20); digitalWrite (Scrittura digitale)(Grilletto, Basso); Tempo = PulseIn(Eco, alto); Misura tempo eco Interrompe(); Attivazione degli interrupt Valori[Ho.] = Tempo; ritardo (1); } distanza1 = 0; Per (Int Ho.=0; Ho. <= Numero -1; Ho.++){ distanza1 = distanza1 + Valori[Ho.]; } distanza2 = distanza1 / Numero; Seriale.println(distanza2); Se (distanza2 > 9550){ digitalWrite (Scrittura digitale)(LED_BUILTIN, alto); Seriale.println("aperto"); Ritardo(3000); digitalWrite (Scrittura digitale)(LED_BUILTIN, Basso); Ritardo(1000); } }
Ora il nostro Arduino con il sensore ad ultrasuoni rileva almeno una volta mentre ci avviciniamo e lo visualizza con il LED integrato.
Nel passo successivo, controlliamo un servomotore per aprire la spazzatura.
Ora stiamo estendendo il nostro cablaggio con un servomotore.
e regolare il software:
#include <Servo.H> Servo servo1; Lungo distanza1 = 0; Lungo distanza2 = 0; Lungo Tempo=0; Int Numero = 15; Int Valori[16]; Int A = 5; Int Attivato = 95; Vuoto Installazione() { # define Grilletto 3 Da Arduino Pin 3 a HC-SR04 Trigono # define Eco 2 Arduino Pin 2 a HC-SR04 Echo Seriale.Iniziare(115200); Tariffa Di base seriale PinMode (Modalità pin)(LED_BUILTIN, Output); servo1.allegare(8); servo1.Scrivere(A); } Vuoto Ciclo() { Per (Int Ho.=0; Ho. <= Numero-1; Ho.++){ Tempo=0; noInterruzioni(); Disabilitazione degli interrupt digitalWrite (Scrittura digitale)(Grilletto, Basso); delayMicrosecondi(3); digitalWrite (Scrittura digitale)(Grilletto, alto); Trigger Pulse 10 noi delayMicrosecondi(20); digitalWrite (Scrittura digitale)(Grilletto, Basso); Tempo = PulseIn(Eco, alto); Misura tempo eco Interrompe(); Attivazione degli interrupt Valori[Ho.] = Tempo; ritardo (1); } distanza1 = 0; Per (Int Ho.=0; Ho. <= Numero -1; Ho.++){ distanza1 = distanza1 + Valori[Ho.]; } distanza2 = distanza1 / Numero; Seriale.println(distanza2); Se (distanza2 > 9550){ digitalWrite (Scrittura digitale)(LED_BUILTIN, alto); Seriale.println("aperto"); servo1.Scrivere(Attivato); Ritardo(3000); digitalWrite (Scrittura digitale)(LED_BUILTIN, Basso); servo1.Scrivere(A); Ritardo(1000); } }
È ora possibile utilizzare il sensore e il motore servo per vari controlli.
Come si può vedere nel video di Facebook, un'iride potrebbe essere aperto.
Vi auguriamo un sacco di divertimento con il sensore di prossimità e non vediamo l'ora per i vostri scopi.
3 commenti
Hartmut Zipper
Habe ich in mein Rasenroborter am Schleifenempfänger eingebaut. Jetzt stop er vor Hindernissen bei 10 cm. Bei mir Aldi Easy Mover ist es Pin 6 am Schleifenempfänger. Bei High Stop zurück (Pip,Pip,Pip) zurück drehen und weiter mähen.
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(LED, HIGH); // zum Schalten mit Vorwiderstand 100 Ohm oder Testen
Serial.println(“open”);
delay(300);
Serial.println(“LED”);
digitalWrite(LED, LOW);
digitalWrite(LED_BUILTIN, LOW);
delay(5000);
Rudolf Reiber
Guten Tag,
bei mir tat der erste Sketch erst zuverlässig nach dem Einfügen von:
pinMode(echo, INPUT);
pinMode(trigger, OUTPUT);
in der SetUp-Routine.
T.Geffe
Hallo,
ein schoenes Projekt aber wo bekommt man den so einen Papierkorb zu kaufen?
Gruss Toralf