Inhaltsverzeichnis:
- Schritt 1: Dinge, die gemacht werden müssen
- Schritt 2: Konzepte verstehen
- Schritt 3: Benötigte Werkzeuge
- Schritt 4: Cocepts zum Codieren von AVR
- Schritt 5: Hardwareverbindungen:
- Schritt 6: Code
- Schritt 7: Video
Video: Ultraschallvermeidungsroboter mit Arduino - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
In diesem Tutorial zeige ich Ihnen, wie Sie Ihren eigenen Hindernisvermeidungsroboter bauen können! Wir werden das Arduino UNO Board und einen Ultraschallsensor verwenden. Erkennt der Roboter ein Objekt vor ihm, scannt er mit Hilfe eines kleinen Servomotors den Bereich links und rechts ab, um die beste Abbiegemöglichkeit zu finden. Es hat auch eine Benachrichtigungs-LED, einen Summer, der einen Ton abspielt, wenn ein Objekt erkannt wird, und eine Taste zum Ändern der Funktion des Roboters (angehalten/vorwärts bewegen).
Es ist ganz einfach, es zu machen!
Schritt 1: Dinge, die gemacht werden müssen
Für dieses Projekt benötigen Sie:
- Arduino UNO (bei Gearbest.com kaufen)
- Mini-Steckbrett (bei Gearbest.com kaufen)
- L298-Motortreibermodul (bei Gearbest.com kaufen)
- 2x Gleichstrommotoren mit Rädern HC-SR04 Ultraschallsensor (bei Gearbest.com kaufen)
- Mikro-Servomotor (bei Gearbest.com kaufen)
- Taste Rote LED220 Ohm Widerstand9V Batteriehalter (mit oder ohne Strombuchse)
- 8 Distanzstücke (männlich-weiblich),
- 8 Muttern und 8 Schrauben benötigen Sie auch eine große (Metall)
Büroklammer und eine Wulst, um das hintere Stützrad zu machen.
Für die Roboterbasis habe ich ein Acryllic Chasis von Aliexpress verwendet. Sie können auch ein Stück Holz oder Metall (oder zwei elektrische Platten) verwenden.
Die Kosten für das gesamte Projekt betragen etwa 20 $
Werkzeuge: Bohrmaschine Sekundenkleber Crew-Fahrer Heißkleber (optional) Leistung:
Wir verwenden eine 9V-Batterie, um unseren Roboter mit Strom zu versorgen, da er klein und billig ist, aber nicht sehr leistungsstark und nach etwa einer Stunde leer ist. Überlegen Sie, ob Sie einen wiederaufladbaren Akku (min. 6 V, max. 7 V) verwenden möchten, der leistungsstärker, aber auch teurer und größer als der 9-V-Akku ist
Schritt 2: Konzepte verstehen
Ziel ist es, den Roboter auf Hindernisse vor ihm aufmerksam zu machen, damit er die Richtung ändern und ihnen ausweichen kann. Im vorherigen Artikel haben wir den Roboter bewegt – jetzt geben wir ihm etwas Autonomie.
Ultraschallsensor
Der HC-SR04 ist ein Schaltkreis, der mithilfe von Ultraschallwellen eine Entfernung zu Objekten von bis zu 4 Metern messen kann. Es sendet einen Ping (wie ein U-Boot) und misst die Zeit (in Mikrosekunden) zwischen dem Senden und Empfangen von etwas zurück. Diese Zeit wird dann durch 2 geteilt, während sich die Welle hin und her bewegt. Und dann durch 29 dividieren, um eine Entfernung in Zentimetern (oder 74 für Zoll) zu erhalten, da der Schall 29,4 µs pro Zentimeter (340 m/s) zurücklegt. Der Sensor ist mit ~3 mm Toleranz sehr genau und lässt sich leicht in Arduino integrieren.
Schnittstelle des Ultraschallsensors mit dem AVR-Mikrocontroller
Jeder autonome Roboter sollte über eine Hindernisvermeidung und einen angebrachten Distanzmesssensor verfügen. Ein IR-Transceiver-Paar oder ein Graustufensensor können problemlos für die Hinderniserkennung im Bereich von 1 cm bis 10 cm arbeiten. IR-Entfernungsmesser (zB scharfe) können eine Entfernung zum nächsten Hindernis mit einer Reichweite von bis zu 100cm messen. IR-Sensoren werden jedoch durch Sonnenlicht und andere Lichtquellen beeinträchtigt. IR-Entfernungsmesser haben eine geringere Reichweite und sind auch teuer für das, was sie tun. Ultraschallsensoren (auch als Ultraschall-Näherungssensoren oder Sonar für die Geeks bekannt) erledigen diese Aufgaben zu einem vernünftigen Preis und mit außergewöhnlicher Genauigkeit. Der Bereich liegt zwischen 3 cm und 350 cm mit einer Genauigkeit von ~ 3 mm. Wenn Sie einen dieser Ultraschallsensoren in unseren Roboter einbinden, kann er sowohl als Hindernisvermeider als auch als Distanzmesssensor fungieren.
„Ultraschall“bezieht sich auf alles, was über den Frequenzen des hörbaren Schalls liegt und umfasst nominell alles über 20.000 Hz oder 20 kHz! Preisgünstige Ultraschallsensoren für die Robotik arbeiten im Allgemeinen in einem Bereich von 40 kHz bis 250 kHz, während diejenigen, die in medizinischen Geräten verwendet werden, bis zu 10 MHz reichen.
Schritt 3: Benötigte Werkzeuge
- Multimeter
- Steckbrett
- Spitzzange
- Abisolierzange
- Kabelschneider
- Klebepistole
MultimeterEin Multimeter ist eigentlich ein einfaches Gerät, das hauptsächlich verwendet wird, um Spannung und Widerstand zu messen und festzustellen, ob ein Stromkreis geschlossen ist. Ähnlich wie beim Debuggen von Computercode hilft Ihnen das Multimeter beim „Debuggen“Ihrer elektronischen Schaltungen.
Baumaterial
Ein leicht verfügbarer Vorrat an dünnem Holz und/oder Plexiglas zur Herstellung des mechanischen Rahmens ist sehr nützlich. Metalle wie Aluminium und Stahl sind oft auf diejenigen beschränkt, die Zugang zu einer Maschinenwerkstatt haben, obwohl dünnes Aluminium mit einer Schere geschnitten und von Hand gebogen werden kann. Mechanische Rahmen können sogar aus Haushaltsgegenständen wie Kunststoffbehältern gebaut werden.
Obwohl auch andere Materialien wie Kunststoffe (außer Plexiglas) oder exotischere Materialien wie Glasfaser und Kohlefaser möglich sind, werden sie in dieser Anleitung nicht berücksichtigt. Mehrere Hersteller haben festgestellt, dass es für die meisten Bastler nicht einfach ist, ihre eigenen mechanischen Teile herzustellen, und haben modulare mechanische Teile entwickelt. Führend in diesem Bereich ist Lynxmotion, das eine breite Palette von Roboterdesigns sowie die erforderlichen Teile für die Herstellung Ihrer eigenen kundenspezifischen Roboter anbietet.
Handwerkzeuge
Schraubendreher und Zangen verschiedener Typen und Größen (einschließlich Juwelier-Werkzeugset: kleine Schraubendreher, die üblicherweise in Dollar-Läden erhältlich sind) sind erforderlich. Wichtig ist auch ein Bohrer (vorzugsweise eine Bohrmaschine für gerade Löcher). Eine Handsäge zum Schneiden von Baumaterialien (oder eine Oberfräse) ist ebenfalls ein wichtiger Vorteil. Wenn das Budget es zulässt, ist eine kleine Tischbandsäge (200 USD) definitiv ein Werkzeug, das Sie in Betracht ziehen sollten.
Lötfreies Steckbrett
Mit einem lötfreien Steckbrett können Sie Ihr Layout optimieren und Komponenten problemlos anschließen. Zusammen mit einem lötfreien Steckbrett sollten Sie ein vorgeformtes Überbrückungskabel-Kit kaufen, das aus vorgeschnittenen und gebogenen Drähten besteht, die mit einem lötfreien Steckbrett verwendet werden sollen. Das macht Verbindungen sehr einfach.
Kleines Schraubendreher-Set
Diese kleinen Schraubendreher werden bei der Arbeit mit Elektronik benötigt. Zwinge sie jedoch nicht zu sehr – ihre Größe macht sie zerbrechlicher.
Normales Schraubendreher-Set
Alle Werkstätten benötigen ein Multitool oder ein Werkzeugset, das flache / Phillips- und andere Schraubendreherköpfe enthält.
Spitzzange
Ein Satz Spitzzangen ist unglaublich nützlich bei der Arbeit mit kleinen Komponenten und Teilen und ist eine sehr kostengünstige Ergänzung Ihres Werkzeugkastens. Diese unterscheiden sich von normalen Zangen dadurch, dass sie an einen Punkt kommen, der in kleine Bereiche gelangen kann.
Abisolierzangen/Schneider
Sie planen, beliebige Drähte zu durchtrennen, eine Abisolierzange erspart Ihnen viel Zeit und Mühe. Eine Abisolierzange entfernt bei sachgemäßer Anwendung nur eine Kabelisolierung und verursacht keine Knicke oder Beschädigungen der Leiter. Die andere Alternative zu einer Abisolierzange ist eine Schere, obwohl das Endergebnis unordentlich sein kann. Schere, Lineal, Kugelschreiber, Markerstift, Exacto-Messer (oder ein anderes Handschneidewerkzeug) Diese sind in jedem Büro unverzichtbar.
Schritt 4: Cocepts zum Codieren von AVR
Berechnung der Schallgeschwindigkeit relativ zu Ultraschallsensoren
Kleine Mathematik, aber keine Angst. Es ist einfacher als Sie denken.
Schallgeschwindigkeit in trockener Luft bei Raumtemperatur (~20°C) = 343 Meter/Sekunde
Damit die Schallwelle auf das nahe gelegene Objekt trifft und eine Hin- und Rückfahrt macht = 343/2 = 171,5 m/da die maximale Reichweite eines billigen Ultraschallsensors nicht mehr als 5 Meter beträgt (Hin- und Rückweg), wäre es sinnvoller, ändern Sie die Einheiten in Zentimeter und Mikrosekunden.
1 Meter = 100 Zentimeter1 Sekunde = 10^6 Mikrosekunden = (s / 171,5) x (m / 100 cm) x ((1x10^6)/s) = (1/171,5) x (1/100) x (1000000/ 1) = 58,30903790087464 us/cm = 58,31 us/cm (auf zwei Stellen runden, um die Berechnung zu erleichtern)Daher beträgt die Zeit, die ein Impuls benötigt, um zu einem Objekt zu wandern und 1 Zentimeter zurückzuprallen, 58,31 Mikrosekunden.
der kleine Hintergrund zu AVR-Taktzyklen
Um die AVR-Taktzyklen zu verstehen, braucht es ein ganz anderes Kapitel, aber wir werden kurz verstehen, wie es funktioniert, um unsere Berechnungen zu vereinfachen
Für unser Beispiel verwenden wir das AVR Draco Board mit einem 8-Bit AVR – Atmega328P Mikrocontroller. Der Einfachheit halber werden wir die Einstellungen eines Mikrocontrollers nicht optimieren. Keine Sicherungsbits berührt; Kein externer Kristall angebracht; Keine Kopfschmerzen. In der Werkseinstellung läuft es auf einem internen 8-MHz-Oszillator mit einem /8-Prescaler; Wenn Sie dies alles nicht verstehen, bedeutet dies einfach, dass der Mikrocontroller mit einem internen 1-MHz-RC-Oszillator läuft und jeder Taktzyklus 1 Mikrosekunde dauert.
1 2 1MHz = von 1000000 Zyklen pro Sekunde Daher 1s/1000000 = 1/1000000 = 1us
AVR-Uhren und Entfernungsumrechnung
Wir sind fast da! Sobald wir wissen, wie man AVR-Taktzyklen in die von Schallwellen zurückgelegte Entfernung umwandelt, ist die Implementierung der Logik in ein Programm einfach.
Wir wissen, dass die Geschwindigkeit des Ultraschalls in einer idealen Umgebung beträgt: 58,31 us/cm
Wir wissen, dass die Auflösung des AVR-Mikrocontrollers 1 us/Taktzyklus (CLK) beträgt.
Daher beträgt die vom Schall zurückgelegte Strecke pro Taktzyklus (CLK):
1 2 3 = (58,31 us/cm) x (1us/clk) = 58,31 Taktzyklen / cm oder = 1/58,31 cm/clk
Wenn die Anzahl der Taktzyklen bekannt ist, die der Schall benötigt, um sich fortzubewegen und zurückzuprallen, können wir die Entfernung leicht berechnen. Wenn der Sensor beispielsweise 1000 Taktzyklen braucht, um sich zu bewegen und zurückzuprallen, dann beträgt der Abstand von einem Sensor zum nächsten Objekt = 1000/58,31 = 17,15 cm (ca.)
Macht jetzt alles Sinn? Nein? Lies es nochmals
Wenn Ihnen die oben genannte Logik klar ist, werden wir sie in einem realen Szenario implementieren, indem wir einen kostengünstigen HC-SR04-Ultraschallsensor an unser AVR-Arduino-Board anschließen.
Schritt 5: Hardwareverbindungen:
Arduino Board macht es einfach, beliebige externe Sensoren anzuschließen und die Ergebnisse auch auf dem LCD anzuzeigen. Für die Ultraschall-Entfernungsmessung verwenden wir ein kostengünstiges HC-SR04-Modul. Das Modul hat 4 Pins, die an die Mikrocontrollerplatine angeschlossen werden können: VCC, TRIG, ECHO und GND.
Verbinden Sie den VCC-Pin mit 5V und den GND-Pin mit Masse auf der Arduino-Platine.
TRIG-Pin und ECHO-Pin können mit allen verfügbaren Pins auf der Platine verbunden werden. Das Senden von mindestens 10us „high“-Signal an den Trigger-Pin sendet acht 40-kHz-Schallwellen und zieht den Echo-Pin hoch. Wenn der Schall von einem nahegelegenen Objekt abprallt und zurückkehrt, wird er vom Empfangswandler erfasst und der Echostift wird auf „low“gezogen.
Andere Varianten von Ultraschall-Sensormodulen sind auch mit nur 3 Pins erhältlich. Das Funktionsprinzip ist immer noch das gleiche, aber die Funktionalität von Trigger- und Echo-Pins sind in einem einzigen Pin zusammengefasst.
Nach dem Anschließen können Trigger- und Echo-Pins per Software konfiguriert werden. Um dieses Beispiel einfach zu halten, verwenden wir in diesem Beispiel keine Interrupt-Pins (oder Input Capture Pin). Wenn wir keine bestimmten Interrupt-Pins verwenden, haben wir auch die Freiheit, das Modul mit allen verfügbaren Pins auf der Platine zu verbinden.
Schritt 6: Code
CodeDer folgende Code enthält nur eine „Ultraschall“-Erweiterung zur DC-Motorsteuerung mit einer H-Brücke aus dem vorherigen Artikel. Wenn der Roboter ein Hindernis vor sich erkennt, dreht er sich um (zufälliger Grad) und bewegt sich weiter vorwärts. Diese Funktionalität könnte leicht erweitert werden, um sich gleichzeitig zu drehen und Hindernisse zu erkennen – der Roboter würde sich also nicht zufällig drehen, sondern nur dann vorwärts fahren, wenn kein Objekt erkannt wird.
Für Code-Erläuterungen siehe Youtube-Video, das auf dem Kanal aufgeführt ist.
Schritt 7: Video
Sehen Sie sich das Video für den gesamten Prozess an.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E