Onderlinge sensor met ultrasoon- en servo-besturing (automatische papieren mand)

Op facebook hebben we een cool project geplaatst:

https://www.facebook.com/AZDelivery.de/videos/421956858229574/

We laten u hier zien hoe u de elektronica of sensor recreëren.

 

Wat hebben we nodig:

Microcontroller, compatibel met Arduino UNO R3
Ultrasone sensor HC-SR04

Plug-in bruggen
Servomotor

 

Ultrasone sensor bij Arduino

 

Software voor de Arduino

Lange afstand1 = 0;
Lange afstand2 = 0;
Lange Tijd=0;
Int Nummer = 15;
Int Waarden[16];

Void Setup() {   #define Trigger 3                     Arduino Pin 3 naar HC-SR04 Trig   #define Echo 2                        Arduino Pin 2 naar HC-SR04 Echo   Seriële.Beginnen(115200);                 Seriële Baud-tarief   pinMode(LED_BUILTIN, Output);
}

Void Lus() {   Voor (Int I.=0; I. <= Nummer-1; I.++){     Tijd=0;     noInterrupts();                     Onderbrekingen uitschakelen     digitalWrite(Trigger, Lage);     delayMicroseconds(3);     digitalWrite(Trigger, Hoge);        Trigger Pulse 10 ons     delayMicroseconds(20);     digitalWrite(Trigger, Lage);     Tijd = pulseIn(Echo, Hoge);         Echotijd meten     Interrupts();                       Interrupts activeren     Waarden[I.] = Tijd;     vertraging (1);   }   afstand1 = 0;   Voor (Int I.=0; I. <= Nummer -1; I.++){     afstand1 = afstand1 + Waarden[I.];   }   afstand2 = afstand1 / Nummer;   Seriële.println(afstand2);   Als (afstand2 > 9550){     digitalWrite(LED_BUILTIN, Hoge);     Seriële.println("open");     Vertraging(3000);     digitalWrite(LED_BUILTIN, Lage);     Vertraging(1000);   }
}


 

Nu onze Arduino met de ultrasone sensor detecteert ten minste eenmaal als we naderen en toont dit met de ingebouwde LED.

In de volgende stap controleren we een servomotor om het afval te openen.

Nu breiden we onze bedrading uit met een servomotor.

 

 

en de software aan te passen:

#include <Servo.H>
Servo servo1;

Lange afstand1 = 0;
Lange afstand2 = 0;
Lange Tijd=0;
Int Nummer = 15;
Int Waarden[16];
Int Aan = 5;
Int Op = 95;

Void Setup() {   #define Trigger 3                     Arduino Pin 3 naar HC-SR04 Trig   #define Echo 2                        Arduino Pin 2 naar HC-SR04 Echo   Seriële.Beginnen(115200);                 Seriële Baud-tarief   pinMode(LED_BUILTIN, Output);   servo1.Koppelen(8);   servo1.Schrijven(Aan);
}

Void Lus() {   Voor (Int I.=0; I. <= Nummer-1; I.++){     Tijd=0;     noInterrupts();                     Onderbrekingen uitschakelen     digitalWrite(Trigger, Lage);     delayMicroseconds(3);     digitalWrite(Trigger, Hoge);        Trigger Pulse 10 ons     delayMicroseconds(20);     digitalWrite(Trigger, Lage);     Tijd = pulseIn(Echo, Hoge);         Echotijd meten     Interrupts();                       Interrupts activeren     Waarden[I.] = Tijd;     vertraging (1);   }   afstand1 = 0;   Voor (Int I.=0; I. <= Nummer -1; I.++){     afstand1 = afstand1 + Waarden[I.];   }   afstand2 = afstand1 / Nummer;   Seriële.println(afstand2);   Als (afstand2 > 9550){     digitalWrite(LED_BUILTIN, Hoge);     Seriële.println("open");     servo1.Schrijven(Op);     Vertraging(3000);     digitalWrite(LED_BUILTIN, Lage);     servo1.Schrijven(Aan);     Vertraging(1000);   }
}


U nu gebruik maken van de sensor en servo motor voor verschillende controles.
Zoals te zien is in de Facebook-video, kan een iris worden geopend.

Wij wensen u veel plezier met de nabijheidssensor en kijken uit naar uw doeleinden.
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

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi