Home > Technologie > DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Advertisement

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

JAAR's Konzept ist nicht nur darum, einen Rover .... blind wie ich Ihnen sagen, und Narr herum ........ seine mehr als nur einen Roboter ........ Ich habe die meisten integriert Mein Lernen aus den letzten 6 Monaten zu diesem Projekt ......... ernsthaft spreche ich bin nur ein Anfänger versucht, einen anderen Anfänger etwas nützliches durch ein cooles Projekt zu lehren ....... Mein erstes Projekt mit Arduino war Ein Hindernis Avoiding Robot, aber dass Rover war ziemlich dumm in vielerlei Hinsicht, so beschloss ich, sein Konzept zu verbessern und versuchte, die gesamte Umgebung statt nur einige ausgewählte Teile, das ist, wie ich am Ende mit JAAR ... Ich überprüfte viele instructables aber sah nicht mein Konzept irgendwelche, wo so gedacht, dass meine erste instructable immer so Zuschauer plzz mir helfen zu verbessern

AIM: - Das Hauptmotiv dieser instructable ist es, ein neues Konzept aufzubauen und beginnen, es aus einigen einfachen und grundlegenden Experimente und schließlich Abschluss des Roboters zu tun.

Dieses Tutorial hat detaillierte Anweisungen über jedes kleine Element in JAAR, so Jungs und gals plzz werden geduldig coz seine langwierige .......!

Konzepte, die durch dieses Projekt gelehrt werden: -

1. Schalten Entprellung (Software)

2. Wie die Laufzeit eines Programms zu messen und nutzen es als Vorteil.

3. Näherungssensor-Steuerung (HC-SR04)

4. Schrittmotorsteuerung (28BYJ-48 - 5 V) mit einem Darlington - Transistor Array (ULN2003)

5. DC-Motorsteuerung mit einem Motortreiber (L293D)

6. Drahtlose Kommunikation zwischen zwei Atmegas (434 MHz billige RX und TX-Module)

7. Einen Atmega Standalone erstellen

8. Serielle Kommunikation zwischen zwei eigenständigen Atmegas

9. Synchronisieren von 3 Atmegas zum Ausführen des Roboters (Teilung und Regel)

10.Programmierung des Atmegas mit dem Arduino IDE und einem Arduino Entwicklungsboard (primäres Ziel). Ohne die alle oben genannten Begriffe sinnlos sind.

Anmerkung 1: - Dieses instructable nimmt an, dass der Leser sehr nominale Erfahrung mit der Arduino IDE hat

Anmerkung 2: - Zuschauer Vorschläge sind obligatorisch (Plzz kommentieren, was Sie über dieses Instructable denken)


Schritt 1: Switch Debouncing (Software)

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Zuerst müssen wir wissen, warum Entprellen eines Schalters erforderlich ist. Wir müssen also einen einfachen Test machen, wie man einen Switch nicht entprellen kann

Ziel 1: - auf der LED zu schalten , wenn die Taste gedrückt wird Schalter aus, wenn erneut gedrückt

Dinge erforderlich: -

  • 1X Druckknopf
  • 1XAny Widerstand über 1k Ohm (Widerstand erforderlich, um das elektrische Rauschen zu vermeiden)
  • 1XRed Led (für bessere visuelle)
  • 1XBreadBoard
  • 3XMale zum männlichen Überbrücker-Draht (allgemeines Draht sollte auch fein)
  • Arduino Uno oder was auch immer Sie zur Hand haben
  • Und natürlich eine Energiequelle für den Arduino

Das erste Bild zeigt, wie man es verbindet: -

1. Rot ---> 5V

2. Grün ---> Gnd

3. Weiß ---> Digital Pin 8 (Oder was auch immer Sie wünschen, nur daran denken, die Pin-Definition in der Skizze zu ändern)

4. LED + ---> Digital Pin 13 (ich würde vorschlagen, nicht mit einem anderen 220 Ohm-Widerstand)

5. LED- ---> Gnd (neben Pin 13)

Das zweite Bild hat die Steckbriefansicht ...... falls Sie alles auf Brotbrett wollen

Hinweis: - Instruktion über den Code ist schön in der Skizze kommentiert. Laden Sie einfach die erste Datei herunter und laden Sie sie auf die Arduino IDE ...... und plzz lesen Sie die Kommentare sorgfältig.

Inference 1: - Ich möchte es von den Machern zu hören. Versuchen Sie herauszufinden, warum dies geschieht, nicht google es plzz. Nach dem Herausfinden gehen für das nächste Ziel.

Ziel 2: - Nach dem Scheitern zu tun , was Sie wollen, machen Sie eine kleine Funktion namens "debounce ()" mit dem Problem zu befassen.

Voraussetzungen: -

  • Nichts benötigt nur die zweite Datei beigefügt.

Hinweis: - Nur die zweite Datei mit dem Arduino IDE laden und die Magie zu sehen und wieder die Kommentare sorgfältig zu lesen.

Inference 2: - Funktioniert genau , wie es sollte ich glaube.

Fazit: - Also, Sie haben gerade Ihren ersten entprellten Schalter ........ ok ok ich weiß , was in Ihrem Kopf vorgeht ...... Sie denken , warum ich über Sie müssen wissen , Entprellung ein zu bauen Roboter ..... nur geduldig sein und auf den nächsten Schritt.

Experimentieren Sie sich: - Überprüfen Sie heraus , was Elektrische Geräusche sind Google es oder tun , was Sie wollen, wiederholen Sie diesen Schritt wieder und dieses Mal mit aus dem Widerstand verwenden, halten Sie mich auf dem Laufenden , was Sie gesehen haben.

Halten Sie mich für jeden Zweifel, Fragen und Anregungen

Schritt 2: Distanzsensor - HC-SR04 {verwendete Bibliothek - NewPing}

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Die Bibliothek in diesem Ziel ist bekannt als NewPing von Tim Eckel nur, um den Code viel einfacher zu verstehen, für die Anfänger .......... Für diejenigen, die mehr wissen wollen, wie die Funktion funktioniert .. ... Ich habe auch eine Skizze mit Details

Für weitere Details über die verschiedenen Funktionen und Methoden der NewPing-Bibliothek plzz vist: -

http://playground.arduino.cc/Code/NewPing#Methods

Ziel 1: - Um die NewPing Bibliothek in die IDE hinzufügen

Hinweis: - Meiden Sie dieses Ziel , wenn Sie bereits wissen , wie es zu tun.

Schritt 1: - Laden Sie NewPing.zip herunter

Schritt 2: - Öffnen Sie Arduino IDE

Schritt 3: - Skizzenmenü> Bibliothek importieren> Bibliothek hinzufügen

Schritt 4: - Suchen Sie die NewPing_v1.5.zip

Schritt 5: - Klicken Sie auf Öffnen

Schritt 6: - Überprüfen Sie Datei> Beispiele> NewPing finden .... um zu bestätigen

Ziel 2: - Einige Funktionen der Bibliothek zu kennen und ein wenig mit dem Sensor zu spielen

Voraussetzungen: -

  • 1XArduino UNO R3 (oder was auch immer Sie wünschen) angeschlossen an ein USB-Kabel, zum mit dem Computer zu kommunizieren.
  • 1XHC-SR04.

Schritt 1: - Bringen Sie den HC-SR04 , wie im Bild gezeigt

Gnd ---> Gnd

Echo ---> Digital Pin 13

Trig ---> Digitaler Anschluss 12

Vcc ---> Digital Pin 11

Schritt 2 :-

Option 1: - Kopieren Sie den Code aus HC_SR04 .txt Laden Sie es [zuerst verstehen, dann laden]

Option 2: - Öffnen Sie die IDE, gehen Sie zu Datei> Beispiele> NewPing> NewPingExample. Dann Pin 11 als Power Pin deklarieren und dann auf setup () auf HIGH setzen und die Definition 'echo' und 'trig' ändern

[Erst verstehen, dann hochladen]

Hinweis: - Entscheiden Sie sich für Option 2, es ist besser , ich denke, ich erwähnte es im vorherigen Schritt und ich bin es auch jetzt tun

Lesen Sie die Kommentare sorgfältig, sie beschreiben alles [Do diese für jede Skizze]

Schritt 3: - Öffnen Sie die Serial Monitor Strg + Shift + M. Spielen Sie mit Ihrer Hand für einige Zeit

Hinweis: - wenn der Abstand> = eingestellte maximale Abstand ....... dann der Ping () Funktion gibt Null

Vorschlag 1: - Plz lesen Sie die HCSR04.pdf-Datei und den Link oben erwähnt für ein besseres Verständnis.

Vorschlag 2: - Check out 'ohne_library_HCSR04.txt' Datei zu wissen, wie es auf Ihre Art und Weise zu tun, ohne die Bibliothek und das Speichern von Programmspeicher.

Schritt 3: RF - RX und TX Module {Bibliothek verwendet - VirtualWire}

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Jetzt wird es ein wenig kompliziert ....... das Hauptziel ist es, drahtlose Daten aus zwei HC-SR04 in ein anderes Arduino senden, die wiederum die Entfernungen in den seriellen Monitor über USB ...... .Die RF_TX_test.txt scheinen ein wenig verwirrend, aber gehen durch die Kommentare sehr gründlich ........ Die neuen und verwirrenden Zeilen werden in einer Weise so einfach wie möglich erklärt ....... plzz halten Glauben bewegen Auf den nächsten Schritt würden Sie nicht glauben, was kommt.

Laden Sie die VirtualWire .zip - Datei und fügen Sie sie in die Bibliothek

Plzz zuerst die Datei VirtualWire.pdf lesen und dann fortfahren.

Sehen Sie sich diese instructable für eine bessere Wahrnehmung über diese billige RF - RX und TX - Module

Ziel 1: - zu verdrahten das TX - Modul und die HC-SR04 mit dem Arduino und Programm bis es drahtlos Daten zu senden

Dinge erforderlich: -

  • 2 x HC-SR04
  • 1 X Arduino [Wenn 2 Arduino Boards nicht verfügbar sind, würde ich zuerst vorschlagen, dass sie den StandAlone Atmega Step zuerst überprüfen]. Sie sollten definitiv ein anderes Atmega dann haben.
  • 1 X Rote LED
  • 1 X BreadBoard [Leute mit 1 Brotbrett plzz passen irgendwie Sie benötigen zwei]
  • 1 X RF - RX und TX-Modul [Ich habe die Red, gibt es viele Modelle zur Verfügung, fühlen Sie sich frei zu wählen]
  • 1 X 30cm Draht [die Helix-Effekt in das Bild ist nicht notwendig, nur machte es den Draht kurz in der Länge]
  • 9v Batterie und Snap mit DC-Buchse und einem Schiebeschalter [Zur Stromversorgung der TX-Arduino]
  • Jumperdrähte [so viele erforderlich]

Vorgehensweise: -

  1. Schauen Sie sich das erste Bild an und verdrahten Sie das TX-Modul mit dem Arduino
  2. Schauen Sie sich das zweite Bild an und befestigen Sie das 2 HC-SR04 wie gezeigt
  3. Gehen Sie durch RF_TX_test, und zuerst verstehen, lesen Sie die Kommentare und Anweisungen sorgfältig
  4. Laden Sie die RF_TX_test Datei angehängt. Nach dem Hochladen sehen Sie, dass die LED sehr schnell blinkt
  5. Trennen Sie es vom Computer. Schalten Sie es mit der Batterie ein
  6. Gehen Sie zu Ziel 2.

Ziel 2: - zu verdrahten das RX - Modul mit dem Arduino und die empfangenen Abstände zum Serial Monitor angezeigt werden

Dinge erforderlich: -

  • 1 X Arduino [Wenn 2 Arduino Boards nicht verfügbar sind, würde ich zuerst vorschlagen, dass sie den StandAlone Atmega Step zuerst überprüfen]. Sie sollten definitiv ein anderes Atmega dann haben.
  • 1 X Rote LED
  • 1 X BreadBoard
  • 1 X 30cm Draht [die Helix-Effekt in das Bild ist nicht notwendig, nur machte es den Draht kurz in der Länge]
  • Jumperdrähte [so viele erforderlich]
  • Einige kleine Drähte (optional) [Nur um die Verdrahtung ordentlich zu machen]

