Stap 4: Code
We wilden onze robo omgekeerde gaan en vervolgens naar rechts wanneer het gestoten. Dus is dit de code:
(Geschreven voor Arduino)
#define mota1 4
#define mota2 53
#define motb1 7
#define motb2 6
#define en1 3
#define en2 5
nietig forward(void);
nietig reverse2(void);
nietig pause(void);
nietig right(void);
VOID Setup
{
Serial.begin(9600);
pinMode(19,INPUT);
attachInterrupt(4,bump,LOW);
pinMode(mota1,OUTPUT);
pinMode(mota2,OUTPUT);
pinMode(motb1,OUTPUT);
pinMode(motb2,OUTPUT);
pinMode(en1,OUTPUT);
pinMode(en2,OUTPUT);
}
void loop
{
vooruit();
}
VOID bump()
{
voor (lang ik = 0; ik < 10000; i ++) {}
pause();
}
voor (lang ik = 0; ik < 30000; i ++) {}
reverse2();
}
voor (lang ik = 0; ik < 60000; i ++) {}
rechts();
}
}
VOID vooruit()
{
analogWrite(en1,125);
analogWrite(en2,125);
digitalWrite(mota1,HIGH);
digitalWrite(mota2,LOW);
digitalWrite(motb1,HIGH);
digitalWrite(motb2,LOW);
}
ongeldig reverse2(void) {}
analogWrite(en1,255);
analogWrite(en2,255);
digitalWrite(mota1,LOW);
digitalWrite(mota2,HIGH);
digitalWrite(motb1,LOW);
digitalWrite(motb2,HIGH);
}
VOID right(void)
{
analogWrite(en1,0);
analogWrite(en2,255);
digitalWrite(mota1,HIGH);
digitalWrite(mota2,LOW);
digitalWrite(motb1,HIGH);
digitalWrite(motb2,LOW);
}
VOID pause()
{
analogWrite(en1,0);
analogWrite(en2,0);
}