Stap 2: Het Seeed Motor schild Code 2
Dit is het tweede codevoorbeeld voor het beheersen van het Seeed Motorschild V2.0 met een Arduino Uno:
___________
Code voor controleren een Tumbler RC auto
met Arduino Uno en het Seeed Motorschild V2.0
Chris 8/12/14
/ *---Ardunio Shield Pinout besturingselementen---
Een motor schild van het Seeed gebruikt om te rijden 2 DC-motoren
Seeed motor shield gebruik Arduino pin 8 -> 13
Pin 9 wordt ingesteld op inschakelen en snelheid van shield uitgangen 1 & 2
Pin 10 ingesteld inschakelen en snelheid van shield uitgangen 3 & 4
Pin 8 van Uno bepaalt de provincie schild uitgang 1
PIN 11 van Uno controleert de status van de uitgang van het schild 2
Pin 12 van Uno bepaalt de provincie schild uitgang 3
Pin 13 van Uno controleert de status van shiled output 4
*/
---Gedeclareerde variabelen
int leftmotorForward = 8; pin 8---links motor (+) groene draad
int leftmotorBackward = 11; PIN 11---links motor (-) zwarte draad
int leftmotorspeed = 9; pin 9---links motor snelheidssignaal
int rightmotorForward = 12; pin 12---juiste motor (+) groene draad
int rightmotorBackward = 13; pin 13---juiste motor (-) zwart
int rightmotorspeed = 10; pin 10---rechts motor snelheidssignaal
---Snelheden en Timers
int denken = 2000; Lange vertragingstijd tussen stappen
int Runtime = 5000; Hoe lang het duurt om Runtime acties
int Slow = 230; langzame snelheid (van 255 max)
int Fast = 255; hoge snelheid (van 255 max)
//------------------------------------------------------
VOID Setup //---6 pinnen wordt gebruikt zijn uitgangen---
{
pinMode (leftmotorForward, OUTPUT);
pinMode (leftmotorBackward, OUTPUT);
pinMode (leftmotorspeed, OUTPUT);
pinMode (rightmotorForward, OUTPUT);
pinMode (rightmotorBackward, OUTPUT);
pinMode (rightmotorspeed, OUTPUT);
}
---Hoofdprogramma lus---
void loop
{
goForward();
delay(runtime);
Stop();
delay(think);
goBackward();
delay(runtime);
}
---"Sub-rutine" leegtes aangeroepen door de hoofdlus
VOID goForward()
{
analogWrite(leftmotorspeed,Fast); Inschakelen van de linker motor door de snelheid instellen
analogWrite(rightmotorspeed,Fast); Inschakelen van de linker motor door de snelheid instellen
digitalWrite(leftmotorBackward,LOW); Drives lage uitgangen naar beneden eerste om schade te voorkomen
digitalWrite(rightmotorBackward,LOW);
digitalWrite(leftmotorForward,HIGH);
digitalWrite(rightmotorForward,HIGH);
}
VOID goBackward()
{
analogWrite(leftmotorspeed,Slow);
analogWrite(rightmotorspeed,Slow);
digitalWrite(leftmotorForward,LOW);
digitalWrite(rightmotorForward,LOW);
digitalWrite(leftmotorBackward,HIGH);
digitalWrite(rightmotorBackward,HIGH);
}
VOID Stop() / / snelheid pinnen op laag uitschakelen van beide motoren Sets
{
digitalWrite(leftmotorspeed,LOW);
digitalWrite(rightmotorspeed,LOW);
}