Paso 3: control remoto Toyota (Control)
Fue muy difícil tratar de "limpiar" la basura que genera mi controlador RC (usar un transmisor de 20 años de edad y receptor, que se le da como un regalo para mi amigo por su cumpleaños número 10, es tan viejo que cuando se atornille los 4 pernos de la carcasa, el emisor deja de funcionar, si quitar 2 de ellos - funciona otra vez...)
Usé un Arduino Duemilanova, (prestado después mío quemado...)
El sketch de Arduino está abajo:
RC ToyotaControl de familia real coche por control remoto
Agosto de 2013
para más información ver Http://www.KeerBot.com
int ch1 = 5; Aquí es donde guardamos nuestros valores de canal
int ch2 = 6;
out1 int = 8;
out2 int = 9;
out3 int = 10;
int out4 = 11;
int out5 = 2;
out6 int = 3;
Boolean gas_operated = false;
Boolean brake_operated = false;
int ledpin = 13;
tiempo largo sin firmar;
void setup() {}
pinMode (ch1, entrada); Entrada de receptor canal 1
pinMode (ch2, entrada); Entrada de receptor canal 2
pinMode (out1, salida);
pinMode (out2, salida);
pinMode (out3, salida);
pinMode (out4, salida);
pinMode (out5, salida);
pinMode (out6, salida);
pinMode (ledpin, salida);
Serial.Begin(9600); Vierta a un tazón de series - (ha ha ha...)
}
void loop() {}
tiempo = millis();
CH1 = pulseIn (5, alto, 25000); Leer la anchura del pulso de
CH2 = pulseIn (6, alto, 25000); cada canal
Serial.Print(Time);
Serial.Print(";");
Serial.Print(CH1);
Serial.Print(";");
Serial.Print(CH2);
Serial.Print(";");
Si (ch1 > 1700 & & ch1 < 2200) {}
Serial.Print("2500"); Receptor canal 1 señal
digitalWrite (out1, HIGH); Gas ON - pistón de gas FWD
gas_operated = true;
}
else if (ch1 > 1000 & & ch1 < 1400) {}
Serial.Print("1000"); Receptor canal 1 hacia abajo de la señal
digitalWrite (out2, HIGH); Freno encendido - pistón de freno FWD
brake_operated = true;
}
Else {}
Serial.Print("1500"); Señal inactivo del canal 1 del receptor
digitalWrite (out1, LOW); Sin Gas de
digitalWrite (out2, LOW); Sin freno de
Si (brake_operated == true) {}
digitalWrite (ledpin, HIGH); No hay freno ON - pistón de freno BCK
digitalWrite (out5, HIGH); No hay freno ON - pistón de freno BCK
Delay(1500);
brake_operated = false;
digitalWrite (ledpin, LOW); Sin freno de
digitalWrite (out5, LOW); Sin freno de
//}
Si (gas_operated == true) {}
digitalWrite (ledpin, HIGH); No Gas ON - pistón de gas BCK
digitalWrite (out6, HIGH); No Gas ON - pistón de gas BCK
Delay(1500);
gas_operated = false;
digitalWrite (ledpin, LOW); Sin Gas de
digitalWrite (out6, LOW); Sin Gas de
//}
}
Serial.Print(";");
Si (ch2 > 1700 & & ch2 < 2200) {}
Serial.println("2500"); Receptor señal derecha del canal 2
digitalWrite (out3, HIGH);
}
else if (ch2 > 1000 & & ch2 < 1400) {}
Serial.println("1000"); Receptor canal 2 señal izquierda
digitalWrite (out4, HIGH);
}
Else {}
Serial.println("1500"); Receptor señal de ralentí del canal 2
digitalWrite (out3, LOW);
digitalWrite (out4, LOW);
}
Delay(50); Pongo esto aquí para hacer más feliz la ventana de terminal
}