Vorgehensweise: -

  1. Schauen Sie sich das erste Bild an und verdrahten Sie das RX-Modul mit dem Arduino.
  2. Ihre Verdrahtung sollte etwas wie das letzte Bild aussehen.
  3. Gehen Sie durch RF_RX_test, und zuerst verstehen, lesen Sie die Kommentare und die Anweisungen sorgfältig.
  4. Laden Sie die RF_RX_test Datei angehängt. Nach dem Hochladen sehen Sie die LED nicht blinkt coz wahrscheinlich ist das TX Arduino ausgeschaltet.
  5. Schalten Sie das TX Arduino ein und nach dem Blinken der LED.
  6. Setzen Sie das RX Arduino einmal zurück. Dann blinkt die RX-LED nach einer Sekunde
  7. Strg + Shift + M, um den seriellen Monitor zu öffnen
  8. Schauen Sie sich die readings.Play mit den Händen ein wenig und überprüfen Sie die Änderung der Daten.

Inference: - So bekam man sowohl drahtlose als auch eine serielle Datenkommunikation. Scheint, wie wir gehen irgendwo interessant jetzt glaube ich. Nur warten und beobachten.

Vorschlag: - Verwenden Sie es nicht zu schnell , und beide Patienten und neugierig sein, nur nehmen Sie time.This ist kein Tag Projekt.

Schritt 4: Schrittmotor (28BYJ-48) Steuerung [AccelStepper]

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Die 28BYJ-48 ist ein 5v Stepper, der am häufigsten verwendete Stepper für Arduino, verwirrt, um die Push Button Bild wieder zu sehen, sagte ya wir etwas Interessantes mit ihm jetzt tun. Viel mehr zu erkunden, nur geduldig sein

Überprüfen Sie heraus diese instructable große Arbeit getan von Mohannad Rawashdeh [dieses war das erste instructable, das ich versuchte, als ich zuerst mit 28BYJ-48 begann)

Aber meine eine ist ein bisschen einfacher, glaube ich, coz ich bin mit einer Bibliothek namens AccelStepper

Erster Download AccelStepper.zip und fügen Sie ihn in die Bibliothek

Dann gehen Sie durch die docs Ordner und lesen Sie die classAccelStepper-Mitglieder. Html-Datei, würde es helfen, das Verständnis der Skizze

Ziel 1: - Um einen Schrittmotor im Uhrzeigersinn drehen und gegen den Uhrzeigersinn eine Darlington - Transistor - Array (ULN2003) unter Verwendung von

Dinge erforderlich: -

  • 1 X Arduino-Platine an den Computer angeschlossen
  • 1 X BreadBoard
  • 1 X Schrittmotor (28BYJ-48)
  • 1 X L7805CV (Oder jeder andere 5 V Spannungsregler sollte funktionieren) (Das DataSheet kann helfen)
  • 1 X ULN2003 Transistor-Reihen-IC
  • 1 x 100 uF Elektrolytkondensatoren
  • 1 x 10 uF Elektrolytkondensatoren
  • 1 X Kühlkörper (wahlweise freigestellt)
  • Jumperdrähte (so viele erforderlich)
  • 9V - 12V externe Stromquelle

Vorgehensweise: -

  1. Schließen Sie den Schrittmotor an ULN2003 an (siehe Abbildung 1)
  2. Verbinden Sie die Pinbelegungen von ULN2003 mit dem Arduino (siehe Abbildung 1)
  3. Überprüfen Sie das dritte Bild und verbinden Sie die Entkopplungs-Kondensatoren mit dem Spannungsregler (i dont wirklich wissen viel über die Entkopplung Kondensatoren plzz fühlen sich frei zu erklären, wenn ich falsch bin).
  4. Verbinden Sie den (5V) Ausgangsspannungsanschluss und den GND mit dem Transistor-Array
  5. Es sollte eine gemeinsame Grundlage von der ULN2003 zum Arduino auch. Wie in der 1.
  6. Schließen Sie die Stromquelle an
  7. Verstehen und Laden der Sketch "AccelStepper_test .txt"

Sie sollten sehen , dass der Motor einmal dreht sich im Uhrzeigersinn und dann einmal gegen den Uhrzeigersinn und wiederholt sich .

Ziel 2: - Um die Drehung im Uhrzeigersinn mit einem Druckknopf steuern

Voraussetzungen: -

  • Alles oben erwähnt.
  • 1 X Drucktastenschalter.
  • 1 X beliebiger Widerstand größer als 1 k Ohm

Vorgehensweise: -

  1. Genau das tun, was in Ziel 1 gesagt wurde
  2. Verbinden Sie den Switch mit dem Arduino, so wie es in Schritt 1 gemacht wurde. Nur diesmal geht der weiße Jumper zum Digital Pin 7
  3. Verstehen und Laden Sie die Skizze "button_controlled_stepper.txt"
  4. Drücken Sie den Schalter, um den Effekt zu sehen.

Ihre letzte Arbeit sollte etwas wie das 4. Bild aussehen, glaube ich. Ignorieren Sie den Pfeil und die Plattform über den Schrittmotor für jetzt, aber Sie werden es später benötigen, während Sie den Roboter.

Schauen Sie sich das Video, wenn Sie wollen.

Hinweis: - Der Stepper wird nur 10 - mal drehen, wenn Sie es drehen möchten, einfach die Reset - Taste des Arduino drücken.

Vorschlag: - Lesen Sie die Dokumentation des AccelStepper Bibliothek. Und wieder lesen Sie die Kommentare langsam aber stetig

Mehr Schritte, die Sie gehen Interessanter wird es, nicht wahr?

Schritt 5: Gleichstrom-Getriebemotorregelung (L293D)

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Dieses Tutorial ist die einfachste und meistens wichtig, das ist die Sache, die den Roboter ein Rover machen wird

Dieses Tutorial wird sehr einfach zu folgen und nicht so kompliziert Code

Ziel: - zu prüfen, ob zwei DC- Motor arbeitet , wie wir es mit einem Motortreiber wollen

Dinge erforderlich: -

  • 2 X Geared DC BO Motor (Offset oder jeder andere DC-Motor funktioniert gut)
  • 1 X L293D Motor-Treiber-Modul (Kann es auch Stand Alone).
  • 1 X Brot-Brett
  • Jumperdrähte (so viele erforderlich)
  • 1 X Arduino Dev Board (UNO oder was auch immer)
  • 1 X L7805 5V Spannungsregler (aus vorherigem Tutorial)
  • 1 X 10uf Elektrolytkondensator (aus vorherigem Tutorial)
  • 1 X 100uF Elektrolytkondensator (aus vorherigem Tutorial)
  • 1 x 100nF Keramikscheiben-Kondensator (optional)
  • 1 X 100uF Elektrolytkondensator (optional)
  • 1 X 9 - 12 V Batterie

Vorgehensweise: -

  1. Stellen Sie den Spannungsregler mit den Entkopplungskappen wie das vorherige Tutorial ein.
  2. Genau wie in der schematischen für L293D verbinden die vier Anschlüsse des Gleichstrommotors an den Fahrer Hinweis: - MA - Motor A ........... MB - Motor B wird die endgültige Ausgabe Ergebnis völlig davon abhängen , wie Haben Sie den Motor an den Treiber angeschlossen.
  3. Wenn Sie kein Treibermodul haben, dann verbinden Sie zwei Kappen (100nF und 100uF) auf der Brotplatte wie in den Schaltplänen gezeigt
  4. Die oberen Pin - outs, um sie alle zu dem Arduino geht mit Ausnahme der V +, ist es nur für jede alternative Energiequelle INP-A1, INP-A2, INP-B2, INP-B1 geht Pin 2,3,4,5 zu Arduino
  5. Verbinden Sie die Vin wie im Bild gezeigt, die gepunktete Linie unterteilt der Treiber bedeutet tatsächlich, dass der Draht unter dem Motor Driver ist, verwenden Sie Ihre Analyse-Fähigkeiten und machen alle die Verbindung richtig Hinweis: - Falsche Verbindung kann dauerhaft Schäden an Ihrem Motor Driver (Know it aus Erfahrung)
  6. Schließen Sie die untere V + und V- an die Batterie an
  7. Verstehen Sie und laden Sie das Programm zum Atmega.
  8. Plzz nicht verwirrt werden, um unerwartete Ergebnisse zu sehen, es ist nur wegen Ihnen Motoranschluss
  9. Spielen Sie mit dem Code herum, ändern Sie die Verzögerung () s, fügen Sie neue Funktion hinzu und machen Sie einige Experimente
  10. Ändern Sie das Muster der Eingangsimpulse so, dass es Ihnen entspricht Motoranschluss

Fazit: -. Können Sie einen Hinweis darüber, wie der Roboter geht zu arbeiten, werde ich klar zu definieren , was sein jetzt tun nur darauf warten Halten Sie mich mit Zweifel und Vorschläge gepostet.

Schritt 6: Das Gehirn steht allein?

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Die Atmega ist buchstäblich das Gehirn des Arduino, und auch es kann allein stehen, ohne die Arduino dev Bord, Lets sehen, wie z, dass möglich

Ziel 1: - Um die Atmega 328 Arbeiten auf einem Brett Brot machen

Voraussetzungen: -

  • 1 X Arduino UNO (die SMD Versionen von Arduino werden nicht funktionieren)
  • 1 X Brot-Brett
  • 1 X 150 -250 Ohm Widerstand (ich verwendet 220 Ohm)
  • 1 X Rote LED
  • 1 X 16 MHz Kristalloszillator
  • 2 x 22pF Keramische Scheibenkondensatoren
  • Einige kleine Drähte oder Jumperdrähte [So viele erforderlich]
  • IC Extractor oder ein Screw Driver, wie auf den Bildern gezeigt

Vorgehensweise: -

  1. Verbinden Sie den Arduino mit dem Computer
  2. Öffnen Sie die IDE
  3. Gehen Sie zu Datei> Beispiele> Grundlagen> Klicken Sie auf Blinken
  4. Laden Sie das Programm auf den Microcontroller (Atmega 328 (DIP))
  5. Trennen Sie das Arduino
  6. Extrahieren Sie die Atmega aus dem Brett sorgfältig entweder mit einem Schraubendreher oder ein IC Extractor (seine viel einfacher zu tun, mit einem Schraubendreher aber viel sicherer mit einem Extractor zu tun). Achten Sie darauf, dass die Stifte sich biegen können.
  7. Fixieren Sie es in einem Bread Board, wie in Abbildung 2 gezeigt.
  8. Folgen Sie den Schaltplänen (Bild 1) und schließen Sie den Kristall und die Kondensatoren an und führen Sie die Verbindungen gnd und Vin sorgfältig mit einigen kleinen Drähten aus
  9. Befestigen Sie die LED und den Widerstand seriell an den Digi Pin 13 und erden Sie die Kathode
  10. Nehmen Sie die 5v und Gnd Feed aus dem Blank Arduino Board an die Macht der Atmega Mikrocontroller. Verbinden Sie das Arduino-Board mit dem Computer. Schauen Sie sich die 3. Bild.

Hinweis: - Das Arduino - Board kann immer noch füttern 5V, 3,3V, Gnd und Vin, auch wenn der Atmega abwesend ist . Die Platine darf nicht über 5 V betrieben werden, wodurch der Micro Controller permanent beschädigt werden kann

Fazit: - Die LED sollte blinken , da sie während des Development Board haben sollte. Hurra! Das Gehirn steht allein

Vorschlag 1: - Für diejenigen , die nicht 28 - Pin - DIP haben ATmegas sie wahrscheinlich einige ATmegas kaufen sollten (3 X Atmega 8A PU um genau zu sein, sie kommen für rund $ 1.5 / Stück) Sie werden sie für den Rover später brauchen.

Vorschlag 2: - Für diejenigen , die den Mikrocontroller mit einem anderen Arduino , während seine eigenständige lesen Sie in diesem programmieren möchten Link , seine ganz genial.

Ich hoffe, Sie alle mochten so weit, wenn jemand mit allem enttäuscht ist plzz fühlen sich frei zu kommentieren und zur Verbesserung der Tutorial. Noch einmal, um Zweifel klar ist meine erste Priorität, so halten mich auf dem Laufenden.

Schritt 7: Serielle Kommunikation zwischen zwei Standalone-Atmega-Mikrocontrollern

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Sie haben Serial Communication mit dem Computer viele Male in den vorherigen Schritten. Aber Mikrocontroller sind auch kleine Computer in der Tat. So haben Sie sich jemals fragen, wie die serielle Kommunikation zwischen zwei Mikrocontroller haben. Das ist, was dieses Tutorial geht.

Dies wird eine der einfachsten Tutorials in diesem instructable, wenn Sie die Schritte unterhalb aufrichtig getan haben:

Schritt 1: Debugging wechseln (Software)

Schritt 6: Das Gehirn steht allein?

Ziel: -Um die serielle Kommunikation zwischen zwei Atmega 328 Mikrocontroller haben

Voraussetzungen: -

  • 2 X Atmega 328 PU-Mikrocontroller
  • 2 X Arduino UNO (Ein Board wird auch tun, der Bootloader sollte installiert sein)
  • 1 X Brot-Brett
  • 1 X ROTE LED
  • 1 X Drucktastenschalter
  • 1 X 1k Ohm oder größer Widerstand
  • 1 X 150 - 250 Ohm Widerstand (ich verwendet 220 Ohm)
  • 4 x 22pF Keramikscheibe Kondensatoren
  • 2 X 16 MHz Quarzoszillator
  • Einige kleine Drähte und Jumperdrähte (so viele erforderlich)

Vorgehensweise: -

  1. Stecker im Arduino.
  2. Analysiere den Code und lade die Skizze "TX_Atmega .txt" hoch.
  3. Trennen Sie den Atmega aus und ziehen Sie ihn heraus. Fixieren Sie den Mikrocontroller an der linken Seite der Brotplatine wie in Abbildung 1 gezeigt, und dann unabhängig wie im vorherigen Schritt (ohne LED und Widerstand)
  4. Fix ein anderes Atmega zum Arduino UNO.
  5. Verbinden Sie den Arduino mit dem Computer.
  6. Analysiere den Code und lade die Skizze "RX_Atmega .txt" hoch.
  7. Trennen Sie den Atmega aus und ziehen Sie ihn heraus. Fixieren Sie den Mikrocontroller an der rechten Seite der Brotplatine wie in Abbildung 1 gezeigt, dann unabhängig wie in Schritt 6. Nur, dass diesmal der Led Pin Digi Pin 9 zugeordnet ist
  8. Für den linken Mikrocontroller den Schalter und den 1k Ohm Widerstand anschließen, wie es in SCHRITT 1 direkt neben dem Mikrocontroller gezeigt wurde.
  9. Schauen Sie sich die Schaltpläne an und verbinden Sie den TX-Pin in der linken Atmega mit dem RX-Pin im RIGHT Atmega und schalten Sie den Atmegas wie in Schritt 6 aus.
  10. Sehen Sie, was passiert, wenn Sie den Taster drücken.

Hinweis: - Wenn der Arduino Bootloader im Mikrocontroller nicht installiert ist , würde ich sie suggets zu besuchen ArduinoISP Seite

Fazit: - Die Einfache Konzepte mit diesem Schritt endet, im nächsten Schritt wird beschrieben , i vollständig über das Konzept der JAAR und Sie werden wissen , warum all diese Übungen so wichtig sind.

Schritt 8: JAAR - gerade ein anderer autonomer Roboter (das Konzept)

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Getting Straight auf den Punkt

Primäre Dinge erforderlich: -

  • 1 x Chassis mit zwei Gleichstrommotoren und Rad befestigt (Abbildung 1)
  • 2 X Atmegas Mikrocontroller
  • 1 X Schrittmotor (28BYJ-48 5V) mit einer Plattform (Abbildung 2)
  • 1 X RF-RX und TX-Modul (Fig. 3)
  • 1 X Arduino Development Board mit einem Atmega 328 pu Mikrocontroller (Abbildung 3)
  • 2 x HC-SR04 (Fig. 3)
  • 1 X ULN 2003

Wie alles funktioniert: -

  1. Schauen Sie sich das 3. Bild an. Dies ist der Senderbereich
  2. Die Transmitter-Sektion befindet sich auf der Stepper-Motor-Plattform.
  3. Jetzt können Sie eine Vorstellung über das Konzept zu bekommen, yahh Sie erraten rechts die gesamte Plattform wird mit dem Schrittmotor drehen
  4. Die rotierende Transmitterplattform sendet drahtlose Distanzdaten sowohl des HC-SR04 alle 5.625 Grad bewegt aus der ursprünglichen Position, die genau 64 Schritte für den Schrittmotor ist
  5. Dieser Schritt geht 4096 Schritte für 1 vollständige Drehung. Alle 64 Schritte wird der Abstandssensor gepinnt (getriggert) und die Distanzdaten werden drahtlos zu einem anderen Atmega gesendet, das auf dem Bread Board fixiert ist
  6. Es werden also 4096/64 Distanzdaten pro HCsr04, dh 128 Distanzdaten insgesamt für 2 HCSR04 gesendet
  7. Diese 128 übertragenen Daten werden verarbeitet und eine SONAR-Karte der Hindernisse innerhalb von 200 cm erstellt und nach jeder Umdrehung aktualisiert.
  8. Durch die Verarbeitung der Karte reagiert der DC MOTOR auf die Hindernisse

Wo liegt das Problem: -

1. Sound ist selbst das Problem, es wird absorbiert, reflektiert und braucht eine angemessene Menge an Fläche, um tatsächlich erkennen jedes Hindernis

2. Wenn Sie den Roboter ziehen, während er sich dreht, wird der Schrittmotor aus seiner ursprünglichen Position wieder verlegt, während der Roboter die verlegte Position als Startposition betrachtet.

Lösung: -

1. Dieser Schritt kann nicht für jetzt geändert werden, aber ich werde sicherlich später tun, in einem anderen Instructable

2. Sehen Sie sich das letzte Bild an, um seine Lösung zu sehen. Die Idee ist ganz einfach, ein Mensch braucht, um es anzupassen.

Sehen Sie, wie interessant es jetzt geworden ist, haben wir einen langen Weg vom Entprellen eines Schalters gekommen. Aber sehen Sie seine nur ein weiteres Hindernis zu vermeiden Roboter, kommt nur mit einem anderen Konzept.

Für alle Fragen oder Anregungen plzz fühlen Sie sich frei zu kommentieren

Schritt 9: Verdrahtung von JAAR - Implementieren Ihrer Verstehen

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Jetzt seine Zeit, etwas Interessantes zu tun; Mit allem, was Sie gerade gelernt haben in diesem instructable. Ich hoffe, es war nicht viel Spaß bis jetzt, aber nur halten Sie Ihre Gedanken direkt dort, der eigentliche Spaß ist gerade dabei zu beginnen.

Achtung: - Die meisten der Ziele und nach diesem Schritt nur die Handelnden ...... sehr wenig Hilfe von meiner Seite kaufen getan werden

Ziel 1: - das Chassis zu bauen.

