Inhaltsverzeichnis:

Otto DIY Class Finale - Gunook
Otto DIY Class Finale - Gunook

Video: Otto DIY Class Finale - Gunook

Video: Otto DIY Class Finale - Gunook
Video: Un-Armed Pirates, Intruders, & Thieves:Self Defense for Sailboats (Patrick Childress Sailing #43) 2024, Juli
Anonim
Otto DIY Class Finale
Otto DIY Class Finale

Ermöglicht wurde dieses Projekt durch die Otto and Athens Technical College.

Um zu beginnen, müssen Sie zuerst das Kit kaufen unter:

Folgen Sie dann den Schritten unter:

Schritt 1: Schritt eins: Roboter aus Anleitung zusammenbauen

Schritt eins: Roboter aus Anleitung zusammenbauen
Schritt eins: Roboter aus Anleitung zusammenbauen
Schritt eins: Roboter aus Anleitung zusammenbauen
Schritt eins: Roboter aus Anleitung zusammenbauen

wikifactory.com/+OttoDIY/otto-diy

Auf dieser Website finden Sie eine Montageanleitung und einen Code für Ihren Otto-Roboter.

Wie Sie sehen, habe ich verschiedene Teile und Farben gemischt und angepasst und anstelle der empfohlenen 4 AA-Batterien einen tragbaren Ladeblock für die Stromversorgung verwendet.

Mein Lautsprecher ist zum besseren Hören vorne angebracht und zur Dekoration ist an der rechten Seite ein Schwert angebracht.

Schritt 2: Schritt 2: Stecker und Code

Schritt 2: Stecker und Code
Schritt 2: Stecker und Code

Nachdem Ihr Roboter zusammengebaut ist, laden Sie die Arduino IDE auf Ihren Computer und schließen Sie Ihren Roboter an.

An dieser Stelle sollten Sie die Otto-Dateien herunterladen. Exportieren Sie sie direkt in Ihren Arduino-Bibliotheksordner.

Auf diese Weise können Sie den Code verwenden, den Otto Ihnen gegeben hat.

Schritt 3: Schritt 3: Beenden Sie die Codierung

Schritt 3: Beenden Sie die Codierung
Schritt 3: Beenden Sie die Codierung

Sobald Ihre Bibliotheken extrahiert sind, müssen Sie in die Arduino IDE gehen und sicherstellen, dass Ihre Bootloader auf dem neuesten Stand sind.

Stellen Sie Ihr Board auf Arduino Nano, Ihren Prozessor auf ATmega328P (Old Bootloader) und Ihren COM auf den Port ein, an den Sie Ihren Roboter angeschlossen haben.

Sobald dieser Schritt abgeschlossen ist und Ihr Code fertig ist, klicken Sie auf die Schaltfläche zum Hochladen in der oberen linken Ecke des Programms, um den Code auf Ihren Roboter hochzuladen.

Schritt 4: Schritt vier: Beobachten

Beobachten Sie die kranken Bewegungen und die dope Singstimme Ihres Roboters.

Je nachdem, welchen Code Sie verwendet haben, können Sie Ihren Roboter singen, tanzen oder Hindernissen ausweichen lassen.

Dieses Projekt wurde mit dem Vermeidungscode geschrieben:

//------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ------------------// Otto_avoid Musterskizze //-------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-- Otto DIY PLUS APP Firmware-Version 9 (V9) //-- Otto DIY investiert Zeit und Ressourcen in die Bereitstellung von Open Source Code und Hardware, bitte unterstützen Sie durch den Kauf von Kits von (https://www.ottodiy.com) //------------ -------------------------------------------------- --- //-- Wenn Sie diese Software unter Open Source Licensing verwenden möchten, müssen Sie Ihren gesamten Quellcode in die Community einbringen und der gesamte obige Text muss in jede Weiterverteilung aufgenommen werden //-- gemäß der GPL Version 2 wenn Ihre Anwendung verteilt wird. Siehe https://www.gnu.org/copyleft/gpl.html //-------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include //-- Otto Library Version 9 Otto9 Otto; //Das ist Otto!

//---------------------------------------------------------

//-- Erster Schritt: Konfigurieren Sie die Pins, an denen die Servos befestigt sind /* -------------- | O O | |---------------| Jahr 3==> | | ----- ------ <== RL 4 |----- ------| */ // SERVO-PINs /////////////////////////////////////////// ///////////////////////////////// #define PIN_YL 2 //servo[0] linkes Bein #define PIN_YR 3 //Servo[1] rechtes Bein #define PIN_RL 4 //Servo[2] linker Fuß #define PIN_RR 5 //Servo[3] rechter Fuß // ULTRASCHALL-PINs ////////////// //////////////////////////////////////////////// ///////// #define PIN_Trigger 8 //TRIGGER Pin (8) #define PIN_Echo 9 //ECHO Pin (9) // SUMMER PIN /////////////// //////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 //SUMMER Pin (13) // SERVO ASSEMBLY PIN //////////////////// /////////////////////////////////////////////// // um Ottos Füße und Beine zusammenzubauen - Drahtverbindung zwischen Pin 7 und GND #define PIN_ASSEMBLY 7 // ASSEMBLY Pin (7) LOW = Montage HIGH = normaler Betrieb ///////////////// //////////////////////////////////////////////// //-- Globale Variablen -------------------------------------------/ / //////////////////////////////////////////////// /////////////////// int-Abstand; // Variable zum Speichern des vom Ultraschall-Entfernungsmessermodul gelesenen Abstands bool HindernisDetected = false; // logischer Zustand, wenn sich das erkannte Objekt in der von uns eingestellten Entfernung befindet //////////////////////////////////// /////////////////////////////// //-- Aufstellen -------------- ---------------------------------------- // //////// //////////////////////////////////////////////// ///////// void setup() { Otto.init(PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Setzen Sie die Servo-Pins und Ultraschall-Pins und den Summer-Pin pinMode (PIN_ASSEMBLY, INPUT_PULLUP); // - Einfacher Montagestift - LOW ist der Montagemodus //Otto wach auf! Otto.sing(S_connection); // Otto macht ein Geräusch Otto.home(); // Otto fährt in die Bereitschaftsposition delay(500); // 500 Millisekunden warten, damit Otto stoppen kann // wenn Pin 7 LOW ist, dann versetzen Sie die Servos von OTTO in den Home-Modus, um eine einfache Montage zu ermöglichen, // wenn Sie mit der Montage von Otto fertig sind, entfernen Sie die Verbindung zwischen Pin 7 und GND während (digitalRead (PIN_ASSEMBLY) == LOW) { Otto.home();// Otto fährt in Bereitschaftsposition Otto.sing(S_happy_short); // alle 5 Sekunden singen, damit wir wissen, dass OTTO noch arbeitet Verzögerung (5000); // 5 Sekunden warten}

}

