control de crucero con arduino
MensajePublicado:05 Abr 2013, 11:16
hola!, supongo que esto os interesara, me lleve un montón de tiempo sin poder acceder por que la función de recuperar contraseña o registrarse daba error en la base de datos y no podía ni postear ni na, ahora mismo le tengo puesto al 106 un control de velocidad de crucero echo en arduino, aunque el código no lo he comentado por pereza, no tengo fotos por que estoy liado con exámenes y vaya, cuando acabe prometo un tutorial en condiciones.
Para que veáis el vídeo, OJO, el vídeo es una puerta mierda, no se por que youtube me lo ha puesto así (la culpa es mía por grabarlo en vertical...) había civiles de por medio y hasta el segundo 40 no se ve mas o menos como funciona, pero bueno, la cosa es que va bien.
Es una prueba de concepto, esa cajita que veis, es un prototipo, cuando tenga tiempo la pasare a un circuito impreso en condiciones y se controlará por bluetooh a través del móvil, también esta implementada que pare cuando se pulsa el freno o se desactiva mediante interruptor. No me demoro mas:
aqui el codigo:
la posición de 180º es por que el servo esta montado del revés, no os asustéis.
ala, a ver que os parece
Saludos!!
Para que veáis el vídeo, OJO, el vídeo es una puerta mierda, no se por que youtube me lo ha puesto así (la culpa es mía por grabarlo en vertical...) había civiles de por medio y hasta el segundo 40 no se ve mas o menos como funciona, pero bueno, la cosa es que va bien.
Es una prueba de concepto, esa cajita que veis, es un prototipo, cuando tenga tiempo la pasare a un circuito impreso en condiciones y se controlará por bluetooh a través del móvil, también esta implementada que pare cuando se pulsa el freno o se desactiva mediante interruptor. No me demoro mas:
aqui el codigo:
Código: Seleccionar todo
// Saved by Simulator for Arduino V0.98.C.1 refer to vitronics.com.au
#include <Servo.h>
Servo servo;
int Pues=180; //posicion del servo
int pinMas=8;
int pinMenos=7;
boolean activo=false;
int pinOn=6;
void setup(){
attachInterrupt(0,apagar,FALLING);
servo.attach(9);
pinMode(pinMas,INPUT);
pinMode(pinMenos,INPUT);
digitalWrite(pinMas,HIGH);
digitalWrite(pinMenos,HIGH);
pinMode(pinOn,INPUT);
digitalWrite(pinOn,HIGH);
}
void loop(){
servo.write(180);
while(true){
if(digitalRead(pinOn)==LOW){
activo=true;
}
while(activo){
if(digitalRead(pinOn)==HIGH){
activo=false;
Pues=180;
servo.write(Pues);
}
if(digitalRead(pinMas)==LOW){
aumentar();
} if(digitalRead(pinMenos)==LOW){
disminuir();
}
}
}
}
void aumentar(){
Pues=Pues-3;
delay(100);
}
void disminuir(){
Pues=Pues+3;
delay(100);
}
void apagar(){
Pues=180;
servo.write(Pues);
activo=false;
}
la posición de 180º es por que el servo esta montado del revés, no os asustéis.
ala, a ver que os parece
Saludos!!