Voraussetzungen: -

  • Nur Sie Phantasie, würde ich nicht empfehlen, jede Art von Kit oder bestimmte Teile, tun, was Sie wollen ....... Leihen, Handel, suchen Sie nach nützlichen Fetzen ........ Ich werde das Chassis Gebäude völlig verlassen wie du willst.

Was ich getan habe :-

Mein Bruder hatte ein Zephyr Mechanix, es hatte einige zufällige Metallbits, Streifen und Ebenen mit Muttern und Bolzen, es war ihm nichts wert, so dass ich es geliehen und machte das Chassis so subtil wie möglich.

Ziel 2: - die 2 X DC - Motor zu reparieren und Rad

Voraussetzungen: -

  • 2 X BO - Offset DC Motor mit Rädern [Jeder Motor weniger als 200 U / min sollte gut funktionieren]
  • 1 X L293D Motor Fahrermodul [wenn Sie nicht ein Modul haben, versuchen Sie, eine sehen meine schematics]
  • 2 XU - Motorschellen
  • 2 X Brotbrett (wenn möglich, nehmen Sie die beiden Vcc- und GNT-Linien von ihnen)
  • Einige Muttern und Schrauben, wenn erforderlich
  • 1 X Laufrolle
  • 1 x doppelseitiges Schaumband
  • Und natürlich Ihr Intellekt

Vorgehensweise: -

  1. Befestigen Sie den Motor an der gewünschten Position.
  2. Befestigen Sie die U-Klemme, um den Motor zu positionieren.
  3. Schließen Sie den Motor an den Motortreiber L293d an.
  4. Halten Sie die beiden Steckbretter so ordentlich und gleichmäßig möglich, das Chassis mit dem Tape
  5. Befestigen oder kleben Sie das Rollenrad an Ihre bevorzugte Position.

Hinweis: - Denken Sie daran , einen stabilen Schwerpunkt zu haben.

Ziel 3: - Verdrahtung Alles Up

Voraussetzungen: -

  • 2 x 5V Spannungsregler (L7805)
  • 3 X Atmega 328 [Oder was auch immer 28-polige AVR haben Sie zur Hand]
  • 2 X 16MHz Kristalloszillator
  • 4 X 22pf Keramische Kondensatoren
  • 2 x 10 uF Elektrolytkondensatoren
  • 2 x 1 uF Elektrolytkondensatoren
  • 1 X ULN 2003 Transistorreihe
  • 1 X 220 Ohm Widerstand
  • 1 X Rote LED
  • 2 X 1k Ohm Widerstand [Irgendetwas mehr als 1 k sollte einfach gut]
  • 1 X HF - RX und TX Modul
  • 1 X Schrittmotor mit einer Plattform darauf.
  • 1 x doppelseitiges Schaumstoffband
  • 2 X Druckknopf Swicth
  • Viele kleine Drähte
  • Einige Steckbrücken

Vorgehensweise: -

1. Erinnere dich an alles, was du in all den letzten Schritten gelernt hast.

2. Schauen Sie sich das erste Bild gründlich an, um das Konzept von JAAR zu verstehen, dann werden alle Verkabelungen Stücke von einem Kuchen sein. (Coz gibt es nicht nur ein einziges Stück).

3. Gehen Sie zu den Schritten zurück, die Sie vergessen haben oder sich erinnern müssen, es gibt nichts Unbekanntes in dieser Schaltung, wenn Sie aufrichtig jedem SCHRITT dieses instructable gefolgt haben.

3, Es gibt Mähnenbilder, die mit Umbauten hochgeladen werden, die alle Verbindungen heraus darstellen, überprüfen sie heraus für jede mögliche Unterstützung.

4. Überprüfen Sie jede Verdrahtung mindestens 10 mal, coz ein einziges defektes Kabel könnte Ihr Atmega (sprechende Form Erfahrung) gefährden. Dieser Schritt ist der wichtigste von allen

Inference: - Ratet mal , was diese instructable seiner Ziellinie fast gekommen ist, ist alles fertig .... und gut zu gehen für einige ernsthafte Codierung mit dem nächsten Schritt weitergehen.

Schritt 10: Integration der Skizzen - Teil 1 (Atmega 1)

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Dieser Schritt ist speziell für die Atmega 1, die die Stepper-Motor gesteuert wird nur jede Skizze Sie ging durch, alle von ihnen angewendet werden und aufgeteilt in 3 Mikrocontroller, um einige spezielle Aufgaben zu tun. Bitte folgen Sie dem ersten Diagramm. Sein das wichtigste Diagramm von allen.

Die Funktion millis (); macht die ganze Magie. Gehen Sie zu Hilfe> Referenz> millis (), um mehr darüber zu erfahren.

Hinweis: - Die Schritte kann sich als chaotisch zu sein, nur ruhig sein, und wenn Sie alle Schritte ausgeführt haben, die Codierung wird nicht wieder auftauchen zu kompliziert sein.

Ziel 1: - die Spur des Echtzeit für den Schritt einmal erforderlich , um behalten zu drehen

Voraussetzungen: -

  • 1 X Arduino UNO oder was auch immer mit Atmega und einem USB-Anschluss an den Computer
  • Einige grundlegende Mathematik erforderlich wie einheitliche Methode und Abstand = Geschwindigkeit / Zeit ...... sehr einfach

Hinweis: - für diese besondere Aufgabe der Mikrocontroller gibt nur OUTPUT so dass ihr nicht erforderlich , um es der ULN 2003 zu verbinden oder dem Schrittmotor und dem Eingang , die von Atmega 2 erforderlich ist , sich direkt in der ATMEGA_1_test .txt namens Skizze initialisiert wird zu initiieren.

Vorgehensweise: -

  1. Öffnen Sie die Skizze in IDE Analysieren Sie es sehr schön. Es ist sehr einfach, es gibt viele unerwünschte Funktion und Linien kommentiert, die vielleicht ein bisschen verwirrend, aber vertrauen Sie mir, wenn ich Ihnen sage, dass die endgültige Skizze, die an ATMEGA 1 hochgeladen wird jede unerwünschte Zeilen haben
  2. Laden Sie die Skizze hoch
  3. Öffnen Sie den Serial Monitor schnell und deaktivieren Sie die Option AutoScroll, und prüfen Sie, ob die Baudrate in der rechten unteren Ecke auf 4800 eingestellt ist.
  4. Ziehen Sie dann den USB-Anschluss ab.
  5. Schließen Sie den Serial Monitor [Schließen Sie nicht die Arduino IDE]
  6. Stecken Sie den USB-Stecker wieder ein
  7. Warten Sie einige Sekunden, bis die IDE den COM-Anschluss wieder erkennt
  8. Drücken Sie dann Umschalt + Strg + M.
  9. Sie werden sehen, nach einiger Zeit zahlreiche Werte erscheinen eins nach dem anderen.
  10. Wir brauchen nur die erste Lesung. Das ist die Zeit, die der Atmega benötigt, um den Stepper von 0 - 4096 (eine Umdrehung) zu drehen, Der Messwert sollte 5150 sein, dh 5150 Milli Sekunde, um einmal zu drehen

