Bettgenossen Roboter Bed (63 / 74 schritt)

Schritt 63: Code


Okay - so - beim Arbeiten mit Code es ideal ist, um etwas wie Github verwenden, um Änderungen nachzuverfolgen. Ich tu das nicht. So schrieb ich versehentlich über die aktuelle Arbeitsversion des Codes. Ich habe die letzte gespeicherte Version, aber ich bin mir nicht sicher, wie weit es ist. Es ist wahrscheinlich ein wenig fehlerhaft.

Novertheless, da keiner von euch wahrscheinlich dieses Ding was Weg, und das Bett befindet sich in Stücke zu bauen und nicht in Betrieb, ich werde einfach Posten wird, was ich habe.

Ich verbreite auch Testcode für manuelle Steuerung von Motoren. Suchst du an diesem Projekt für die Anbindung von Arduino, sehr große Motoren durch einen Alltrax motor Controller, wird dieser Code sowieso mehr nützlich für Sie sein.

Zuletzt gespeicherte Version der Roboter Bett Testcode:

/ * Dieses Beispiel-Code ist in der Public Domain. * / //establish Drossel pins Int LeftThrottle = 3; LED verbunden mit digitalen Stift 9 Int RightThrottle = 5; LED mit digitalen Stift 9 //establish Magnet Pins Int LeftOn verbunden = 7; LED mit digitalen Stift 9 Int RightOn verbunden = 8; LED verbunden mit digitalen Stift 9 //establish Schütz Pins Int LeftReverse = 9; Int RightReverse = 10; Die Laufwerksgeschwindigkeit geschickt, um die Drosselklappe Int Gospeed = 86; volatile Int Foserious = 0; VORDERE Int FrontLeftSnd = 30; Int FrontLeftRcv = 31; Int FrontCenterSnd = 32; Int FrontCenterRcv = 33; Int FrontRightSnd = 34; Int FrontRightRcv = 35; RECHTEN Seite Int Side1LeftSnd = 36; Int Side1LeftRcv = 37; Int Side1CenterSnd = 38; Int Side1CenterRcv = 39; Int Side1RightSnd = 40; Int Side1RightRcv = 41; HINTEREN Int BackLeftSnd = 42; Int BackLeftRcv = 43; Int BackCenterSnd = 44; Int BackCenterRcv = 45; Int BackRightSnd = 46; Int BackRightRcv = 47; LINKE Seite Int Side2LeftSnd = 49; Int Side2LeftRcv = 48; Int Side2CenterSnd = 51; Int Side2CenterRcv = 50; Int Side2RightSnd = 53; Int Side2RightRcv = 52; Array aller der Input- und Output-Pin-Namen. Später verwendet, um alle Sensoren im Lesen eine for-Schleife. Int [] SensorOutputs = {FrontLeftSnd, FrontCenterSnd, FrontRightSnd, Side1LeftSnd, Side1CenterSnd, Side1RightSnd, BackLeftSnd, BackCenterSnd, BackRightSnd, Side2LeftSnd, Side2CenterSnd, Side2RightSnd}; Int [] SensorInputs = {FrontLeftRcv, FrontCenterRcv, FrontRightRcv, Side1LeftRcv, Side1CenterRcv, Side1RightRcv, BackLeftRcv, BackCenterRcv, BackRightRcv, Side2LeftRcv, Side2CenterRcv, Side2RightRcv}; Int Dontgo = 0; Anzahl der insgesamt Sensoren Int SensorCount = 12; Int NothingHappening = 0; Int RealCloseLike = 0; Int Goingforward = 0; Int Goingbackward = 0; Int Goingright = 0; Int Goingleft = 0; Int Backhit = 0; Int Fronthit = 0; Int Righthit = 0; Int Lefthit = 0; Int AmountToMove = 1000; Int abgeholt; void setup() {Cli (); //stop Interrupts TCCR1A = 0; / / gesamte TCCR1A-Register auf 0 TCCR1B = 0; / / gleiche für TCCR1B TCNT1 = 0; //initialize Zählerstand auf 0 / / Satz Compare Match Register für 1 hz-Schritten OCR1A = 512; / / = (16 * 10 ^ 6) / (1 * 1024) - 1 (muss < 65536) / / CTC-Modus TCCR1B | = (1 << WGM12); / / Set CS10 und CS12 bits für 1024 Vorteiler TCCR1B | = (1 << CS12) | (1 << CS10); Timer-Compare Interrupt TIMSK1 ermöglichen | = (1 << OCIE1A); //allow Interrupts Serial.begin(9600) (Sei); PinMode (LeftOn, Ausgang); PinMode (RightOn, OUTPUT); PinMode (LeftReverse, Ausgang); PinMode (RightReverse, Ausgang); Stellen Sie sicher, dass das Gerät ausgeschaltet DigitalWrite (LeftOn, LOW); ist DigitalWrite (RightOn, LOW); DigitalWrite (LeftReverse, LOW); DigitalWrite (RightReverse, LOW); Stoßstange Sensor Stifte PinMode (18, Eingang); PinMode (19, Eingang); Vorgegebene Distanz Sensor Output Pins PinMode (FrontLeftSnd, OUTPUT); Klemme 30 PinMode (FrontCenterSnd, OUTPUT); PIN 32 PinMode (FrontRightSnd, OUTPUT); 34-Pin-PinMode (Side1LeftSnd, OUTPUT); PIN 36 PinMode (Side1CenterSnd, OUTPUT); PIN 38 PinMode (Side1RightSnd, OUTPUT); PIN 40 PinMode (BackLeftSnd, OUTPUT); PIN 42 PinMode (BackCenterSnd, OUTPUT); Stift 44 PinMode (BackRightSnd, OUTPUT); PIN 46 PinMode (Side2LeftSnd, OUTPUT); Zapfen 49 PinMode (Side2CenterSnd, OUTPUT); Klemme 51 PinMode (Side2RightSnd, OUTPUT); Distanzsensor PIN 53 //Set input Pins PinMode (FrontLeftRcv, Eingabe); PIN 31 PinMode (FrontCenterRcv, Eingabe); PIN 33 PinMode (FrontRightRcv, Eingabe); PIN 35 PinMode (Side1LeftRcv, Eingabe); PIN 37 PinMode (Side1CenterRcv, Eingabe); Stift 39 PinMode (Side1RightRcv, Eingabe); PIN 41 PinMode (BackLeftRcv, Eingabe); PIN 43 PinMode (BackCenterRcv, Eingabe); PIN 45 PinMode (BackRightRcv, Eingabe); PIN 47 PinMode (Side2LeftRcv, Eingabe); Bolzen 48 PinMode (Side2CenterRcv, Eingabe); PIN 50 PinMode (Side2RightRcv, Eingabe); 52 //And PIN warten einen Augenblick delay(3000); } void loop() {lookAllAround(); moveRobot(); delay(amountToMove); slowstop(); delay(1500);} ISR(TIMER1_COMPA_vect) {//Interrupt bei Freq 1 kHz, Reed-Schalter zu messen / / erzeugt Pulswelle der Frequenz 8kHz/2 = 4 kHz (dauert zwei Zyklen für volle Welle-Toggle hoch dann niedrig umschalten) wenn (Lefthit == 0 & & Righthit == 0 & & Fronthit == 0 & & Backhit == 0) {if(digitalRead(18) == HIGH) {hardstop(); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); Serial.println ("FUCK YEAH!"); If(goingright == 1) {Righthit = 1; Goingright = 0;} if(goingleft == 1) {Lefthit = 1; Goingleft = 0;} if(goingbackward == 1) {Backhit = 1; Goingbackward = 0;} if(goingforward == 1) {Fronthit = 1; Goingforward = 0;}} } Wenn (Lefthit == 0 & & Righthit == 0 & & Fronthit == 0 & & Backhit == 0) {if(digitalRead(19) == HIGH) {hardstop(); Serial.println ("FUCK Nein
!"); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); If(goingbackward == 1) {Backhit = 1; Goingbackward = 0;} if(goingforward == 1) {Fronthit = 1; Goingforward = 0;} if(goingright == 1) {Righthit = 1; Goingright = 0;} if(goingleft == 1) {Lefthit = 1; Goingleft = 0;}} void moveRobot() {}} {//first zu sehen, ob schlagen--wenn hit während der Bewegung in alle Richtungen - Auto-wählen Sie die andere Richtung / /--sonst wählen Sie zufällig if(backhit == 1) {AmountToMove = 1000; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; abgeholt = 0;} sonst if(fronthit == 1) {AmountToMove = 1000; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; abgeholt = 1;} sonst if(lefthit == 1) {AmountToMove = 500; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; abgeholt = 2;} sonst if(righthit == 1) {AmountToMove = 500; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; hob = 3; } else {abgeholt = random(3); Serial.println ("WTF!?"); AmountToMove = 1000; } switch(picked) {case 0: Goingforward = 1; Goingbackward = 0; Goingright = 0; Goingleft = 0; forwards(); Serial.println ("Geh nach vorne"); zu brechen; Fall 1: Goingforward = 0; Goingbackward = 1; Goingright = 0; Goingleft = 0; Backwards(); Serial.println ("go back"); zu brechen; Fall 2: Goingforward = 0; Goingbackward = 0; Goingright = 1; Goingleft = 0; rechts(); Serial.println ("gehen Sie rechts"); zu brechen; Fall 3: Goingforward = 0; Goingbackward = 0; Goingright = 0; Goingleft = 1; Links(); Serial.println ("gehen Sie links"); zu brechen; } delay(1); Verzögerung zwischen liest für Stabilität} void forwards() {//activate die umgekehrte Schütz DigitalWrite (LeftReverse, HIGH); delay(50); DigitalWrite (RightReverse, HIGH); delay(100); //activate Magnete DigitalWrite (LeftOn, HIGH); DigitalWrite (RightOn, HIGH); //take eine Atem-delay(500); //engage Gas-AnalogWrite (RightThrottle, Gospeed); AnalogWrite (LeftThrottle, Gospeed);} void backwards() {DigitalWrite (RightOn, HIGH), //activate Magnete DigitalWrite (LeftOn, HIGH); //take eine Atem-delay(500); / / Gas-AnalogWrite (RightThrottle zu engagieren Gospeed); AnalogWrite (LeftThrottle, Gospeed); } void rechts() {if(dontgo == 0) {//activate Magnete DigitalWrite (LeftOn, HIGH) DigitalWrite (RightOn, HIGH); //activate die umgekehrte Schütz DigitalWrite (RightReverse, HIGH); //take eine Atem-delay(500); //engage Gas-AnalogWrite (RightThrottle, Gospeed); AnalogWrite (LeftThrottle, Gospeed);} //reset die Variable Dontgo = 0;} void links() {if(dontgo == 0) {//activate Magnete DigitalWrite (LeftOn, HIGH) DigitalWrite (RightOn, HIGH); //activate die umgekehrte Schütz DigitalWrite (LeftReverse, HIGH); //take eine Atem-delay(500); //engage Gas-AnalogWrite (RightThrottle Gospeed); AnalogWrite (LeftThrottle, Gospeed); } //reset die Variable Dontgo = 0; } void slowstop() {für (Int FadeValue = Gospeed; FadeValue > = 0; FadeValue-=5) {/ / setzt den Wert (Bereich von 0 bis 255): AnalogWrite (RightThrottle, FadeValue); AnalogWrite (LeftThrottle, FadeValue); / / warten 30 Millisekunden zu sehen, das Dimmen Wirkung delay(500);} DigitalWrite (LeftOn, LOW); DigitalWrite (RightOn, LOW); DigitalWrite (LeftReverse, LOW); DigitalWrite (RightReverse, LOW); Int Goingforward = 0; Int Goingbackward = 0; Int Goingright = 0; Int Goingleft = 0; delay(2000); lookAllAround(); delay(1000);} void hardstop() {für (Int FadeValue = Gospeed; FadeValue > = 0; FadeValue-=5) {/ / setzt den Wert (Bereich von 0 bis 255): AnalogWrite (RightThrottle, FadeValue); AnalogWrite (LeftThrottle, FadeValue); warten Sie 30 Millisekunden zu dimmen Wirkung altDelay(50) sehen; } DigitalWrite (LeftOn, LOW); DigitalWrite (RightOn, LOW); DigitalWrite (LeftReverse, LOW); DigitalWrite (RightReverse, LOW); } void AltDelay(int x) {für (unsigned Int ich = 0; ich < = X; i ++) {delayMicroseconds(1000);}} void lookAllAround() {langer Dauer, Zoll, cm; für (Int ThisPin = 0; ThisPin < 1; ThisPin ++) {DigitalWrite (SensorOutputs [ThisPin], LOW); delayMicroseconds(2); DigitalWrite (SensorOutputs [ThisPin], HIGH); delayMicroseconds(12); DigitalWrite (SensorOutputs [ThisPin], LOW) Dauer = PulseIn (SensorInputs [ThisPin], HIGH); DigitalWrite (SensorOutputs [ThisPin], LOW); / / konvertieren Sie die Zeit in einem Abstand Zoll = microsecondsToInches(duration); Serial.Print(SensorOutputs[thisPin]); Serial.Print(":"); Serial.Print(inches); Serial.println ("in,"); //Check und überprüfen Sie erneut / / if (> 10 Zoll & & < 25 Zoll) {/ / RealCloseLike = 0; / / für (Int Checkagain = 0; Checkagain < 3 Checkagain ++) {/ / delay(100); / / DigitalWrite (SensorOutputs [ThisPin], LOW); / / delayMicroseconds(2); / / DigitalWrite (SensorOutputs [ThisPin], HIGH); / / delayMicroseconds(12); / / DigitalWrite (SensorOutputs [ThisPin], LOW); / / / / Dauer = PulseIn (SensorInputs [ThisPin], HIGH); / / Zoll = microsecondsToInches(duration); / / DigitalWrite (SensorOutputs [ThisPin], LOW); / / / / delay(100); / / / / if (> 10 Zoll & & < 25 Zoll) {/ / / / Serial.print(SensorOutputs[thisPin]); / / Serial.print (" : "); Serial.Print(inches); Serial.println ("in,"); / / RealCloseLike = RealCloseLike + 1; / / if (RealCloseLike > 2) {/ / Dontgo = 1; / /} / /} / /} / /} //Takes ca. 1/2 Sekunde überprüfen alle Sensoren @ 50uS delay(100); lange MicrosecondsToInches(long microseconds) {}} {/ / nach Parallax Datenblatt für den PING))), es gibt / / 73,746 Mikrosekunden pro Zoll (d.h. klingen Reisen 1130 Füßen pro / / Sekunde). Dies gibt die zurückgelegte Strecke von Ping, ausgehende / / und zurück, so dass die Division durch 2 um die Entfernung des Hindernisses. Siehe auch: < ein Href = "http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf" >< ein Href = "http://www.parallax.com/dl/docs/prod/acc/28015-PI... < / a" > http://www.parallax.com/dl/docs/prod/acc/28015-PI...</a>> return Mikrosekunden / 74 / 2; }

Motorsteuerung Test Codebeispiel:

/ * Dieses Beispiel-Code ist in der Public Domain. * / //establish Drossel pins Int LeftThrottle = 3; LED verbunden mit digitalen Stift 9 Int RightThrottle = 5; LED mit digitalen Stift 9 //establish Magnet Pins Int LeftOn verbunden = 7; LED mit digitalen Stift 9 Int RightOn verbunden = 8; LED verbunden mit digitalen Stift 9 //establish Schütz Pins Int LeftReverse = 9; Int RightReverse = 10; Die Laufwerksgeschwindigkeit geschickt, um die Drosselklappe Int Gospeed = 82; Int NothingHappening = 0; Int RealCloseLike = 0; Int Goingforward = 0; Int Goingbackward = 0; Int Goingright = 0; Int Goingleft = 0; Int Backhit = 0; Int Fronthit = 0; Int Righthit = 0; Int Lefthit = 0; Int AmountToMove = 1000; Int TimeToWait = 30000; Int abgeholt; void setup() {Cli (); //stop Interrupts TCCR1A = 0; / / gesamte TCCR1A-Register auf 0 TCCR1B = 0; / / gleiche für TCCR1B TCNT1 = 0; //initialize Zählerstand auf 0 / / Satz Compare Match Register für 1 hz-Schritten OCR1A = 512; / / = (16 * 10 ^ 6) / (1 * 1024) - 1 (muss < 65536) / / CTC-Modus TCCR1B | = (1 << WGM12); / / Set CS10 und CS12 bits für 1024 Vorteiler TCCR1B | = (1 << CS12) | (1 << CS10); Timer-Compare Interrupt TIMSK1 ermöglichen | = (1 << OCIE1A); //allow Interrupts Serial.begin(9600) (Sei); PinMode (LeftOn, Ausgang); PinMode (RightOn, OUTPUT); PinMode (LeftReverse, Ausgang); PinMode (RightReverse, Ausgang); Stellen Sie sicher, dass das Gerät ausgeschaltet DigitalWrite (LeftOn, LOW); ist DigitalWrite (RightOn, LOW); DigitalWrite (LeftReverse, LOW); DigitalWrite (RightReverse, LOW); Stoßstange Sensor Stifte PinMode (18, Eingang); PinMode (19, Eingang); Und warten Sie einen Moment delay(3000); } void loop() {links(); delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait); forwards(); delay(amountToMove); slowstop(); delay(timeToWait); rechts(); delay(amountToMove); slowstop(); delay(timeToWait); / / / rechts(); delay(amountToMove); slowstop(); delay(timeToWait); forwards(); delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait); links(); delay(amountToMove); slowstop(); delay(timeToWait); / / / forwards(); delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait); forwards(); delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait);} ISR(TIMER1_COMPA_vect) {//Interrupt bei Freq 1 kHz, Reed-Schalter zu messen / / erzeugt Pulswelle der Frequenz 8kHz/2 = 4 kHz (dauert zwei Zyklen für volle Welle-Toggle hoch dann niedrig umschalten) wenn (Lefthit == 0 & & Righthit == 0 & & Fronthit == 0 & & Backhit == 0) {if(digitalRead(18) == HIGH) {hardstop(); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); Serial.println ("FUCK YEAH!"); If(goingright == 1) {Righthit = 1; Goingright = 0;} if(goingleft == 1) {Lefthit = 1; Goingleft = 0;} if(goingbackward == 1) {Backhit = 1; Goingbackward = 0;} if(goingforward == 1) {Fronthit = 1; Goingforward = 0;}} } Wenn (Lefthit == 0 & & Righthit == 0 & & Fronthit == 0 & & Backhit == 0) {if(digitalRead(19) == HIGH) {hardstop(); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); Serial.println ("FUCK Nein!"); If(goingbackward == 1) {Backhit = 1; Goingbackward = 0;} if(goingforward == 1) {Fronthit = 1; Goingforward = 0;} if(goingright == 1) {Righthit = 1; Goingright = 0;} if(goingleft == 1) {Lefthit = 1; Goingleft = 0;}} void moveRobot() {}} {//first zu sehen, ob schlagen--wenn hit während der Bewegung in alle Richtungen - Auto-wählen Sie die andere Richtung / /--sonst wählen Sie zufällig if(backhit == 1) {AmountToMove = 1000; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; abgeholt = 0;} sonst if(fronthit == 1) {AmountToMove = 1000; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; abgeholt = 1;} sonst if(lefthit == 1) {AmountToMove = 500; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; abgeholt = 2;} sonst if(righthit == 1) {AmountToMove = 500; Backhit = 0; Fronthit = 0; Lefthit = 0; Righthit = 0; hob = 3; } else {abgeholt = random(3); Serial.println ("WTF!
?"); AmountToMove = 1000; } switch(picked) {case 0: Goingforward = 1; Goingbackward = 0; Goingright = 0; Goingleft = 0; forwards(); Serial.println ("Geh nach vorne"); zu brechen; Fall 1: Goingforward = 0; Goingbackward = 1; Goingright = 0; Goingleft = 0; Backwards(); Serial.println ("go back"); zu brechen; Fall 2: Goingforward = 0; Goingbackward = 0; Goingright = 1; Goingleft = 0; rechts(); Serial.println ("gehen Sie rechts"); zu brechen; Fall 3: Goingforward = 0; Goingbackward = 0; Goingright = 0; Goingleft = 1; Links(); Serial.println ("gehen Sie links"); zu brechen; } delay(1); Verzögerung zwischen liest für Stabilität} void forwards() {//activate die umgekehrte Schütz DigitalWrite (LeftReverse, HIGH); delay(50); DigitalWrite (RightReverse, HIGH); delay(100); //activate Magnete DigitalWrite (LeftOn, HIGH); DigitalWrite (RightOn, HIGH); //take eine Atem-delay(500); //engage Gas-AnalogWrite (RightThrottle, Gospeed); AnalogWrite (LeftThrottle, Gospeed);} void backwards() {DigitalWrite (RightOn, HIGH), //activate Magnete DigitalWrite (LeftOn, HIGH); //take eine Atem-delay(500); / / Gas-AnalogWrite (RightThrottle zu engagieren Gospeed); AnalogWrite (LeftThrottle, Gospeed); } void rechts() {//activate Magnete DigitalWrite (LeftOn, HIGH) DigitalWrite (RightOn, HIGH); //activate die umgekehrte Schütz DigitalWrite (RightReverse, HIGH); //take eine Atem-delay(500); //engage Gas-AnalogWrite (RightThrottle, Gospeed); AnalogWrite (LeftThrottle, Gospeed);} void links() {//activate Magnete DigitalWrite (LeftOn, HIGH) DigitalWrite (RightOn, HIGH); //activate die umgekehrte Schütz DigitalWrite (LeftReverse, HIGH); //take eine Atem-delay(500); //engage Gas-AnalogWrite (RightThrottle, Gospeed); AnalogWrite (LeftThrottle Gospeed); } void slowstop() {für (Int FadeValue = Gospeed; FadeValue > = 0; FadeValue-=5) {/ / setzt den Wert (Bereich von 0 bis 255): AnalogWrite (RightThrottle, FadeValue); AnalogWrite (LeftThrottle, FadeValue); / / warten 30 Millisekunden zu sehen, das Dimmen Wirkung delay(500);} DigitalWrite (LeftOn, LOW); DigitalWrite (RightOn, LOW); DigitalWrite (LeftReverse, LOW); DigitalWrite (RightReverse, LOW); Int Goingforward = 0; Int Goingbackward = 0; Int Goingright = 0; Int Goingleft = 0;} void hardstop() {für (Int FadeValue = Gospeed; FadeValue > = 0; FadeValue-=5) {/ / setzt den Wert (Bereich von 0 bis 255) : AnalogWrite (RightThrottle, FadeValue); AnalogWrite (LeftThrottle, FadeValue); warten Sie 30 Millisekunden zu dimmen Wirkung altDelay(50) sehen; } DigitalWrite (LeftOn, LOW); DigitalWrite (RightOn, LOW); DigitalWrite (LeftReverse, LOW); DigitalWrite (RightReverse, LOW); } void AltDelay(int x) {für (unsigned Int ich = 0; ich < = X; i ++) {delayMicroseconds(1000);}}

In Verbindung stehende Artikel

Kinder Roboter Bed

Kinder Roboter Bed

asymmetrische Roboter-Bett für Kinder aus 2 Blatt Sperrholz und Handwerkzeugen. Ich fühlte mich mein Sohn war zu jung und möglicherweise Angst auf einen Roboter so zu schlafen, in diesem Beispiel fehlt die bunte, gemalt von Roboter-Details, die ich m
DIY Robot Formenbau, Casting und Arduino-Fernbedienung

DIY Robot Formenbau, Casting und Arduino-Fernbedienung

Erfahren Sie, wie Ihre eigene einzigartige Roboter mit ComposiMold zu bauen.Teileliste:ComposiStone (2 kg), Heißkleber, Sprühkleber, PureCast605, Elmers Kleber, verwendet ComposiMold, ProtoCast85R, Wasser, Spielzeug-Roboter, Silikon, Cardboard Box, F
Wie Sie Ihre eigenen DARPA Robotics Challenge Finale Roboter zu bauen. Wirklich!

Wie Sie Ihre eigenen DARPA Robotics Challenge Finale Roboter zu bauen. Wirklich!

oder wie nicht 2.000.000 zu gewinnen und haben Spaß dabei.EinführungDies ist die erste in einer Reihe von Instructables, die vollständige Dokumentation der wie wir unsere 2013 gebaut werden soll/2015 DARPA Robotics Challenge Roboter (namens Buddy in
Roboter-Kamera-Dolly-System

Roboter-Kamera-Dolly-System

Vor kurzem erhielt ich die Gelegenheit, Servo Stadt Actobotics Build-System auszuprobieren. Während ich es benutzt haben könnte, um sehr viele Dinge zu bauen, entschied ich mich letztlich eine programmierbare Kamera-Dolly-System machen. Dieses Gerät
Labyrinth der Solver-Roboter mit künstlicher Intelligenz mit Arduino

Labyrinth der Solver-Roboter mit künstlicher Intelligenz mit Arduino

(Wer gerne diese Instructable, vergessen Sie bitte nicht darüber abstimmen (oben: rechten Eckfahne). Rex, ist der Roboter auf Robotik und Sensorik Wettbewerben konkurrieren. Vielen Dank! ;-)Diese Instructable entstand bei meinem letzten Projekt: Line
Line Follower Roboter - PID-Regelung - Android Setup

Line Follower Roboter - PID-Regelung - Android Setup

== > Dieses Projekt erhielt den 2. Preis beim 2016 Robotics Contest.Vielen Dank für alle Abstimmungen ;-)Dieses Projekt soll einen Line Follower Roboter mit PID-Regelung zu bauen. Wir werden auch eine Android-Gerät verwenden, um leicht die wichtigste
RC-Car zu autonomen Arduino Roboter

