KARTON ROBOT---DANSEN, DANSEN, DANSEN! (38 / 54 stap)

Stap 38: Test Code opnieuw - functie

De test code wordt steeds lang en verwarrend.

Zoals het nu is, moet elke actie eigen blok code met alle details in het. Dus, een herhalen moet geheel ' nother kopie van de code.

Een gemakkelijke manier om dit te behandelen is dat elke actie in een 'functie' vervolgens de functie aanroepen vanuit de hoofdlus.

De nieuwe code is hieronder. Ik heb genomen alles dat was in de hoofdlus en verplaatst naar het einde. Dan maakte ik elke actie in zijn eigen functie, met een eigen naam.

Als dit (de wijzigingen zijn vetgedrukt):
void RightArmDown() {
Rechterarm naar beneden
Serial.println ("rechterarm naar beneden");
digitalWrite (RightArmDir, laag);
analogWrite (RightArmSpeed, Slow);
vertraging (t1);
analogWrite (RightArmSpeed, Fast);
vertraging (2 * t2);
analogWrite (RightArmSpeed, Slow);
delay(T1);
analogWrite (RightArmSpeed, 0);
delay(2*T1);
}

In de hoofdlus, kunt u nu - de lange sectie van code vervangen door de naam van de functie:

nietig RightArmDown();

Dus - dat maakt de dingen een beetje makkelijker.

Hieronder is de onlangs georganiseerde code (overgenomen als html...)

Een video met het goed werkt:
[1318]


////////////////////// ARDUINO CODE //////////////////////////

 ////// Robot test with little routines made into functions///////////VARIABLES/////////// Direction low = towards body or Foward//Direction High = away from body or Backwardint RightArmDir = 2; int RightArmSpeed = 3; int LeftArmDir = 4; int LeftArmSpeed = 5; int WaistDir = 7; int WaistSpeed = 6; int RightWheelDir = 8; int RightWheelSpeed = 9; int LeftWheelDir = 12; int LeftWheelSpeed = 10; int Slow = 100; int Fast = 200; int t1 = 100; int t2 = 500; int WheelSpeed =120; ///////// SETUP /////////voidsetup() { pinMode(RightArmDir, OUTPUT); pinMode(RightArmSpeed, OUTPUT); pinMode(LeftArmDir, OUTPUT); pinMode(LeftArmSpeed, OUTPUT); pinMode(WaistDir, OUTPUT); pinMode(WaistSpeed, OUTPUT); pinMode(RightWheelDir, OUTPUT); pinMode(RightWheelSpeed, OUTPUT); pinMode(LeftWheelDir, OUTPUT); pinMode(LeftWheelSpeed, OUTPUT); Serial.begin(9600); } //////// MAIN LOOP ///////voidloop() { Serial.println("Start...."); delay(2000); RightArmUp(); RightArmDown(); LeftArmUp(); LeftArmDown(); WaistBendDown(); WaistBendUp(); Foward(); Backward(); Spin(); Serial.println("Repeat...."); } //////////////////////////////////////////////////////// BASIC FUNCTIONS //////////////////////////////////////////////////////////////////void RightArmUp(){ // Test Right ArmSerial.println("Right Arm"); //Right Arm UpSerial.println("Up"); digitalWrite(RightArmDir, HIGH); analogWrite(RightArmSpeed, Slow); delay (t1); analogWrite(RightArmSpeed,Fast); delay (2*t2); analogWrite(RightArmSpeed,Slow); delay(t1); analogWrite(RightArmSpeed, 0); delay(t1); } void RightArmDown(){ //Right Arm DownSerial.println("Right Arm Down"); digitalWrite(RightArmDir, LOW); analogWrite(RightArmSpeed, Slow); delay (t1); analogWrite(RightArmSpeed, Fast); delay (2*t2); analogWrite(RightArmSpeed, Slow); delay(t1); analogWrite(RightArmSpeed, 0); delay(2*t1); } void LeftArmUp(){ // Test Left ArmSerial.println("Left Arm Up"); //Left Arm UpdigitalWrite(LeftArmDir, HIGH); analogWrite(LeftArmSpeed, Slow); delay (t1); analogWrite(LeftArmSpeed, Fast); delay (2*t2); analogWrite(LeftArmSpeed, Slow); delay (t1); analogWrite(LeftArmSpeed, 0); delay(t1); } void LeftArmDown(){ //Left Arm DownSerial.println("Left Arm Down"); digitalWrite(LeftArmDir, LOW); analogWrite(LeftArmSpeed, Slow); delay (t1); analogWrite(LeftArmSpeed, Fast); delay (2*t2); analogWrite(LeftArmSpeed,Slow); delay(t1); analogWrite(LeftArmSpeed, 0); delay(2*t1); } void WaistBendDown(){ // Test WaistSerial.println("Waist Bend Down"); digitalWrite(WaistDir, HIGH); analogWrite(WaistSpeed, Slow); delay (t1); analogWrite(WaistSpeed, Fast); delay (2*t2); analogWrite(WaistSpeed, Slow); delay(t1); analogWrite(WaistSpeed, 0); delay(t1); } void WaistBendUp(){ //Bend UpSerial.println("Up"); digitalWrite(WaistDir, LOW); analogWrite(WaistSpeed, Slow); delay (t1); analogWrite(WaistSpeed, Fast); delay (2*t2); analogWrite(WaistSpeed, Slow); delay(t1); analogWrite(WaistSpeed, 0); delay(2*t1); } void Spin(){ Serial.println("SPIN"); digitalWrite(LeftWheelDir, LOW); digitalWrite(RightWheelDir,HIGH); analogWrite(RightWheelSpeed, WheelSpeed/2); analogWrite(LeftWheelSpeed, WheelSpeed/2); delay (t1); analogWrite(RightWheelSpeed, WheelSpeed); analogWrite(LeftWheelSpeed, WheelSpeed); delay (t2); analogWrite(RightWheelSpeed, WheelSpeed/2); analogWrite(LeftWheelSpeed, WheelSpeed/2); delay(t1); analogWrite(LeftWheelSpeed, 0); analogWrite(RightWheelSpeed, 0); delay(2*t1); } void Foward(){ Serial.println("Go Foward"); digitalWrite(LeftWheelDir, HIGH); digitalWrite(RightWheelDir,HIGH); analogWrite(RightWheelSpeed, WheelSpeed/2); analogWrite(LeftWheelSpeed, WheelSpeed/2); delay (t1); analogWrite(RightWheelSpeed, WheelSpeed); analogWrite(LeftWheelSpeed, WheelSpeed); delay (t2); analogWrite(RightWheelSpeed, WheelSpeed/2); analogWrite(LeftWheelSpeed, WheelSpeed/2); delay(t1); analogWrite(LeftWheelSpeed, 0); analogWrite(RightWheelSpeed, 0); delay(2*t1); } void Backward(){ Serial.println("Go Backward"); digitalWrite(LeftWheelDir, LOW); digitalWrite(RightWheelDir,LOW); analogWrite(RightWheelSpeed, WheelSpeed/2); analogWrite(LeftWheelSpeed, WheelSpeed/2); delay (t1); analogWrite(RightWheelSpeed, WheelSpeed); analogWrite(LeftWheelSpeed, WheelSpeed); delay (t2); analogWrite(RightWheelSpeed, WheelSpeed/2); analogWrite(LeftWheelSpeed, WheelSpeed/2); delay(t1); analogWrite(LeftWheelSpeed, 0); analogWrite(RightWheelSpeed, 0); delay(2*t1); } 

Gerelateerde Artikelen

Karton Robot Wasserij map!

Karton Robot Wasserij map!

Deze robot is geschikt voor het vouwen van overhemden en broek in minder dan 2 seconden! Deze robot het hele lichaam is gemaakt van cardboard.making die dit bot bestond uit karton knippen en het toevoegen van servo's aan elk kartonnen stuk opdrijven.
Karton Robot voor kleine kinderen

Karton Robot voor kleine kinderen

ik bday party 12 robot "kits" voor mijn dochters gemaakt.Als u wilt maken, moet u:2 dozen (een kleiner is dan de andere), zilverpapier lakens, lijmspray, xacto mes, plakband (zilver en rood), Wasserij kabelgoten, chip clip, garde, rond stuk kart
Karton Robot

Karton Robot

Deze robot is gebaseerd op verschillende "walker-robots" gevonden op het web, en het is een van de vele versies van een 2-servo wandelende robot. Ons idee achter deze robot was om te proberen te bouwen een goedkoop als mogelijk robot kit voor ki
Karton Robot hoofd

Karton Robot hoofd

heb je wilde maken van een eenvoudige robot helm voor de lol? Ook zal je deze tutorial over hoe te maken van een eenvoudig, goedkoop en leuk kartonnen robot helm!Stap 1: Lichaam van hoofd Moet u een kartonnen doos ongeveer 1 1/2 voet hoog, een diepte
DIY Karton Robot

DIY Karton Robot

Maak uw eigen kartonnen robot te gebruiken voor weergave, als float decoratie, of gewoon voor een leuke creatieve ambachtelijkeStap 1: Stap 1: verzamelen van materialen 2 verschillende grootte dozen (1 voor het hoofd) en 1 voor het lichaam.verschille
Karton robot baseren op Danboard

Karton robot baseren op Danboard

Van oorsprong uit Japan Danboard, is dit project voor DIY alleen, geen commerciële gebruik. Als u dat dit, koop een Danboard ter ondersteuning van de ontwikkelaar. U kunt download en print met 2 A4-formaat. Geniet van!Stap 1: samenstellen Volg de sta
Bowie dancing robot

Bowie dancing robot

Dit instructable is gebaseerd op http://www.thingiverse.com/thing:1274838 is een kloon van de Spaanse tv-clan robot die het origineel hebben meer opties en introduceert youngs en olds in robotica en nu kunt u uw eigen met dit hardnekkige met deze rob
Dancing, magnetische Robots

Dancing, magnetische Robots

maken een paar robots met behulp van magneten dansen!Terwijl het rommelen met enkele magneten die ik van Ebay gekocht ontdekte ik iets echt cool.  Als u een kleine wasmachine op een vlakke ondergrond en verplaatsen van een magneet in een cirkel beweg
IRobot Create persoonlijke Home Robot

IRobot Create persoonlijke Home Robot

de invoering van een persoonlijke home robot gebouwd rond de iRobot Create platform en een mini-itx-computersysteem.Het is nooit geweest gemakkelijker en betaalbaarder te ontwerpen en bouwen van robots door de benutting van de schaalvoordelen van de
Controle van de MIP Robot met Intel Edison

Controle van de MIP Robot met Intel Edison

Monteren van Edison bestuur, software installeren, schrijf een beetje JS code, dans robot, dans.Stap 1: Snap de Edison-bestuur samenRaad van bestuur uit pop in de chip vak halen.Stap 2: Test bord met Blinky demoBouwen en uitvoeren van Blinky demo die
De magnetische dansen Robots

De magnetische dansen Robots

Inleiding-hoe werkt het?De essentiële instellingen zullen een dikke hardcover boek. Onder de dekking, zullen er twee (of meer kan worden) ronddraaien. Op de cover, kunt u instellen met twee robots van het metaal-gebouwd, en zij zullen te bewegen vanw
Dance Dance Roverbot! Een licht geactiveerd dansen Snap Circuits programmeerbare Robot te bouwen.

Dance Dance Roverbot! Een licht geactiveerd dansen Snap Circuits programmeerbare Robot te bouwen.

In dit Instructable u hoe leert te bouwen een licht geactiveerd dansende Snap Circuits programmeerbare robot. Eerst leert u het installeren van de PICAXE programmering Editor (de PICAXE is de microcontroller, of computer hersenen voor uw dans dans Ro
DISCOBOT: Dansen, Robot stijl!

DISCOBOT: Dansen, Robot stijl!

Het begon allemaal toen ik ging om te zien van Star Wars: The Force ontwaakt en direct viel in liefde met BB-8. Ik besloot, recht toen en daar, dat ik wilde maken van een robot die mensen zou vallen in liefde met.EN SO... DISCOBOT was geboren! DISCOB
Van Sega Cartridge te gek dansen Robot!

Van Sega Cartridge te gek dansen Robot!

(Als je dit instructable, please vote voor mij. Bedankt!)Nu ik ben werkzaam in de Engineering voor Kids Azerbeidzjan, ten slotte heb ik de gelegenheid om kinderen te leren dat ze hun eigen uitvindingen, kunnen maken met behulp van gewone materialen d