ArduBot (3 / 8 steg)

Steg 3: Arduino Motorshield



När din arduino ombord är monterad, motorshield lätt glider i. Anslut motorwires till styrelser terminalerna.

När din motor sköld är alla anslutna, blir det en fråga om programmering din arduino:

CONST int DIRB = 13. uppsättningar lämnade motor riktning
CONST int DIRA = 12. anger rätt motor riktning
CONST int PWMB = 11; analog; uppsättningar varvtal
CONST int PWMA = 3; analog; uppsättningar varvtal

int PWMAfwd, PWMArev, PWMAleft, PWMAright, PWMAhalt, PWMBfwd, PWMBrev, PWMBleft, PWMBright;

void setup() {
pinMode (DIRB, OUTPUT);
pinMode (PWMB, OUTPUT);
pinMode (PWMA, OUTPUT);
pinMode (DIRA, OUTPUT);
Serial.BEGIN(9600);
PWMAfwd = 200. används för att trimma motorspeeds för olika robot avrättningar
PWMBfwd = 255;
PWMArev = 200.
PWMBrev = 255;
PWMAleft = 200.
PWMBleft = 255;
PWMAright = 200.
PWMBright = 255;
}

void fwd () {//sets motors att vidarebefordra
digitalWrite (DIRA, hög);
digitalWrite (DIRB, hög);
analogWrite (PWMA, PWMAfwd);
analogWrite (PWMB, PWMBfwd);

}

void rev () {//sets motors att vända
digitalWrite (DIRB, låg);
digitalWrite (DIRA, låg);
analogWrite (PWMB, PWMBrev);
analogWrite (PWMA, PWMArev);
}

tomrummet () {//turns bot kvar på plats
digitalWrite (DIRB, låg);
digitalWrite (DIRA, hög);
analogWrite (PWMB, PWMBleft);
analogWrite (PWMA, PWMAleft);
}

Annullera rätt () {/ / varv bot rätta på plats
digitalWrite (DIRB, hög);
digitalWrite (DIRA, låg);
analogWrite (PWMB, PWMBright);
analogWrite (PWMA, PWMAright);
}

void stoppa () {//stops motors
digitalWrite (PWMB, låg);
digitalWrite (PWMA, låg);

}

void directiontest () {

FWD ();
fördröjning (1000);
stoppa ();
fördröjning (1000);
rev ();
fördröjning (1000);
stoppa ();
fördröjning (1000);
(vänster);
fördröjning (1000);
stoppa ();
fördröjning (1000);
(rätt);
fördröjning (1000);
stoppa ();
fördröjning (1000);

}

Ogiltig loop () {
directiontest();
}

Om din bot rörelser inte motsvarar din funktionsnamn du kan åter placera motoriska trådarna så att skriva riktning pin hög uppsättningar motorerna vidarebefordra, eller du kan justera det inom ditt program.

Det är inte nödvändigt att definiera variabler för varje puls bredd modulering process, men jag ville kunna justera motor rusar i olika funktioner.

Se Steg
Relaterade Ämnen

Experimental robotic platform

Hej! Mitt namn är Andrew, och jag är datavetenskap student.Jag började arbeta på denna robot för både roligt och som en del av mitt examensarbete.Det hela började när jag köpte en robot kit från en plats som kallas Conrad: länkDet verkade som en bra...

En Arduino infraröd kontrolleras och hinder skatteundandragande Robot

Hej alla,Detta Instructables är uppdelad i två faser, vilket gör den lämplig för både nybörjare och mellanliggande robot designers.Den första fasen omfattar användningen av arduino nano ombord endast som registeransvarige. Med detta ska vi bygga en r...