L298 (Motor Driver) och Linkit en (4 / 4 steg)
Steg 4: kod
Koden kan hittas nedan och du kommer att kräva en modifierad Arduino IDE att arbeta med en LinkIt styrelsen att ladda upp koden.
Detta är bara ett exempel på kod vilket gör motorn rotera i motsatta riktningar.
int enA = 10;
int in1 = 9.
int in2 = 8.
motor två
int enB = 5;
int in3 = 7.
int in4 = 6;
void setup()
{
Ange alla motorisk kontroll stift till utgångar
pinMode (enA, produktionen);
pinMode (enB, produktionen);
pinMode (in1, produktionen);
pinMode (in2, produktionen);
pinMode (in3, produktionen);
pinMode (in4, produktionen);
}
void demoOne()
{
denna funktion kommer att köra motorerna i båda riktningarna vid en fast hastighet
slå på motor A
digitalWrite (in1, hög);
digitalWrite (in2, låg);
inställd hastighet på 200 utanför möjliga intervallet 0 ~ 255
analogWrite (enA, 200);
slå på motor B
digitalWrite (in3, hög);
digitalWrite (in4, låg);
inställd hastighet på 200 utanför möjliga intervallet 0 ~ 255
analogWrite (enB, 200);
Delay(2000);
nu ändra riktning på motor
digitalWrite (in1, låg);
digitalWrite (in2, hög);
digitalWrite (in3, låg);
digitalWrite (in4, hög);
Delay(2000);
nu stänga av motorer
digitalWrite (in1, låg);
digitalWrite (in2, låg);
digitalWrite (in3, låg);
digitalWrite (in4, låg);
}
void demoTwo()
{
denna funktion kommer att köra motorerna över hela skalan av möjliga hastighet
Observera att maximal hastighet bestäms av motorn själv och driftspänningen
PWM värden skickas av analogWrite() är fraktioner av den högsta möjliga
av din hårdvara
slå på motorer
digitalWrite (in1, låg);
digitalWrite (in2, hög);
digitalWrite (in3, låg);
digitalWrite (in4, hög);
accelerera från noll till högsta hastighet
för (int jag = 0; jag < 256; i ++)
{
analogWrite(enA, i);
analogWrite(enB, i);
Delay(20);
}
retardera från högsta hastighet till noll
för (int jag = 255; jag > = 0; i--)
{
analogWrite(enA, i);
analogWrite(enB, i);
Delay(20);
}
nu stänga av motorer
digitalWrite (in1, låg);
digitalWrite (in2, låg);
digitalWrite (in3, låg);
digitalWrite (in4, låg);
}
void loop()
{
demoOne();
Delay(1000);
demoTwo();
Delay(1000);
}