Was wir aus der Skizze sehen können: -

  • Max Geschwindigkeit = 1000 Schritte / Sek
  • Max. Beschleunigung = 1000 Schritte / Sek
  • Geschwindigkeit = 1000 Schritte / Sek.
  • Bewegt sich nach (Abstand) = 0 - 4096 Schritt [1 Umdrehung]

Fragen: -

  • Zeit = Abstand / Geschwindigkeit = 4096/1000 = 4.096 Sekunden für eine Umdrehung ........ aber vom Serial-Monitor bekamen wir 5.150 Sekunden WIE?

Antworten :-

Es gibt viele Zeilen Code, die nicht nur die run () -Funktion in der Sketch die while-Schleifen der if-Anweisungen Variablen Zuweisung und viele weitere Dinge ausführen muss, so dass die zusätzliche Zeit für sie auszuführen ist ...

Geschwindigkeit geändert: -

Anfänglich wurde die Geschwindigkeit in der Skizze auf 1000 Schritte / Sek eingestellt, aber nach den Serial Monitor-Daten die Zeit, die für eine Umdrehung in 5,150 Sek. Verbraucht wurde, aber die zu überdeckende Distanz gleich ist, dh von 0-4096 Schritt

Deswegen,

Zeit = 5,150 Sek. Schritte zu decken (Abstand) = 4096 Schritte

Geschwindigkeit = Distanz / Zeit = 795,34 Schritte / Sek

Siehe, ab 1000 Schritte / Sek. Kam es auf 795,34 Schritte / Sek

Realisierung :-

Stellen Sie sich vor, was passiert wäre, wenn Sie 4,096 Sekunden statt 5.150 verwendet haben, um die Proximity Sensoren zu synchronisieren, um Daten an ATMEGA 2 zu senden ... Es wäre ein Fehler, wenn der Roboter wie eine verrückte Person agieren würde.

Ziel 2: - Um die reale Skizze zum Atmega 1 hochladen.

Voraussetzungen: -

  • Genau die gleichen Anforderungen.

Vorgehensweise: -

  1. Laden Sie den Code, nach dem Ändern oder Ändern der Pin-Konfiguration, falls erforderlich, und plzz lesen Sie die Kommentare, ich habe viel gearbeitet, um einfachere Kommentare so weit möglich zu machen
  2. Plzz verstehen das Programm zuerst, das ist wichtiger als es erfolgreich laufen
  3. Ziehen Sie den USB-Anschluss
  4. Extrahieren Sie die Atmega 1 aus, auf der Rückseite des Atmega aufzuschreiben ATMEGA -1
  5. Befestigen Sie den Atmega 1 an der gewünschten Position.
  6. Alle Anschlüsse nochmals überprüfen .....

Inference: - verstanden , wie wichtig es ist , die Programmlaufzeit zu berechnen. Die Zeit von 5.150 s pro Umdrehung wird für den nächsten Schritt von großer Bedeutung sein

Fahren Sie mit dem nächsten Schritt, um die Atmega 3 für die drahtlose Datenübertragung zu programmieren ...... ich hoffe, Sie alle genossen ....

Schritt 11: Integration der Skizzen - Teil 2 (Atmega 3)

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

Wie der Titel schon sagt, ist dieser Schritt für Atmega 3 wie im ersten Diagramm erwähnt ....... Dieser Schritt wird mehr oder weniger ähnlich dem vorherigen Schritt sein. Lass uns gehen

Ziel 1: - die erforderliche Zeit zu zählen ...... für das drahtlose TX - Modul 64 Entfernungsdaten von jedem Sensor zum Atmega 2 ........ und auch den früheren Zeit machen zu senden Lesen dh 5.150 Sek.

Voraussetzungen: -

  • Alles, was Sie in Ziel 1 von SCHRITT 3 benötigen.

Vorgehensweise: -

  1. Legen Sie einfach alles zusammen, wie seine im 2. Bild gezeigt.
  2. Schließen Sie den USB an den Computer an.
  3. Kopieren Sie den Code von ATMEGA_3_test .txt auf die IDE und analysieren Sie für einige Zeit ....... Sie werden sehen, der Großteil des Codes wird von STEP 3 kopiert und nicht viel hinzugefügt.
  4. Laden Sie den Code hoch
  5. Drücken Sie Strg + Umschalt + M
  6. Beachten Sie den Messwert im Serial Monitor
  7. Drücken Sie die Reset-Taste in Arduino. Ein weiterer Messwert erscheint im Serial Monitor
  8. Tun Sie es für mindestens 10-mal.
  9. Sie sehen, dass die meisten Laufzeitwerte unterschiedlich sind.
  10. Machen Sie einen Durchschnitt und notieren Sie es. Ich habe 4058 Milli Sekunde. Was bedeutet, Ping und senden Sie die Wireless-Daten an Atmega 2 seine 4058 ms ohne und manuelle Verzögerung dauert. Aber denken Sie daran, dass Sie die Zeit benötigen, um 5150 ms aus dem vorherigen Schritt zu sein
  11. Daher beträgt die Verlängerungszeit pro Umdrehung = 5150-4058 = 1092 ms Zeit für die Verzögerung bei 64 Schritten = 1092/64 = 17,0625 = 17 ms
  12. Sehen Sie Ihre eigene Lektüre und folgen Sie der Prozedur Nr. 11
  13. Öffnen Sie den ATMEGA_3_test in der IDE, am Ende der test () -Funktion eine Verzögerung (17); Zeile kommentiert wird
  14. Uncomment diese Zeile und setzen Sie Ihre abgeleiteten Wert in it
  15. Upload des geänderten Programms.
  16. Strg + Umschalt + M
  17. Überprüfen Sie, ob der gedruckte Wert nahe bei 5150 ist oder nicht, wenn nicht nicht entmutigt sein das Beste, was getan werden kann, nicht Ihr Fehler, seine aufgrund der Grundsätze der Schallausbreitung.
  18. Finden Sie heraus, das Problem und kommentieren Sie es hier.

Ziel 2: - zum Hochladen die reale Skizze

Voraussetzungen: -

  • Das gleiche wie oben

Vorgehensweise: -

  1. Laden Sie einfach die ATMEGA_3 .txt.
  2. Extrahieren Sie den Atmega 3 aus dem Arduino und nennen Sie ihn ATMEGA - 3
  3. Vergessen, Ihnen zu sagen, trennen Sie den USB, ich hoffe, Sie sind nicht als Dummy.
  • Inference: - Nach einem lächerlichen Verhalten des Abstandssensors sehen Sie dieses Problem sauer werden muss , wird im 13. STEP diskutiert, wie mit ihm und Sachen zu beschäftigen.

Next up the Last Step, Nach dem nächsten Schritt wird Ihr Roboter zu einem Rover verwandeln.

Guys und gals plzz fühlen sich frei, irgendwelche Vorschläge über, wie man mit diesem Problem umzugehen und mir helfen, verbessern diese instructable

Step 12: Integrating The Sketches - Part 3(Atmega 2)

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

DIY JAAR - gerade ein anderer autonomer Roboter

From the first image it is clearly visible that Atmega 2 works somewhat like a Mother micro-controller , it receives input from Atmega 3 , provides output to the the DC Motor interpreting the distance data, triggers the stepper motor to start or stop for adjustments. This is the sole reason why Atmega 2 is described in this last STEP about JAAR. There's no test program for this step......coz no delay() adjustments can be made, coz its the mother micro-controller. So whatever time it needs cannot be changed (possible if more easier algorithms are developed )

Objective 1:- To Program the Mother micro-controller

Things Required :-

  • Just a UNO or whatever with a Atmega 328 on it
  • USB Cable, thats obvious.

Procedure :-

  1. I hope you have got the first image has become very clear in your mind by now, if not then plzz check it again
  2. Copy the code ATMEGA_2 .txt to the IDE.
  3. Minimize the IDE for some time.
  4. Check the 2nd image.
  5. See the diagram , there's a shaded portion which is the danger zone with a radius of 25 cm according to my chassis, make changes to the program if you have to.
  6. The not shaded portion is the safe zone which can have a maximum radius of 200 cm
  7. See a cross-hair type sign inside the circle, that actually means that i have divided the area into four parts a, b, c,d respectively, to detect where the obstacles are in real time.
  8. At the right corner of the second image is the definition of 5 functions used in the algorithm.
  9. Understand , How its gonna happen.
  10. Take a look at the 3rd image .
  11. There's a 4 variable (a,b,c,d) binary combination table, '1' denotes that the distance is less than 25 (ie in danger zone) and the '0' signifies the distance is greater than 25 (ie in safe zone).
  12. See there's also a output variable named 'Instruct' which calls different functions for different combinations.
  13. Check both image 2 and 3 simultaneously to check the whether all the function call for a specific situation is appropriate or not . If there's something wrong you feel, plzz post a comment about it here.
  14. But see there's two steps which you can cancel out in your program, inform me after you find it..
  15. Now you r ready to upload the code , So Upload it to the Atmega.
  16. Unplug the Arduino and extract the Atmega out of it and name it ATMEGA -2
  17. Fix the Atmega to your appropriate place.
  18. And you are ready to go. Just power everything ( i used a 3S1P Lipo for Atmega 2 and Atmega 2 and a common 9v transistor battery to power the Atmega 3).
  19. Play around with it , sometimes it can behave oddly(its mostly due to the distance sensor, cant help it), whenever it does so , disconnect the power and connect it back again , and dont forget to adjust to stepper facing front.
  20. Comment about you experience

Inference :-

Asta la vista to programming for now, i think you r ready to make the rover move. Play fool with it for some time .

Here Endeth , the next two steps is about the problems with HC-SR04 and what i am going to do next.

Plzz feel free to inform me about the problems which came up while finishing this huge project (at least to me), or you could just google it simply, google has answer to everything.

Step 13: The Problem With HC-SR04

DIY JAAR - gerade ein anderer autonomer Roboter

To those who have done it or read everything i wrote , its evident that the rover will be a failure many a times , and most of it is because of the Ultrasonic Distance Sensors used .
Problem with Ultrasonic Distance Sensors :-

1. Sound changes speed relative to Temperature, Humidity and Density (Sound travels 4.3 times faster in water) but we cannot execute experiments under water, you know what will happen.

2. These sensors require quite a fair amount of area to actually detect an obstacle ,its due to absorbing and reflective property of sound while collision.

3, Farther the object from the sensor , more time it takes to calculate the distance (its a long process, sound gets emitted out then reflected by the target object them the wave comes and hits the receiver), So it takes time for long distances.

4. And i think there are many more disadvantages to use sound in obstacle detection, which i am not aware of right now. Plzz comment and mention any that you are aware of.

Thus, using the ultrasonic distance sensor was a blunder , but we also need to improve right ........So if any one has any idea about about how to TroubleShoot this huge problem, plzz feel free to post it here. i would love see and share new ideas...........


Whatever it is ....i think you all had fun , coz starting from debouncing a switch you came up with an Obstacle Avoiding Rover , thats a huge progress within just 1 instructable.

Always Remember basics should be the first priority , and that was my primary goal from the beginning

My Moto :- Know What you don't Know

Step 14: What's Coming Next..........

DIY JAAR - gerade ein anderer autonomer Roboter

This was my first instructable ever , so tried to make it as simple as possible, if anyone has any kind of doubts or suggestion plzz feel free to contact me...........

As you can see i have started , so be ready for more.

Firstly, i will post a video of JAAR moving about .

Secondly,

i will also add another instructable in which i will show how to display the SONAR map graphically in your PC or Mac with a small tutorial of Processing , Processing coz its heavily based on Arduino IDE.

Thirdly,

I will Post another instructable , which will be about how to improve the distance measuring technique , using a 650 nm LASER and a low contrast camera(OV 7670 maybe), i dont think it will be evident for an Arduino to handle image processing fast enough, but try though, but there's 80% chances that i will use a Raspberry.

Bye fellas see you all later, Hope you had fun................

Related Reading