Roboter spielen eine wichtige Rolle bei der Automatisierung in allen Sektoren wie Bauwesen, Militär, Medizin, Fertigung usw. Nachdem wir einige grundlegende Roboter wie Linienfolgerroboter, computergesteuerte Roboter usw. hergestellt haben, haben wir diesen auf Beschleunigungsmessern basierenden gestengesteuerten Roboter mithilfe von entwickelt Arduino uno. In diesem Projekt haben wir den Roboter mit Handbewegungen angetrieben. Zu diesem Zweck haben wir einen Beschleunigungsmesser verwendet, der auf Beschleunigung arbeitet.
Erforderliche Komponenten
- Arduino UNO
- Gleichstrommotoren
- Beschleunigungsmesser
- HT12D
- HT12E
- RF-Paar
- Motortreiber L293D
- 9 Volt Batterie
- Batterieanschluss
- USB-Kabel
- Roboter Chasis
RF Paar:
Ein gestengesteuerter Roboter wird mit der Hand anstelle einer anderen Methode wie Tasten oder Joystick gesteuert. Hier muss man nur die Hand bewegen, um den Roboter zu steuern. In Ihrer Hand befindet sich ein Sendegerät, das HF-Sender und Beschleunigungsmesser enthält. Dadurch wird der Befehl an den Roboter übertragen, damit dieser die erforderliche Aufgabe ausführen kann, z. B. vorwärts, rückwärts, links drehen, rechts drehen und anhalten. Alle diese Aufgaben werden mit einer Handbewegung ausgeführt.
Hier ist die wichtigste Komponente der Beschleunigungsmesser. Der Beschleunigungsmesser ist ein 3-Achsen-Beschleunigungsmessgerät mit einer Reichweite von + -3 g. Dieses Gerät wird unter Verwendung eines Polysilicium-Oberflächensensors und einer Signalkonditionierungsschaltung hergestellt, um die Beschleunigung zu messen. Der Ausgang dieses Geräts ist analoger Natur und proportional zur Beschleunigung. Dieses Gerät misst die statische Erdbeschleunigung beim Kippen. Und ergibt ein Ergebnis in Form von Bewegung oder Vibration.
Gemäß dem Datenblatt der oberflächenmikrobearbeiteten Struktur aus adxl335- Polysilicium, die auf einem Siliziumwafer angeordnet ist. Polysiliciumfedern hängen die Struktur über der Oberfläche des Wafers auf und bieten einen Widerstand gegen Beschleunigungskräfte. Die Durchbiegung der Struktur wird unter Verwendung eines Differenzkondensators gemessen, der unabhängige feste Platten und Platten enthält, die an der sich bewegenden Masse angebracht sind. Die festen Platten werden von um 180 ° phasenverschobenen Rechteckwellen angetrieben. Die Beschleunigung lenkt die sich bewegende Masse ab und bringt den Differenzkondensator aus dem Gleichgewicht, was zu einem Sensorausgang führt, dessen Amplitude proportional zur Beschleunigung ist. Phasenempfindliche Demodulationstechniken werden dann verwendet, um die Größe und Richtung der Beschleunigung zu bestimmen.
Pin Beschreibung des Beschleunigungsmessers
- Die Vcc 5 Volt Versorgung sollte an diesem Pin angeschlossen werden.
- X-OUT Dieser Pin gibt einen Analogausgang in x-Richtung
- Y-OUT Dieser Pin gibt einen Analogausgang in y-Richtung
- Z-OUT Dieser Pin gibt einen Analogausgang in z-Richtung
- GND Ground
- ST Dieser Pin dient zum Einstellen der Empfindlichkeit des Sensors
Schaltplan und Erklärung
Der gestengesteuerte Roboter ist in zwei Abschnitte unterteilt:
- Senderteil
- Empfängerteil
Im Senderteil werden ein Beschleunigungsmesser und eine HF-Sendeeinheit verwendet. Da wir bereits besprochen haben, dass der Beschleunigungsmesser einen analogen Ausgang liefert, müssen wir diese analogen Daten hier in digitale umwandeln. Zu diesem Zweck haben wir anstelle eines ADC eine 4-Kanal-Komparatorschaltung verwendet. Durch Einstellen der Referenzspannung erhalten wir ein digitales Signal und legen dieses Signal dann an den HT12E-Codierer an, um Daten zu codieren oder in serielle Form umzuwandeln, und senden diese Daten dann unter Verwendung eines HF-Senders in die Umgebung.
Auf der Empfängerseite haben wir den HF-Empfänger zum Empfangen von Daten verwendet und dann auf den HT12D-Decoder angewendet. Dieser Decoder-IC wandelt empfangene serielle Daten in parallele um und liest sie dann unter Verwendung von Arduino. Entsprechend den empfangenen Daten fahren wir den Roboter mit zwei Gleichstrommotoren in Vorwärts-, Rückwärts-, Links-, Rechts- und Stopprichtung.
Arbeiten
Der gestengesteuerte Roboter bewegt sich entsprechend der Handbewegung, während wir den Sender in unsere Hand legen. Wenn wir die Hand nach vorne neigen, bewegt sich der Roboter vorwärts und bewegt sich weiter vorwärts, bis der nächste Befehl gegeben wird.
Wenn wir die Hand nach hinten kippen, ändert der Roboter seinen Zustand und bewegt sich rückwärts, bis ein anderer Befehl erteilt wird.
Wenn wir es in die linke Seite kippen, biegen Sie bis zum nächsten Befehl links ab.
Wenn wir die Hand in die rechte Seite kippen, drehte sich der Roboter nach rechts.
Und um den Roboter anzuhalten, halten wir die Hand stabil.
Schaltplan für Senderabschnitt
Schaltplan für Empfängerabschnitt
Die Schaltung für diesen handgestengesteuerten Roboter ist recht einfach. Wie in den obigen schematischen Diagrammen gezeigt, wird ein HF-Paar zur Kommunikation verwendet und mit Arduino verbunden. Der Motortreiber ist mit Arduino verbunden, um den Roboter zu betreiben. Der Eingangspin 2, 7, 10 und 15 des Motortreibers ist mit dem digitalen Arduino-Pin 6, 5, 4 bzw. 3 verbunden. Hier haben wir zwei Gleichstrommotoren verwendet, um den Roboter anzutreiben, wobei ein Motor am Ausgangspin des Motortreibers 3 und 6 und ein anderer Motor am 11 und 14 angeschlossen ist. Eine 9-Volt-Batterie wird auch verwendet, um den Motortreiber zum Antreiben von Motoren anzutreiben.
Programmerklärung
Im Programm haben wir zunächst Ausgangspins für Motoren definiert.
Und dann haben wir im Setup die Anweisungen zum Anheften gegeben.
Danach lesen wir die Eingabe mit der 'if-Anweisung' und führen eine relative Operation durch.
Es gibt insgesamt fünf Bedingungen für diesen gestengesteuerten Roboter, die unten angegeben sind:
Handbewegung |
Eingabe für Arduino von der Geste |
||||
Seite |
D3 |
D2 |
D1 |
D0 |
Richtung |
Stabil |
0 |
0 |
0 |
0 |
Halt |
Nach rechts kippen |
0 |
0 |
0 |
1 |
Biegen Sie rechts ab |
Neige nach links |
0 |
0 |
1 |
0 |
Biegen Sie links ab |
Nach hinten kippen |
1 |
0 |
0 |
0 |
Rückwärts |
Vorne kippen |
0 |
1 |
0 |
0 |
Nach vorne |
Wir haben das komplette Programm gemäß den obigen Tabellenbedingungen geschrieben. Unten finden Sie den vollständigen Code.