• Home »
  • autonome »

    5 Schritt:Schritt 1: Schritt 1: Servos Schritt 2: Schritt 2: Ping Sensor Schritt 3: Schritt 3: Anbringen der Servos Schritt 4: Schritt 4: Anschluss der Sensoren und der Rest Schritt 5: Schritt 5: Finishing Touches und Codierung

    Hey Leute, In diesem Instructable werde ich euch zeigen, wie man einen Hindernisvermeidung Roboter zu machen, mit dem Arduino Mikrocontroller (Video-Tutorial an https://www.youtube.com/watch?v=G89qOEIABpI) Dies ist eine billige und einfache Projekt, und Sie brauchen nicht eine Menge Wissen, dies zu tun. Es dauert nur ca. 2 Stunden (oder weniger), dies zu tun. Haftungsausschluss !: Dieses Projekt ist für Menschen, die bereits ein wenig Erfahrung in Arduino! Wenn Sie einige Themen wie, wie Servos, die Ping-Sensor, oder das Steckbrett zu verbinden nicht verstehst, dann gehen Sie bitte Sie meine anderen Anfänger Arduino Instructables, bevor Sie das Projekt, statt Spamming den Kommentar mit einfachen Fragen, die ich bereits abgedeckt in meine anderen Instructables. Ich habe die meisten meiner Lieferungen von RobotShop.com weil sie günstige Preise und eine große Auswahl an Materialien für jedes Projekt hat. Ich habe den Link, wo ich meine Vorräte so wird es leichter für Sie bereitgestellt. Die Werkzeuge, die ich schon um mein Haus herum gefunden. Material: 1 Arduino Mikrocontroller- http: //www.robotshop.com/en/arduino-uno-usb-microc ... 2 Parallax kontinuierliche Dreh Servos- http://www.robotshop.com/en/parallax-futaba-contin. .. 1 180-Grad-Hallo-Tec HS-422 Servo- http: //www.robotshop.com/en/hitec-hs422-servo-moto ... 1 Packung mit Jumper Wires- http://www.robotshop.com / en / 65-22-Gauge-sortierten-j ... 1 Breadboard- http: //www.robotshop.com/en/sfe-mini-170-solderles ... 1 Tamiya Spur Kit- http: // www ? .Amazon.de / s / ref = nb_sb_noss_2 url = searc ... 1 A auf USB B Kabel- http: //www.robotshop.com/en/usb-cable-ab-arduino .... 1 Parallax Ping ))) Sensor- http: //www.robotshop.com/en/parallax-ping-ultrason ... 1 Barrel Anschluss Battery Case- http://www.robotshop.com/en/adafruit-9v-battery-ca ... Pin Jumper Wires- http: //www.robotshop.com/en/300mm-ff-20-pin-jumpe ... Werkzeuge: Scissors Band Informatik Arduino Programm Your Hands Optional: Velcro Hot-Klebepistole Zangen 9 Volt BatteryStep 1: Schritt 1: Servos Der erste Schritt ist, um sicherzustellen, dass Ihre Servos arbeiten. Für die kontinuierliche Parallax Servos, verwenden Sie die Schaltdrähte an das schwarze Kabel an GND, rote Kabel an 5 V, und das weiße Kabel, um digitale Stift 9 auf dem Arduino zu verbinden. Für die Hallo-Tec Servo, der einzige Unterschied ist, dass die Signalleitung für die Servo ist gelb, verglichen die das weiße Kabel auf der Parallax Servo. Nach nur die Sweep-Code, den ich für Sie am unteren Rand der Seite hochgeladen haben hochladen. Sind Ihre Servos arbeiten? Wenn ja, gut. Wenn nicht, dann gehen Sie eine Rückerstattung von Ihrem Lieferanten. Nun, da Ihr Servos arbeiten, ist es Zeit, sie zu zentrieren. Dadurch wird sichergestellt, dass Ihre Servos sind gut ausbalanciert und sogar. Ich habe euch mit dem Code-Datei weiter unten. Nach dem Check hochgeladen haben, wenn Ihr Servo bewegt sich zu sehen. Wenn nicht, nicht ausflippen, denn das ist eine gute Nachricht. Sie sind alles Set. Wenn Ihr Servo nicht bewegen, verwenden Sie einen Kreuzschlitzschraubendreher und drehen Sie langsam oder so in dem kleinen Schlitz zu justieren, bis Ihr Servo nicht mehr bewegt. Wenn Sie fertig sind, sind Sie bereit für den nächsten Schritt. Yay Schritt 2: Schritt 2: Ping Sensor Jetzt sind Sie bereit, Ihre Ping))) Sensor zu testen. Schließen Sie zuerst auf die Ping-Sensor mit dem GND auf der Arduino die GND-Pin. Schließen Sie dann auf die Ping-Sensor an den 5V-Steckplatz auf dem Arduino 5V Pin. Schließlich verbinden auf dem Ping-Sensor die SIG Stift, um digitale Stift 7 auf der Arduino. Danach laden Sie den Code auf die Arduino und gehen bis zu Werkzeugen und eröffnen seriellen Monitor. Ein Fenster wird geöffnet, und es wird Ihnen der Sensor Abstand von einem Objekt vor ihm zu zeigen. Congrats! Fertig sind wir die Prüfung der Ping))) Sensor Schritt 3: Schritt 3: Anbringen der Servos Dies ist der lustige Teil! Sie werden nun werden die Hardwarebereich des Projekts. Zuerst müssen Sie die Spur Tamiya Bausatz zusammenzubauen. Wenn Sie möchten, können Sie die ganze Sache zu montieren, aber das, was Sie wirklich brauchen, zu montieren sind die 2 Tracks und der Rest der Räder. Sie werden feststellen, dass die Räder mit Zähnen nicht eine kostenlose beweglicher Achse, aber ein Getriebe statt. Sie brauchen nicht zu montieren oder sogar das Getriebe! Speichern Sie die Teile für andere Projekte, denn wir brauchen nur die 2 Räder mit Zähnen. Zuerst müssen Sie die Pluszeichen, die mit Ihrem kontinuierlichen Servos kommt geschnitten. Schneiden Sie einfach halbem Weg nach unten, ca. 2 Löcher von der Mitte, genug, um es in die Tamiya Räder passen. Nachdem Sie fertig sind, es zu tun, um den beiden Servos (NUR die kontinuierliche ONES), Heißkleber die Räder die die Servos. Nun legen Sie die Servos mit den Böden gegenseitig berühren, an den Seiten nach unten, und der lange Teil unter Hinweis darauf, oder Ihren Roboter rückwärts laufen. Bringen Sie dann den Sensor Servo (180-Grad-Servo) gerade nach oben mit der langen Seite zurück verweist. Sie können Heißkleber, Klettverschluss, oder Klebeband verwenden, um die Servos auf der Basis (I verwendet Klettverschluss, aber alles funktioniert) zu befestigen. Jetzt mit dem Steckbrett, schließen Sie die Servos an den 5V-Anschluss und sowohl an eine gemeinsame Masse (GND). Verbinden Sie auch die Servos an den richtigen digitalen Stiften. Bringen Sie dann den Batteriekasten zwischen den kontinuierlichen und 180 Servos und kleben Sie das Steckbrett auf der Oberseite des Batterie box.Step 4: Schritt 4: Anschluss der Sensoren und der Rest Jetzt die Servos getan, seine Zeit, um die Ping))) Sensor zu verbinden. Zunächst müssen Sie die Ping)) Sensor auf den Servo befestigen. Ich klebte 6 Styropor Fleischschalen in Quadrate schneiden auf der jeweils anderen, um einen Block zu machen. Sie können das gleiche, Verwendung Karton zu tun, oder einfach nur den Kauf einer Schaumstoffblock. Ich empfehle Kleben Sie den Sensor direkt an den Block, aber stattdessen Stifte oder Nägel, um den Sensor zu der Blockstift. Dann habe ich Band um den Ping-Sensor auf den Block zu sichern. Danach steckte ich das Steckbrett auf der Oberseite des Batteriepacks (die Steckbrett war wirklich klein) und dem Arduino auf beide der kontinuierlichen Dreh Servos. Schritt 5: Schritt 5: Finishing Touches und Codierung Yay! Dies ist der letzte Schritt! Nun verbinden Sie das Arduino auf Ihren Computer und fügen Sie ihn in diesem Code in Ihre Arduino Programm, und installieren Sie ihn auf Ihrer Arduino (stellen Sie sicher, den Code zu überprüfen, nur für den Fall). Ich gebe Kredit für diesen Code zu Brandon Campbell. Schauen Sie sich seine YouTube-Videos, weil er bekam einige wirklich genial Videos und Tutorials (dies Instructable wurde auf diesem Code basieren, und da er nicht geben, ein Tutorial habe ich beschlossen, selbst einer zu geben). Code: https: //docs.google.com/document/d/1EULUhXL978xHmI ... Danach stecken Sie das Netzteil in den kleineren Stecker auf den Arduino, schalten Sie ihn ein, und sehen Sie Ihre Roboter zu gehen! Wenn es nicht geht, können Sie mich in den Kommentar unten zu fragen, oder mir durch E-Mail. Ich werde mein Bestes versuchen, so schnell wie möglich antworten und vielen Dank für das Lesen dieses Instructable! Wenn Sie dieses mögen, folgen Sie mir bitte für mehr Spaß Projekte wie diese, und ich werde dich wieder zu sehen!$(function() {$("a.lightbox").lightBox();});

      13 Schritt:Schritt 1: was man so braucht Schritt 2: ERSTE SCHRITTE: ANSCHLUSS DTMF mit Arduino Schritt 3: Einstellen der L293D Schritt 4: Anschluss der Sensoren mit ARDUINO Schritt 5: Anschließen des 5 BABYS MIT MUTTER Schritt 6: DIE CODE Schritt 7: der Code: - FÜR PING SENSOR Schritt 8: Schritt 9: DIE CODE: - für den HC-SR04 SENSOR Schritt 10: Vorbereitung des Körpers DER ROBOT !!!!!! Schritt 11: In Kontinuität ...... Schritt 12: PRÜFUNG ...... Schritt 13: Schließen der Haube

      DTMF oder Dual Tone Multi Frequency ist nette kleine Art der Steuerung von Maschinen mit Ihrem Handy. Diese instructable zeigt Ihnen, lieber Leser, wie man ein billiger zu machen als Schmutz DTMF gesteuerten Roboter, der kann auch funktionieren autonom yeh! das ist richtig AUTONOM, wenn es eng wird. Das Projekt wird rund um die ach so vielseitig Arduino UNO errichtet (Oh Arduino ist ihr alles, was Sie nicht tun können !!!!!!). Die Programmierung ist unkompliziert, aber stellen Sie sicher, alles ist zur Hand, bevor Sie basteln starten. Das gesamte Projekt kann für weniger als 50 $ schlug zusammen und kann Stunden sinnlosen Spaß für Sie und die Familie Haustier mitbringen. Schritt 1: was man so braucht Alle 11 Artikel anzeigen 1: - DTMF-Modul (http://www.ebay.in/itm/like/20119037796). 2: - Arduino UNO. 3: - Drahtbrücken (Mann zu Frau und Mann zum Mann). 4: - PING Ultraschallsensor (Nutzen auch Sie HC-SR04 SENSOR weil es billiger ABER Sie müssen den Code, der ich in der Codeabschnitt EXPLAIN ÄNDERN). 5: - 2 IR-Sensor (http://www.amazon.in/ROBOSOFT-SYSTEMS-Single-Sensor-Module/dp/B00U3LKGTG/ref=sr_1_cc_3?s=aps&ie=UTF8&qid=1427820514&sr=1-3-catcorr&keywords=ir+sensor+module) 6: - 2 kleine Brotschneidebretter. 7: - L293D MOTOR DRIVER (http: //www.amazon.in/L293D-Push-Pull-Four-Channel -...) Sie können auch das L293D Modul erhältlich AT (http://www.ebay.in / itm / wie / 271552019152) 8: - 2 RÄDER UND 2 Schrittmotoren mit Getriebes (AUF AMAZON) Wenn Sie die Motoren ohne dem Getriebe dann werden sie NICHT MÖGLICH genügend Drehmoment auf die Räder zu bewegen, wenn der Roboter auf Boden gelegt ergeben. "PERSÖNLICHE ERFAHRUNG!!!!!!" 9: - ein Handy mit 3,5 mm Klinke-Unterstützung und ONE für den Aufruf. 10: - SMALL BOX. 11: - beidseitig TAPE.Step 2: Erste Schritte: Anschließen DTMF mit Arduino Für diejenigen unter Ihnen, die nicht vertraut mit DTMF sind, habe ich eine unten angegebenen Link, bitte überprüfen. http://www.mediacollege.com/audio/tone/dtmf.html Verbinden Es gibt 4 Stiften auf einer Seite der DTMF-Controller als D0, D1, D2, D3 markiert diese Stifte zu verbinden, um den Zapfen 3, 4, 5 und 6 von Arduino jeweils D0 dh Stift 3, und so weiter. Wir werden Anziehungskraft für die DTMF aus dem Arduino. Ich werde dich in der 4. Schritt erklären, wie. Schritt 3: EINSTELLUNG DES L293D Der Vorteil der Verwendung eines Motortreibers und Schrittmotoren besteht darin, dass diese Anordnung ist billiger im Vergleich zur Verwendung Servomotoren. Schließen Sie die Stifte 4, 5, 12, 13 zusammen mit kleinen Brücken. Sie können diese Jumper mit festen Kern Aluminiumdrähte zu machen. Verbinden Sie die Pins 1 und 9 zusammen und Stiften 8 und 16 zusammen. Verbinden Sie den Stift: ARDUINO <=========> DRIVER Pin 9 <----------------------------> Pin 2 Pin 10 <--------------------------> Pin 7 Stift 11 <--------------------------> Pin 15 Pin 12 <--------------------------> Pin 10 Verbinden Sie das 5V vom Arduino mit dem Pin 1 bis Brotbrett und GND an die Pins 4, 5, 12, oder 13, wird einem zu tun. Schritt 4: Anschluss der Sensoren Arduino Der Sensor Ich verwende ein Ultraschallsensor PING aufgrund seiner hohen Zuverlässigkeit und geringerer Pinzahl Vergleich zu HC-SR04, die ein 4-Pin-Sensor ist, da es separate Pins für Ein- und Ausgangssignal, während Ping verwendet das gleiche Pin für Eingangs und Ausgabe. Auch ich bekam es kostenlos, warum also zu einem anderen zu kaufen !!!!!! Ich werde Ihnen sagen, wie Sie den Code für die 4-Pin-Sensor später im Code-Abschnitt ändern. Ausgabemittel, dass das Sensormodul wird vom Arduino angeregt werden, um den Ultraschallimpuls ausgelöst, und Eingabemittel, dass die reflektierte Welle, die von dem Sensor erfasst wird dem Arduino. Verbinden Sie den Signalstift an den Pin 8 auf Arduino. Da wir um eine begrenzte Anzahl von Stromquelle verwenden, werden wir in der Strom aus dem Arduino; So schließen Sie den 5V-Pin des Sensors auf 5V-Versorgung des Fahrers Steckbrett ist (AUS DEM ARDUINO) und GND mit der Masse der Treiberplatine. Wenn Sie einen Treiber-Modul verwenden, stellen Sie eine gemeinsame 5V ausziehen Punkt und Masseverbindung für diese beiden. Schließen Sie auch das Stromversorgungsstift des DTMF-Modul mit dem Brotbrett Stromversorgung. Die Ausgangspins des IR-Sensors in ähnlicher Weise eine Verbindung mit dem Stift 11 und 12 gemäß dem Code. Schritt 5: ANSCHLUSS DER 5 BABYS MIT MUTTER Verbinden Sie nun alle fünf Module an den Arduino. Schritt 6: DIE CODE Die Codierung, war eine Herausforderung, da die DTMF-Code für nur eine Stelle zu einer Zeit zu erzeugen. Das Problem wurde für den manuellen Modus, wo ich hatte, um einen Schlüssel zum Umschalten in den Handbetrieb definieren Codierung. Ich beginne mit einem Beispiel erklären: - Leere Schleife () {Int z = digitalRead (d0); int y = digitalRead (d1); int x = digitalRead (d2); int w = digitalRead (d3); if ((w == LOW) && (x == LOW) && (y == LOW) && (z == HIGH)), dh Stelle 1 {If ((w == LOW) && (x == LOW) && (y == HIGH) && (z == LOW)) dh stelligen 2 Der Code sollte wie folgt funktionieren: - wenn 1 gedrückt wird, in den manuellen Modus und durch Drücken von 2 auf dem Tastenfeld der Roboter vorwärts bewegt geht der Roboter. Aber was ist eigentlich passiert ist, dass, wie ich 2 Drücken Sie den Roboter nicht mehr im Handbetrieb. WARUM ?????? Die Antwort ist, dass der Staat an den Pins des Arduino mit dem DTMF angeschlossen haben sich nun geändert, dh sie sind nicht mehr 1, weil der Staat Informationen nicht überall gespeichert (weil der Staat sich ändern muss, wenn der Roboter in den autonomen Modus umgeschaltet und die DTMF auch nur Code für die zuletzt gedrückte Taste zu erzeugen und kann nicht gespeichert werden, den Code selbst). DIE LÖSUNG: - Die Lösung war einfach statt, indem eine Bedingung für eine Zahl, zum Schalten des Modus I es für eine Ziffer gesetzt hatte: - Beispiel: - if (w == LOW) {If ((w == LOW) && (x == LOW) && (y == HIGH) && (z == LOW)) {Digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, HIGH); digital (motorR2, LOW);} if ((w == LOW) && (x == HIGH) && (y == LOW) && (z == HIGH)) {Digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, LOW); digital (motorR2, HIGH); } if ((w == LOW) && (x == HIGH) && (y == LOW) && (z == LOW)) {Digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, HIGH); digital (motorR2, LOW); } if ((w == LOW) && (x == HIGH) && (y == HIGH) && (z == LOW)) {Digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, HIGH); } if ((w == LOW) && (x == HIGH) && (y == HIGH) && (z == HIGH)) {Digital (motorL1, LOW); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, LOW); } } SEIT 'W' bleibt immer niedrig für die ABOVE DIGITS, WIRD DIE W = 0 Zustand während BE TRUE. Schritt 7: der Code: - FÜR PING SENSOR <p> const int serialPeriod = 250; // Ein Zeitraum von 250 ms = eine Frequenz von 4 Hz <br> unsigned long timeSerialDelay = 0; </ p> <p> const int UltraloopPeriod = 20; // Eine Periode von 20 ms = eine Frequenz von 50 Hz unsigned UltraLoopDelay = 0; </ p> <p> const int SENSOR_1 = 10; // Eingabe / Ausgabe vom SENSOR_1 int motorL1 = 6; // Ausgang für Motortreiber Pin 2 int motorL2 = 7; // Ausgang für Motortreiber Pin 7 int motorR1 = 8; // Ausgang für Motortreiber Stift 15 int motorR2 = 9; // Ausgang für Motortreiber Stift 10 int d0 = 2; // Eingabe von DTMF-pin D0 int d1 = 3; // Eingabe von DTMF Stift D1 int d2 = 4; // Eingabe von DTMF-Pin D2 int d3 = 5; // Eingabe von DTMF Stift D3 int ultrasonicTime; // Variable zu Zeit speichern int ultrasonicDistance; // Variable zu speichern Entfernung berechnet Leere setup () { Serial.begin (9600); // Setzen serielle Kommunikationsgeschwindigkeit pinMode (motorL1, OUTPUT); pinMode (motorL2, OUTPUT); pinMode (motorR1, OUTPUT); pinMode (motorR2, OUTPUT); pinMode (d0, INPUT); pinMode (d1, INPUT); pinMode (d2, INPUT); pinMode (d3, INPUT); } </ p> <p> void loop () { int z = digitalRead (d0); int y = digitalRead (d1); int x = digitalRead (d2); int w = digitalRead (d3); /*----------------------------------------- MANUELLER MODUS ------ --------------------------------- * / if (w == LOW) { if ((w == LOW) && (x == LOW) && (y == HIGH) && (z == LOW)) { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, HIGH); digital (motorR2, LOW); } if ((w == LOW) && (x == HIGH) && (y == LOW) && (z == HIGH)) { digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, LOW); digital (motorR2, HIGH); } if ((w == LOW) && (x == HIGH) && (y == LOW) && (z == LOW)) { digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, HIGH); digital (motorR2, LOW); } if ((w == LOW) && (x == HIGH) && (y == HIGH) && (z == LOW)) { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, HIGH); } if ((w == LOW) && (x == HIGH) && (y == HIGH) && (z == HIGH)) { digital (motorL1, LOW); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, LOW); } } / * ----------------------------------- AUTONOMOUSMODE ------------ ----------------------- * / if (w == HIGH) { Sichtweite(); if ((millis () - UltraLoopDelay)> = UltraloopPeriod) { readUltrasonicsensor_1 (); Motorstart (); UltraLoopDelay = millis (); } } } nichtig readUltrasonicsensor_1 () // fuction zu SENSOR_1 Daten und finden Entfernung { pinMode (SENSOR_1, OUTPUT); digital (SENSOR_1, LOW); Verzögerung (2); digital (SENSOR_1, HIGH); Verzögerung (10); digital (SENSOR_1, LOW); pinMode (SENSOR_1, INPUT); ultrasonicTime = pulseIn (SENSOR_1, HIGH); ultrasonicDistance = (ultrasonicTime / 2) / 29; // Berechnung, um den Abstand des Hindernisses von ultrasoni // c-Sensor messen } </ p> <p> void Motorstart () // Funktion zum Antrieb des Motors nach spürte Abstand { if (ultrasonicDistance> 10) { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, HIGH); digital (motorR2, LOW); } if ((IRSL == HIGH) && (irsR == LOW)) { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, HIGH); } if ((IRSL == LOW) && (irsR == HIGH)) { digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, HIGH); digital (motorR2, LOW); } if ((IRSL == HIGH) && (irsR == HIGH)) { digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, LOW); digital (motorR2, HIGH); } } if (ultrasonicDistance <10) { digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, HIGH); digital (motorR2, LOW); } } } </ p> <p> / * --------------------------- KONTROLLE DER ULTRSONIC SENSOR --------- ---------------- * / </ p> <p> void viewDistance () // Funktion zur Entfernung auf serielle Monitor anzeigen {// Um ​​zu prüfen, ob der Ultraschall-Sensorcode richtig funktioniert if ((millis () - timeSerialDelay)> = serialPeriod) { Serial.print ("Distance"); Serial.print (ultrasonicDistance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); } } </ p> Schritt 8: Schritt 9: DIE CODE: - für den HC-SR04 SENSOR <p> Ich habe einige Korrekturen (wie {CORRECTIONS} markiert) gemacht und einige neue Linien ({wie markiert {MEHR}}) FÜR HC-SR04. </ p> <p> <br> <p> const int serialPeriod = 250; // Ein Zeitraum von 250 ms = eine Frequenz von 4 Hz <br> unsigned long timeSerialDelay = 0; </ p> <p> const int UltraloopPeriod = 20; // Eine Periode von 20 ms = eine Frequenz von 50 Hz unsigned UltraLoopDelay = 0; </ p> <p> const int sensor_1_in = 10; // Eingabe von der SENSOR_1 const int sensor_1_out = 13; // Vom SENSOR_1 Ausgangs int motorL1 = 6; // Ausgang für Motortreiber Pin 2 int motorL2 = 7; // Ausgang für Motortreiber Pin 7 int motorR1 = 8; // Ausgang für Motortreiber Stift 15 int motorR2 = 9; // Ausgang für Motortreiber Stift 10 int d0 = 2; // Eingabe von DTMF-pin D0 int d1 = 3; // Eingabe von DTMF Stift D1 int d2 = 4; // Eingabe von DTMF-Pin D2 int d3 = 5; // Eingabe von DTMF Stift D3 int ultrasonicTime; // Variable zu Zeit speichern int ultrasonicDistance; // Variable zu speichern Entfernung berechnet Leere setup () { Serial.begin (9600); // Setzen serielle Kommunikationsgeschwindigkeit pinMode (motorL1, OUTPUT); pinMode (motorL2, OUTPUT); pinMode (motorR1, OUTPUT); pinMode (motorR2, OUTPUT); pinMode (d0, INPUT); pinMode (d1, INPUT); pinMode (d2, INPUT); pinMode (d3, INPUT); } </ p> <p> void loop () { int z = digitalRead (d0); int y = digitalRead (d1); int x = digitalRead (d2); int w = digitalRead (d3); /*----------------------------------------- MANUELLER MODUS ------ --------------------------------- * / if (w == LOW) { if ((w == LOW) && (x == LOW) && (y == HIGH) && (z == LOW)) { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, HIGH); digital (motorR2, LOW); } if ((w == LOW) && (x == HIGH) && (y == LOW) && (z == HIGH)) { digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, LOW); digital (motorR2, HIGH); } if ((w == LOW) && (x == HIGH) && (y == LOW) && (z == LOW)) { digital (motorL1, LOW); digital (motorL2, HIGH); digital (motorR1, HIGH); digital (motorR2, LOW); } if ((w == LOW) && (x == HIGH) && (y == HIGH) && (z == LOW)) { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, HIGH); } if ((w == LOW) && (x == HIGH) && (y == HIGH) && (z == HIGH)) { digital (motorL1, LOW); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, LOW); } } / * ----------------------------------- AUTONOMOUSMODE ------------ ----------------------- * / if (w == HIGH) { Sichtweite(); if ((millis () - UltraLoopDelay)> = UltraloopPeriod) { readUltrasonicsensor_1 (); Motorstart (); UltraLoopDelay = millis (); } } } Leere readUltrasonicsensor_1 () // GEÄNDERT { digital (sensor_1_out, LOW); Verzögerung (2); digital (sensor_1_out, HIGH); Verzögerung (10); digital (sensor_1_out, LOW); ultrasonicTime = pulseIn (sensor_1_in, HIGH); ultrasonicDistance = (ultrasonicTime / 2) / 29; // Berechnung, um den Abstand des Hindernisses von ultrasoni // c-Sensor messen } </ p> <p> Motorstart erlöschen () // Funktion, um den Motor anzutreiben { if (ultrasonicDistance> 10) / { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, HIGH); digital (motorR2, LOW); } if (ultrasonicDistance <10) { { digital (motorL1, HIGH); digital (motorL2, LOW); digital (motorR1, LOW); digital (motorR2, HIGH); } } } </ p> <p> / * --------------------------- KONTROLLE DER ULTRSONIC SENSOR --------- ---------------- * / </ p> <p> nichtig viewDistance () { if ((millis () - timeSerialDelay)> = serialPeriod) { Serial.print ("Distance"); Serial.print (ultrasonicDistance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); } } </ p> Schritt 10: Vorbereitung des Körpers DER ROBOT !!!!!! Das Loch auf dem Feld in der 1. Bild hat nichts damit zu tun. 1: Nehmen Sie eine gewöhnliche Karton bohren einige Löcher für die Motorwelle mit dicken Körper Stift. 2: Legen Sie die Motoren mit dem doppelseitigen Klebeband oder mit einem anderen praktikable Methode Sie Schritt 11. In Kontinuität ...... Für den Sensor, müssen Sie ein paar Anpassungen oben gezeigt zu machen. Der einzige Grund für die Verwendung von kleinen Brücken, war, dass der Sensor nahm mehr Raum, als ich dachte, so hatte ich den größten Teil der Steckbrett außen zu platzieren. Es ist etwas kompliziert zu erklären, aber Sie werden verstehen, was auf, wenn Sie diesen Punkt in den Aufbau zu erreichen gehen. Jede Art und Weise, können Sie andere Techniken, die Ihre Phantasie für die Platzierung des Sensors auf dem Roboter passen zu verwenden, aber das, was ich versucht zu tun war, indem Sie die Drähte im Inneren, ohne Drähte außerhalb der Box. auch Sie den Sensor gerade wenn Sie es wünschen montieren. Aber stellen Sie sicher, dass der Sensor nicht zu hoch oder es wird nicht in der Lage zu erkennen, Objekte der geringere Höhe sein Schritt. 12: PRÜFUNG ...... Legen Sie die Mutter und seine Kinder in die Seitenfeld und machen Sie einen Testlauf ohne Räder. Keine Notwendigkeit zu sagen, dass die DTMF fehlt, ist es gerade heraus hängen. Nach dem Code habe ich geschrieben: - 2 = Vorwärts 5 = rückwärts 4 = links abbiegen 6 = rechts stellige andere als 1, 2, 3, 4, 5, 6 und 7 wird der Roboter im autonomen Modus zu schalten. Schritt 13: Schließen der Haube Jetzt ist es Zeit, um alles, was im Inneren des Körpers zu platzieren schließen Sie die Haube und ...... PLAY !!!!!! ALLES GUTE......

        2 Schritt:Schritt 1: Anschlusskabel Schritt 2: Befestigen Sie die Kamera

        Gruppe 18+. Der iRobot Roomba ist eine großartige Plattform für die Robotik. Der Roomba verfügt über eine serielle Schnittstelle, die Befehle zur Steuerung und Diagnose übernimmt. Die EZ-B hat Hardwareunterstützung für den Roomba und der EZ-Builder-Software verfügt über Bedienelemente für die Roomba auch. In diesem instructable, ich werde Sie durch, wie Sie Ihren Roomba vom Computer fernsteuern über eine Bluetooth-Verbindung zu gehen. Außerdem können Sie Sensoren oder eine Kamera an den Roomba hinzufügen, um es in eine noch intelligentere autonomen Roboter zu verwandeln. In diesem instructable lege ich eine drahtlose Kamera an den Roomba. Dies ermöglicht es den Roomba auf Farben (rot, grün oder blau) oder die Bewegung zu folgen. In diesem Video, bevor Sie die nächsten Schritte. Werkzeuge Lötkolben Drahtschneider Heißklebepistole Kabelbinder Teile 1 x iRobot Roomba 1 x EZ-B Bluetooth Robot Controller http://www.ez-robot.com/Shop/View.aspx?id=1 1 x Wireless- Webcam http://shop.ebay.com/i.html?_nkw=2.4GHz+GFSK+RF+Mini+Wireless+PC+Webcam+Camera+Receiver+&_trksid=p5197.c0.m627 1 x PS / 2 Maus oder Tastatur für Kabel 1 x Drei Draht Servo-Kabel 1 x-Standard-Servo

          10 Schritt:Schritt 1: Vorbereiten Schritt 2: Montage 1 Schritt 3: Montage 2 Schritt 4: Montage 3 Schritt 5: Schritt 6: Assembly 5 Schritt 7: Montage 6 Schritt 8: Montage 7 Schritt 9: Montage 8 Schritt 10: Fertig!

          Dies ist die Montageanleitung für den Medium Tank von Rocket-Marke Studios . Dies ist ein großartiges kleines Roboterbausatz, und kann als Komplettpaket oder als rollendes Chassis erhältlich sind, bereit für den Mikrocontroller des --Arudino Uno, Duemilanove, PICAXE 28 Platine oder Gadget Gangster Propeller Foren Ihrer Wahl. Das Medium Tank kommt in Lose super-duper Farben (und Farben!) So sicher sein, die von der Website zu stoppen, um zu sehen, was verfügbar ist.

          Seiten: