Ultraschall-Hindernis zu vermeiden-Roboter (13 / 16 schritt)

Schritt 13: Debuggen die Firmware mit alles hinzugefügt


Das beste Teil in schriftlicher Form eine Firmware ist der Moment, wenn alles auf Anhieb funktioniert. Ich neige dazu, eine Menge Code schreiben bevor Sie tatsächlich gehen und testen, also wenn es beim ersten Einschalten funktioniert, es noch besser ist. Leider und natürlich war dies nicht der Fall, ich musste eine ganze Reihe von Debuggen, um die Software zu funktionieren wie ich es mir vorgestellt.

Seit Debuggen wird kann und länger dauern als den eigentliche Code Eingabe - bereiten Sie sich auf das Schlimmste. Es gibt eine ziemlich lustigste und realistische Bild auf das Web, das die Phasen des Debuggens zeigt.

Gewusst wie: Debuggen

Um herauszufinden, wo Ihre Programmzähler zu einem bestimmten Zeitpunkt befindet, muss man denke an Möglichkeiten, um irgendeine Art von Rückmeldungen aus dem Bild. Der einfachste Weg zu gehen ist zu verwenden einige LEDs, Leuchten sie in der gegebenen Punkte im Code - auf diese Weise werden Sie wissen sicher, dass der Code geschrieben es ausgeführt wurde. Da ich eine unbenutzte 2 x 4-Buchsenleiste an Bord hatte, entwarf ich eine kleine Platine nur für debugging-Zwecke, ein Brett, das an diesen Header angeschlossen. Auf diese Weise konnte ich erkennen, ob die PIC die richtigen Entscheidungen im Algorithmus dabei ist. Das war relativ einfach einzuführen. Nach einer Weile waren die LEDs einfach nicht genug, und ich fing an irgendeine Art von debugging-Hafen, vielleicht ein SPI-Display, das die aufgezeichneten Strecken anzeigt. Es dauerte nicht lange, zu erkennen, dass - durch Zufall - ich zwei sehr wichtige PIC Pins dieser 2 x 4 Header holte: die RX und TX Pins der seriellen Schnittstelle! Ich zog einen Seriell-USB-Konverter, den ich bestellt von e-Bay vor einer Weile (Link), den und an diese Pins angeschlossen.

Die Hardware war fertig, ich brauchte nur einige Firmware, den Hafen mit den erforderlichen Parametern zu initialisieren und Kommunikations-Geschwindigkeit einzurichten. Dies kann durch das Datenblatt zu lesen, ich habe dies getan von Hand n-Mal, also diesmal habe ich beschlossen, einen Rechner für schnellere Entwicklung nutzen. Schaut euch die Bilder einer von ihnen hat dieser nette kleine Baudrate (Bits/Sekunde) Generator - gute Sachen! Ich habe 48 [MHz] Oszillator Geschwindigkeit und die Berechnungen für 115200 [Bits/Sekunde] gemacht.

Nachdem ich die Ersteinrichtung abgeschlossen hatte, schrieb ich einige allgemeinen Funktionen, ich wusste ich werde müssen, und auf eine Probe gestellt. Die serielle Schnittstelle, die bei der ersten Verhandlung arbeitete, war meine bessere Debugport einsatzbereit! Ich brauchte nur ein terminal-Programm in der Lage, die Daten zu visualisieren, die das Bild geschickt sein. Ganz einfach: Ich habe Hercules von hier: Link.

Vorteile, die den seriellen port

Nachdem ich die serielle Schnittstelle unternehmungslustig kam, wurde mein Leben zehn Mal einfacher. Jede Variable, jede Messung wurde alles, was in den PIC geschrieben wurde über diesen Debugport erreichbar. Schnell fand ich, dass die Variable, die die maximal 11 Abstandsmessungen gespeichert wurde "unsigned Char", aber einige Lesungen waren größer als dieser Art passen, wechselte ich zu unsigned Int damit.

Ich erkannte auch, dass der gemessene Abstand genau genug ist, aber ich habe nicht die Tatsache, dass der Roboter etwas Platz braucht nach links oder rechts zu berücksichtigen. Ich abgezogen 8 [cm] aus der letzte Befehl "vorwärts laufen", und dieses Problem gelöst.

Sobald der Roboter die richtigen Abstände im Vergleich zu den Entfernungen, die sie gemessen ging, entfernte ich die serielle Verbindung und die LED-Platine im Inneren wieder.

In Verbindung stehende Artikel

Wie erstelle ich ein Hindernis zu vermeiden-Roboter

Wie erstelle ich ein Hindernis zu vermeiden-Roboter

Hindernis vermeiden Roboter ist ein einfacher Roboter, die von einem Arduino betrieben wird und was sie tut ist, dass es nur durchstreift um und vermeidet Hindernisse. Es erkennt die Hindernisse mit ein Ultraschallsensor HC-SR04 mit anderen Worten we
Hindernis zu vermeiden Roboter mittels Ultraschall mit Evive (Arduino powered embedded Plattform)

Hindernis zu vermeiden Roboter mittels Ultraschall mit Evive (Arduino powered embedded Plattform)

Wir haben ein Hindernis vermeiden Roboter mit Evive gebaut. Im Gegensatz zu anderen haben wir unsere Ultraschall-Sensor auf einem Servo montiert. Damit der Roboter nach einer Kollision erkennen, welche Richtung analysiert ist das beste, Abstand in ve
Hindernis zu vermeiden Roboter

Hindernis zu vermeiden Roboter

ich habe gesehen, viele Hindernisse vermeiden Roboter baut Online-auch hier bei Instructables, also beschloss ich, ein instructable tun mich und so viele visuelle und schriftliche Informationen wie möglich. Viele des Hindernisses Vermeidung von Robot
Hindernis zu vermeiden Roboter V2

Hindernis zu vermeiden Roboter V2

ich habe vor kurzem ein instructable auf ein einfaches Hindernis Roboter zu vermeiden. In diesem instructable ich wird werden die Umsetzung eines verschiebbare Pings))) Sensor, im Gegensatz zu den vorherigen Roboter, dessen Sensor war stationär. Ich
Hindernis zu vermeiden Roboter mit Arduino

Hindernis zu vermeiden Roboter mit Arduino

HINDERNIS - VERMEIDUNG VON ROBOTEREin Hindernis vermeiden Roboter ist, kann ein Hindernis zu vermeiden, indem Sie mit Ultraschallsensor und Navigieren in seinen eigenen Weg. Mit einem Steckbrett angeschlossen an den Roboter können Sie innerhalb kurze
Roboter-Hindernis zu vermeiden.

Roboter-Hindernis zu vermeiden.

HINDERNIS ZU VERMEIDEN ROBOTERFINANZIERT; INTEL KENIA IN ZUSAMMENARBEIT MIT DER SOCIETY OF ENGINEERING STUDENTEN AUTOMATION CLUB JKUAT.PROJEKTMITARBEITER:1 ANTONY KARIUKI2 ERIC KINYANJUI3 EMMANUEL KINYANJUIPROJEKT INSTRUCTABLE:ANFORDERUNGEN:1 INTEL G
YourDuino: Grundlegende Arduino-kompatible Kollision vermeiden Roboter

YourDuino: Grundlegende Arduino-kompatible Kollision vermeiden Roboter

Wie man einen grundlegenden Arduino-kompatible Zusammenstoß-Vermeidung von Roboter zu bauenHinweis: Finden Sie die verfügbaren Arduino Software Test Skizzen und Kollisionsvermeidung Software hier (klicken)Hinweis: Du musst später haben die Arduino "I
Arduino Wand vermeiden Roboter

Arduino Wand vermeiden Roboter

Diese instructable nimmt sehr wenig in Bezug auf Vorwissen.Gibt es Bereiche, die Sie fühlen könnte verbessert werden oder zu klären, wenden Sie sich bitte frei, Nachricht oder einen Kommentar und ich werde aktualisieren.Hier sind die Details, die Sie
DIY-autonome Zeilenverfolgung mit Hindernis vermeiden Roboter (Rover)

DIY-autonome Zeilenverfolgung mit Hindernis vermeiden Roboter (Rover)

WARNUNG: IHR COMPUTER HELLIGKEIT LOW ZU MACHEN, WEIL DIESES PROJEKT EIN HOHES MAß AN AWESOMENESS EMITTIERT, DIE IHRE AUGEN BESCHÄDIGEN KÖNNEN :D 3:)Dieses Projekt nahm an RoboCup 2015 Ägypten lokalen Wettbewerb und gewann "Best Design Award" mit
Selbst Hindernis vermeiden Roboter

Selbst Hindernis vermeiden Roboter

Es ist ein selbst Hindernis Roboter zu vermeiden. Es nutzt zwei Ping Sensoren für Hinderniserkennung. Es nutzt ein Adafruit L293D Motor Schild an vier hohes Drehmoment 12 Volt Motoren macht. Es auch ein Arduino UNO R3 Feawtures als einen Mikrocontrol
How to Build Hindernis vermeiden Roboter für Anfänger mit Arduino Tutorial

How to Build Hindernis vermeiden Roboter für Anfänger mit Arduino Tutorial

Dieses Tutorial ist für alle, die erste Schritte mit Arduino. Wir bauen ein Hindernis, Roboter, der ein Ultraschallsensor HC SR-04 verwendet zur Erkennung von Objekten und 2 kontinuierliche (360 Grad) Servos verdrahtet, um eine externe Batterie-Verso
Wie erstelle ich ein Hindernisse vermeiden Roboter - Arduino Stil

Wie erstelle ich ein Hindernisse vermeiden Roboter - Arduino Stil

du wolltest schon immer zu einer von diesen coolen Robotern, die grundsätzlich jedes Objekt vermeiden können. Doch Sie nicht genug Geld haben, um eine wirklich teuren diejenigen kaufen, mit bereits geschnittene Teile wo alle Materialien wo für Sie da
Wie erstelle ich ein Hindernis vermeiden Roboter

Wie erstelle ich ein Hindernis vermeiden Roboter

Hindernis Roboter mit Motorräder Hinderniserkennung und Motortreiber zu vermeiden.Schritt 1: Dinge, die wir brauchen we need :-1 eine Gared dc mortorposition2 eine alte Smartphone alte Flip-Cover3 Kleber4 einige Drähte5 Hindernis positionert Schaltun
Wie erstelle ich ein Hindernis zu vermeiden Arduino Roboter

Wie erstelle ich ein Hindernis zu vermeiden Arduino Roboter

Hallo an alle! In dieser Instructable werde ich Ihnen zeigen, wie erstelle ich einen Roboter ähnlich wie die "Mobile Arduino experimentelle Plattform" (MAEP), die ich gemacht. Es ist ausgestattet mit zwei Motoren, die den Roboter und die Fähigke