Sensore di prossimità con ultrasuoni e servocomando (cestino automatico della carta straccia)

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.
Per arduinoProgetti per principiantiSensori

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

Post di blog consigliati

  1. Installa ESP32 ora dal gestore del consiglio di amministrazione
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - Programmazione ESP tramite WLAN