//////////////////////////////////////////////// ///////////////// //-- Hauptschleife -------------------------- ------------------// ////////////////////////////// /////////////////////////////////// void loop() { if (obstacleDetected) { // if gibt es ein Objekt näher als 15cm dann machen wir folgendes Otto.sing(S_surprise); // eine Überraschung klingen lassen Otto.jump(5, 500); // Otto springt Otto.sing(S_cuddly); // sound a //Otto geht drei Schritte zurück for (int i = 0; i < 3; i++) Otto.walk(1, 1300, -1); // dreimal die Rücklaufbefehlsverzögerung (500) wiederholen; // kleine 1/2 Sekunde Verzögerung, damit Otto sich beruhigen kann // Otto dreht sich 3 Schritte nach links für (int i = 0; i < 3; i++) {// dreimal wiederholen Otto.turn(1, 1000, 1); // die Befehlsverzögerung nach links gehen (500); // kleine Verzögerung von 1/2 Sekunde, damit Otto sich beruhigen kann } } else { // wenn nichts vor, dann vorwärts gehen Otto.walk (1, 1000, 1); //Otto gerader HindernisDetector(); // Rufen Sie die Funktion auf, um den Ultraschall-Entfernungsmesser auf ein Objekt zu überprüfen, das näher als 15 cm ist } } /////////////////////////////// /////////////////////////////////// //-- Funktionen --------- ------------------------------------------ // /////// //////////////////////////////////////////////// /////////

/-- Funktion zum Auslesen des Abstandssensors und zum Aktualisieren von Hinderniserkennungsvariable

Void HindernisDetector () { Int Distance = Otto.getDistance (); // den Abstand vom Ultraschall-Entfernungsmesser abrufen if (Abstand < 15) HindernisDetected = true; // prüfen, ob dieser Abstand näher als 15 cm ist, true, wenn es sich sonst um HindernisDetected = false; // false, wenn nicht }

Empfohlen: