Näherungssensor mit Ultraschall und Servo ansteuerung (Automatischer Papierkorb)

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.
Für arduinoProjekte für anfängerSensoren

3 Kommentare

Hartmut Zipper

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

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

T.Geffe

Hallo,
ein schoenes Projekt aber wo bekommt man den so einen Papierkorb zu kaufen?

Gruss Toralf

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert