119 lines
2.1 KiB
Plaintext
119 lines
2.1 KiB
Plaintext
byte val = 0;
|
|
int speed1 = 9;
|
|
int speed2 = 10;
|
|
int g1a = 4;
|
|
int g1b = 5;
|
|
int g2a = 7;
|
|
int g2b = 6;
|
|
|
|
void stop()
|
|
{
|
|
digitalWrite(g1a, LOW);
|
|
digitalWrite(g1b, LOW);
|
|
analogWrite(speed1, 0);
|
|
digitalWrite(g2a, LOW);
|
|
digitalWrite(g2b, LOW);
|
|
analogWrite(speed2, 0);
|
|
}
|
|
|
|
void izquierda(int iz)
|
|
{
|
|
//stop();
|
|
//delay(100);
|
|
digitalWrite(g1a, HIGH);
|
|
digitalWrite(g1b, LOW);
|
|
//digitalWrite(g2a, LOW);
|
|
//digitalWrite(g2b, LOW);
|
|
analogWrite(speed2, 0);
|
|
/*for (int i=64; i <= iz; i=i+10){
|
|
analogWrite(speed1, i);
|
|
delay(100);
|
|
} */
|
|
analogWrite(speed1, iz);
|
|
}
|
|
|
|
void derecha(int der)
|
|
{
|
|
//stop();
|
|
//delay(100);
|
|
digitalWrite(g2a, HIGH);
|
|
digitalWrite(g2b, LOW);
|
|
//digitalWrite(g1a, LOW);
|
|
//digitalWrite(g1b, LOW);
|
|
analogWrite(speed1, 0);
|
|
/*for (int i=64; i <= der; i=i+10){
|
|
analogWrite(speed2, i);
|
|
delay(100);
|
|
} */
|
|
analogWrite(speed2, der);
|
|
}
|
|
|
|
void retrocede(int re)
|
|
{
|
|
stop();
|
|
//delay(100);
|
|
digitalWrite(g2a, HIGH);
|
|
digitalWrite(g2b, LOW);
|
|
digitalWrite(g1a, HIGH);
|
|
digitalWrite(g1b, LOW);
|
|
/*for (int i=64; i <= re; i=i+10){
|
|
analogWrite(speed1, i);
|
|
analogWrite(speed2, i);
|
|
delay(100);
|
|
} */
|
|
analogWrite(speed2, re);
|
|
analogWrite(speed1, re);
|
|
}
|
|
|
|
void avanza(int av)
|
|
{
|
|
stop();
|
|
//delay(100);
|
|
digitalWrite(g2a, LOW);
|
|
digitalWrite(g2b, HIGH);
|
|
digitalWrite(g1a, LOW);
|
|
digitalWrite(g1b, HIGH);
|
|
/*for (int i=64; i <= av; i=i+10){
|
|
analogWrite(speed1, i);
|
|
analogWrite(speed2, i);
|
|
delay(100);
|
|
} */
|
|
analogWrite(speed2, av);
|
|
analogWrite(speed1, av);
|
|
}
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(9600);
|
|
delay(100);
|
|
pinMode(g2a, OUTPUT);
|
|
pinMode(g2b, OUTPUT);
|
|
pinMode(g1a, OUTPUT);
|
|
pinMode(g1b, OUTPUT);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
if (Serial.available()) {
|
|
val = Serial.read();
|
|
switch (val) {
|
|
case 0x80:
|
|
avanza(255);
|
|
break;
|
|
case 0x81:
|
|
retrocede(255);
|
|
break;
|
|
case 0x82:
|
|
izquierda(255);
|
|
break;
|
|
case 0x83:
|
|
derecha(255);
|
|
break;
|
|
case 0x84:
|
|
stop();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|