RC-Car zu autonomen Arduino Roboter

Haben Sie sich jemals gewünscht, um einen einfachen autonomen Arduino Roboter konstruieren? Ich war begeistert, einen grundlegenden Arduino Roboter zu bauen, um mein Verständnis von der Arduino, Arduino IDE und den Betrieb von Ultraschallsensoren und
Roboter-Plattform einschließlich h-Brücken aus $10 R/C Auto

Roboter-Plattform einschließlich h-Brücken aus $10 R/C Auto

jedes Mal, wenn ich in einen Laden gehe ich ein Auge für billige Sachen, hackable ist.   Ich habe da in CVS Pharmacy und ein paar anderen Orten "Thunder Tumbler" oder ähnlich benannten R/C Car.  CVS hat in der Vergangenheit gute hackable Spielze
Counter-Strike-Roboter

Counter-Strike-Roboter

Haftungsausschluss: tun Sie nichts albern mit diesem Instructables, denn dies ist rein für Ejudimucation und Wissenschaft.Es war November 2013. Am Thanksgiving Day mein Cousin und Freund meines Bruders kam und wir genossen den Bruch von Left 4 Dead u
Roboter-Kostüm

Roboter-Kostüm

Im Laufe der Jahre habe ich festgestellt, dass dieses Kostüm ist immer wieder von jung und Alt begeistern. Es ist keine Überraschung, entweder, es ist verschiedene Lichter, Summer und Fans (für Tragekomfort) immer machen dieses Kostüm ein Riesenhit.
Bauen Sie eine modulare Roboter Chassis mit Actobotics

Bauen Sie eine modulare Roboter Chassis mit Actobotics

Aus meiner frühen Kindheit habe ich Roboter. Die ersten Film-Roboter jemals wirklich gefällt, ich erinnere mich wo die drei Bots von "Silent Running" (immer noch einer meiner Lieblingsfilme!) Die goofy Fuß Kästchen erreichte mein Interesse an Ro
3D-Druck Walking Robot (Klann Linkage)

3D-Druck Walking Robot (Klann Linkage)

Diese Laufroboter wurde ein Projekt, das ich habe, gehen auf eine Zeitlang jetzt haben gefehlt und ich habe endlich zu beenden, damit ich es mit der Welt teilen!Dieses Projekt ist ziemlich einfach zu konstruieren und erfordert keine keine schwierigen
Robo-Mobil - eine hausgemachte Bluetooth Roboter

Robo-Mobil - eine hausgemachte Bluetooth Roboter

HintergrundDieser Roboter ist eine, die ich gebaut, um zu lernen. Vor diesem Projekt habe ich meine Füße nass mit ein paar kleinere Arduino Projekte wie ein Ultraschall-Roboter, (das nach hinten bewegen würde, bis es einen bestimmten Abstand von der
Roboter-Barkeeper - basierten Arduino

Roboter-Barkeeper - basierten Arduino

Bitte stimmen Sie, wenn Sie es genießen!Dies ist meine erste Instructable. Konstruktiver Kritik ist willkommen!EinführungDies ist eine Anleitung, wie ich ein Roboter Barkeeper-Prototyp basiert auf dem Arduino UNO gebaut. Dies ist mein erstes Instruct