Inhaltsverzeichnis:

Hindernisvermeidender Roboter mit Persönlichkeit! - Gunook
Hindernisvermeidender Roboter mit Persönlichkeit! - Gunook

Video: Hindernisvermeidender Roboter mit Persönlichkeit! - Gunook

Video: Hindernisvermeidender Roboter mit Persönlichkeit! - Gunook
Video: Roborock S7 MaxV ULTRA | Diese DOCKINGSTATION ändert ALLES! 2024, November
Anonim
Hindernisvermeidender Roboter mit Persönlichkeit!
Hindernisvermeidender Roboter mit Persönlichkeit!
Hindernisvermeidender Roboter mit Persönlichkeit!
Hindernisvermeidender Roboter mit Persönlichkeit!
Hindernisvermeidender Roboter mit Persönlichkeit!
Hindernisvermeidender Roboter mit Persönlichkeit!
Hindernisvermeidender Roboter mit Persönlichkeit!
Hindernisvermeidender Roboter mit Persönlichkeit!

Im Gegensatz zu den meisten Roaming-Bots roamt dieser tatsächlich so, dass er tatsächlich zu "denken" scheint! Mit einem BASIC Stamp-Mikrocontroller (Basic Atom, Parallax Basic Stamps, Coridium Stamp usw.), einem Chassis irgendeiner Art, ein paar Sensoren und einem ausgeklügelten Code aus diesem anweisbaren, können Sie einen Roboter erstellen, der Bewegungen ausführt, die Sie nie einmal hineinprogrammiert!Hier ist ein Video (es ist irgendwie von geringer Qualität, aber ich arbeite daran. (Ich versuche immer noch, den Teil herauszufinden, dass es zu langsam ist.)

Schritt 1: Die Sensoren

Der (Name?)… Na ja, nennen wir ihn einfach Bob. Bob hat fünf Sensoren

  • Ultraschall-Entfernungsmesser (auch bekannt als "Sonar")
  • 2 Sharp GP2D12 IR-Sensoren
  • 1 Standard-IR-Assembly (dazu später mehr)
  • 1 CdS (Cadmiumsulfid) Fotozelle

Der Ultraschall-Entfernungsmesser hilft Bob dabei, Hindernisse zu erkennen, die sich direkt vor ihm befinden; sie sagen ihm auch, wie weit das Objekt von ihm entfernt ist. Diese kann aus vielen Quellen bezogen werden. Sie können sie von (Parallax; sie nennen es "Ping)))"), Acroname, HVW Technologies und vielen anderen Websites finden. Egal, wo Sie sie finden, sie kosten alle ungefähr das gleiche (~ 30 $). Die beiden IR-Sensoren von Sharp sind sehr einfach zu bedienen, wenn sie wie in diesem Fall zur einfachen Objekterkennung verwendet werden. Sie können sie in vielen Online-Shops wie den oben aufgeführten erhalten. Sie helfen Bob dabei, Hindernisse zu erkennen, die der Ultraschall-Entfernungsmesser nicht erkennen kann; Hindernisse, die zu nahe an die Seiten des Fahrgestells kommen. Sie kosten zwischen 12 und 15 US-Dollar, je nachdem, wo Sie sie bekommen. Die "IR-Montage" habe ich selbst gemacht; Montage siehe Schritt 2. Die CdS-Fotozelle (oder lichtvariabler Widerstand, was auch immer Sie bevorzugen) dient zur Erkennung von Änderungen der Umgebungsbeleuchtung. Bob verwendet sie, um zu wissen, wann er sich in einem dunklen oder hellen Raum befindet. Wenn jemand Erfahrung mit einem der Sharp IR Ranger hat, FYI, werden diese nicht für die tatsächliche Entfernungsmessung in diesem Roboter verwendet. Ich habe keinen ADC (Analog-to-Digital-Converter) und weiß auch nicht, wie man sie so verwendet. Sie liefern dem BS2-Mikrocontroller einfach ein HIGH- oder LOW-Signal. Die Datenblätter für die Sharp IR's sowie den Ping))) Sensor sind im Netz zu finden, aber wenn Sie wie ich faul sind, können Sie etwas weiter nach unten scrollen und da sind sie!

Schritt 2: Die Hardware, das Gehirn und andere Komponenten

Die Hardware, das Gehirn und andere Komponenten
Die Hardware, das Gehirn und andere Komponenten
Die Hardware, das Gehirn und andere Komponenten
Die Hardware, das Gehirn und andere Komponenten

Okay. Zu Beginn war die Hardware, die für diesen Roboter verwendet wurde, Teil eines Kits, das ich bekommen habe. Es ist das "Boe-Bot"-Kit von Parallax (https://www. Parallax.com), aber dieses Design ist sehr flexibel; Sie können jedes beliebige Chassis verwenden, stellen Sie nur sicher, dass 1) sich der Ultraschall-Entfernungsmesser auf der höchsten Höhe des Roboters befindet, damit er nicht auf Geländer usw. trifft, und 2) die IR-Sensoren so abgewinkelt sind, dass Sie können sogar Objekte erkennen, die etwa 1" vom Roboter entfernt sind. Dies verhindert, dass er auf Kanten von Gegenständen trifft, die die Räder treffen könnten. Auf dem Chassis ist das Boe-Board von Parallax montiert, das mit meinem Boe-Bot-Kit geliefert wurde, was einfach ist ein Entwicklungsboard, das mit jedem Stamp-Mikrocontroller mit den gleichen Spannungsanforderungen und dem gleichen Pin-Layout verwendet werden kann. Es gibt viele verschiedene Stamp-Entwicklungsboards im Internet. Es kostet 65 US-Dollar von Parallax. Auf dem Entwicklungsboard, als Bobs Gehirn, befindet sich das BS2e (BASIC Stamp 2 e), die im Grunde die gleiche wie die BS2 ist, außer mit mehr Speicher (RAM und EEPROM). Das EEPROM ist für die Programmspeicherung und das RAM für die Speicherung der Variablen (vorübergehend natürlich). Bob darf nicht sei der schnellste Denker der Welt (~4.000 Anweisungen/Sek.), aber hey, Das ist gut genug. Bob bewegt sich über zwei kontinuierliche Rotationsservos von Parallax, die wie viele Servos viel Drehmoment haben. Für den Saft hat er einen 4-Zellen-AA-Batteriesatz (für insgesamt 6 V), der an den 5 V-Regler auf der Entwicklungsplatine angeschlossen ist, der eine konstante Ausgabe von, Sie ahnen es erraten, 5 V liefert, um die Komponenten nicht zu braten. Viele Geräte für die Robotik werden entweder mit einer 5V- oder 6V-Versorgung betrieben; Aus irgendeinem Grund ist es ein Standard. Und Sie wollen diese Komponenten NICHT braten, sie sind teuer. Der BS2e hat einen internen Regler, aber geben Sie nicht mehr als 9V, wenn Sie kein Entwicklungsboard verwenden! Entwicklungsboard (die immer über Regler verfügen), dann STELLEN SIE SICHER, dass Sie einen 5-V-Regler verwenden. HINWEIS: Was den Stromverbrauch betrifft, ist Bob sehr gierig. Verwenden Sie dafür WIEDERAUFLADBARE Batterien; sie halten viel länger. Ich habe 4 wiederaufladbare Energizer-Akkus mit jeweils 2500 mA verwendet, was definitiv das Leben verlängert.

Schritt 3: Zusammenbau der Lichtsensorschaltung

Zusammenbau des Lichtsensorkreises
Zusammenbau des Lichtsensorkreises

Der Lichtsensor benötigt einen Stromkreis, damit der BS2e ihn richtig nutzen kann. Ich habe diese Schaltung direkt aus einem der Bücher von Parallax (eigentlich dem, das mit meinem Kit geliefert wurde). HINWEIS: PIN 6 IST TATSÄCHLICH PIN 1; DIES MUSS MIT DEM CODE ÜBEREINSTIMMEN, ODER SIE KÖNNEN ANDERE KOMPONENTEN BESCHÄDIGEN. ACHTEN SIE VORSICHTIG, DAMIT DAS NICHT DURCHGÄNGT WIRD.

Schritt 4: Zusammenbau des Dropoff-Detektors

Zusammenbau des Dropoff-Detektors
Zusammenbau des Dropoff-Detektors
Zusammenbau des Dropoff-Detektors
Zusammenbau des Dropoff-Detektors

Dies kann auf einer nackten Platine zusammengebaut werden. Ich bin gerade zu RadioShack gelaufen und habe eine bekommen und die Platine zerschnitten, um sie in die Schaltung einzupassen. Dieser Teil ist ENTSCHEIDEND. Wenn Sie das vermasseln, kann der arme Bob sterben. Der IR-Detektor ist ein Panasonic PNA4601, aber Sie können ihn von RatShack erhalten, ebenso wie die Widerstände und die IR-LED. Es spielt keine Rolle, welche IR-LED Sie erhalten, stellen Sie sicher, dass es sich nicht um einen IR-PHOTOTRANSISTOR handelt. Das ist ein VÖLLIG anderes Gerät. Außerdem müssen Sie einen Schrumpfschlauch oder eine Art Strohhalm verwenden (Sie können es schwarz sprühen), um den Strahl der IR-LED zu verengen, aber er muss vollständig abgedeckt sein (außer dem Ende der LED) oder des Sensors wird nicht funktionieren. Ich habe ein Plastikgehäuse von Parallax verwendet. Sie können die LED und das Gehäuse auf deren Website bestellen.

Leider war der Frequenzbereich des von mir verwendeten IR-Detektors sehr breit, was bedeutet, dass er viel anfälliger für Störungen ist. Glücklicherweise bietet RadioShack solche an, die nur auf 38 kHz eingestellt sind, was bedeutet, dass Bob sich bei Fernbedienungen und anderen Geräten, die IR verwenden, weniger seltsam verhält. Die DP2D12 sind großartig, weil sie aufgrund der fortschrittlichen Optik (der Linsen) und der Schaltung praktisch störungsfrei sind. In zukünftigen Projekten werde ich keine regulären IR-Detektoren verwenden. Die Sharp IRs sind einfachen IR-Empfängern vorzuziehen. HINWEIS: PIN 8 IST TATSÄCHLICH PIN 10. PIN 9 IST KORREKT

Schritt 5: Bob braucht Ton

Bob braucht Sound!
Bob braucht Sound!

Schließen Sie einen Piezo-Lautsprecher an PIN 5 und - an Masse an. Bob muss sich ausdrücken! Die beste Art von Piezospeaker wäre ein SMD-Lautsprecher. Sie sind fast immer 5 Volt. Andernfalls benötigen Sie einen Widerstand, wenn Sie einen unter 5 V verwenden.

Schritt 6: Hinzufügen des 'Scheinwerfers'

Damit Bob im Dunkeln cooler aussieht, schaltet er einen Scheinwerfer ein, wenn er einen dunklen Raum betritt. Jede weiße LED funktioniert dafür. Da die Schaltung so verdammt einfach ist, werde ich Ihnen nur sagen: Verwenden Sie einfach einen 220-Ohm-Widerstand, um den Strom zu begrenzen. Und oder natürlich - geht zu Boden.

Schritt 7: Füllen Sie Bobs Gehirn auf

Hier ist der Code für Bob. Es ist in Abschnitte unterteilt: Deklarationen (Konstanten und Variablen), Initialisierung, die Hauptschleife und Unterprogramme. Die Art der Programmierung, die ich verwendet habe, ist die Subsumption-basierte FSM-Architektur (Finite State Machine). Im Grunde macht es den Roboter schneller und organisiert den Code besser. Wenn Sie sich in diesen relativ komplexen Bereich wagen möchten, lesen Sie das PDF auf dieser Seite. Ich habe Kommentare (der Text in Grün) hinzugefügt, um verschiedene Teile des Codes zu identifizieren. Alle Verbindungen zum BS2e sind unten noch einmal aufgelistet

  • PIN 0 - 220 Ohm Widerstand zur CdS-Fotozelle
  • PIN 5 - Plusleitung des Piezo-Lautsprechers
  • PIN 6 - SIG (Signal) Leitung des linken GP2D12 (links bei Betrachtung des Roboters von oben)
  • PIN 8 - SIG-Leitung des rechten GP2D12
  • PIN 9 - OUT (Ausgang) Leitung des IR-Melders (Abfallsensor)
  • PIN 10 - 1Kohm Widerstand zum Pluspol der IR-LED
  • PIN 15 - SIG-Leitung des Ultraschall-Entfernungsmessers

Bobs Code ist so geschrieben, dass 1) er, oder natürlich, Objekte und Abwürfe vermeidet2) zählt, wie oft jeder der Sensoren ausgelöst wurde, und bestimmt, ob er sich an einer Stelle befindet, die nicht manövrierbar ist3) generiert Pseudo- Zufallszahlen, um die Bewegung zu randomisieren4) schaltet "Scheinwerfer" ein, nachdem festgestellt wurde, dass er sich in einem dunklen Raum befindet, indem er Timer und WENN…DANN-Anweisungen verwendet. Es hat mit der Entladezeit des Kondensators für den Lichtsensor zu tun, sowie einem überlasteten BS2e.

Empfohlen: