Quantcast
Channel: Arduino Forum - Latest topics
Viewing all articles
Browse latest Browse all 15514

Arduino combinacion de motores mas control remoto

$
0
0

//1 incluimos la libreria
#include<IRremote.h>
//2 incluimos la variable
int ledTest = 13;
//3 seteo del receptor
int receptorControl = 2;
//4 incuimos las clases
IRrecv receptor(receptorControl);
decode_results codigoLeido;
void setup(){
//5 habilitamos el monitor serie
Serial.begin(9600);
//6 habilitamos la lectura del receptor
receptor.enableIRIn();
//7 ponemos el ledTest como salida
pinMode(ledTest, OUTPUT);
//8 restablecimiendo el valor en bajo
digitalWrite(ledTest, LOW);
//9 Saludo inicial
digitalWrite(ledTest, HIGH);//1 alto
delay(500);//tiempo
digitalWrite(ledTest, LOW);//2 bajo
delay(500);//tiempo
digitalWrite(ledTest, HIGH);//3 alto
delay(500);//tiempo
digitalWrite(ledTest, LOW);//4 bajo
delay(500);//tiempo
digitalWrite(ledTest, HIGH);//5 alto
delay(500);//tiempo
digitalWrite(ledTest, LOW);//6 bajo
delay(500);//tiempo
}//setup
void loop(){
//10 activamos la condidion
if(receptor.decode(&codigoLeido)){
Serial.print("Ox");
Serial.println(codigoLeido.value, HEX);//hexadecimal
delay(50);//tiempo
receptor.resume();
}//if
}//loop
//11 habilitamos los motores
const int B1A = 2;
const int B2A = 11;
const int ACA = 9;//const int:lectura escrita
const int A1B = 10;
//12 ponemos los pines dijitales como salida
pinMode(B1A, OUTPUT);
pinMode(B2A, OUTPUT);
pinMode(ACA, OUTPUT);
pinMode(A1B, OUTPUT);
pinMode(ledTest, OUTPUT);
//13 ponemos los digitalWrite en alto
digitalWrite(B1A, LOW);
digitalWrite(B2A, LOW);
digitalWrite(ACA, LOW);
digitalWrite(A1B, LOW);
digitalWrite(ledTest, LOW);
//14 habilitamos el saludo inicial 6 veses
digitalWrite(ledTest, HIGH);//bajo
delay(500);//tiempo
digitalWrite(ledTest, LOW);//alto
delay(500);//tiempo
digitalWrite(ledTest, HIGH);//bajo
delay(500);//tiempo
digitalWrite(ledTest, LOW);//alto
delay(500);//tiempo
digitalWrite(ledTest, HIGH);//bajo
delay(500);//tiempo
digitalWrite(ledTest, LOW);//alto
delay(500);//tiempo
//15 habilitamos los parpadeos
parpadeo(1);
adelante();
delay(500);//tiempo
parar();
parpadeo(2);
atras();
delay(500);//tiempo
parar();
parpadeo(3);
derecha();
delay(500);//tiempo
parar();
parpadeo(4);
izquierda();
delay(500);//tiempo
parar();
//16 habilitamos las funciones adenate atras derecha izquierda y parar
void adelante(){
digitalWrite(B1A, HIGH);//alto
digitalWrite(B2A, LOW);//bajo
digitalWrite(ACA, HIGH);//alto
digitalWrite(A1B, LOW);//bajo
}//adelante
void atras(){
digitalWrite(B1A, LOW);//bajo
digitalWrite(B2A, HIGH);//alto
digitalWrite(ACA, LOW);//bajo
digitalWrite(A1B, HIGH);//alto
}//atras
void derecha(){
analogWrite(B1A, HIGH);//alto
analogWrite(B2A, LOW);//bajo
analogWrite(ACA, LOW);//bajo
analogWrite(A1B, HIGH);//alto
}//derecha
void izquierda(){
analogWrite(B1A, LOW);//bajo
analogWrite(B2A, HIGH);//alto
analogWrite(ACA, HIGH);//alto
analogWrite(A1B, LOW);//bajo
}//izquierda
void parar(){
analogWrite(B2A, HIGH); //alto
analogWrite(B2A, HIGH);//alto
analogWrite(ACA, HIGH);//alto
analogWrite(A1B, HIGH);//alto
delay(500);//tiempo
}//parar
//17 habilitamos la funcion parpadeo
void parpadeo(int veces){
for(int j = 0; j< veces; j++){
digitalWrite(ledTest, HIGH);//alto
delay(500);//tiempo
digitalWrite(ledTest, LOW); //bajo
delay(500);//tiempo
}//bucle
}//parpadeo
//18 compara lo que case hace
switch(codigoLeido.value){
//19 botones
case 0XFF30CF://1
analogWrite(B1A, 255);
analogWrite(B2A, 0);
analogWrite(ACA, 255);
analogWrite(A1B, 0);
break;
case 0XFF18E7://2
analogWrite(B1A, 0);
analogWrite(B2A, 255);
analogWrite(ACA, 0);
analogWrite(A1B, 255);
break;
case 0XFF7A85://3
analogWrite(B1A, 255);
analogWrite(B2A, 0);
analogWrite(ACA, 255);
analogWrite(A1B, 0);
break;
case 0XFF10EF://4
analogWrite(B1A, 0);
analogWrite(B2A, 255);
analogWrite(ACA, 0);
analogWrite(A1B, 255);
break;
case 0XFF38CF5://5
analogWrite(B1A, 255);
analogWrite(B2A, 0);
analogWrite(ACA, 255);
analogWrite(A1B, 0);
break;
case 0XFF5AA5://6
analogWrite(B1A, 0);
analogWrite(B2A, 255);
analogWrite(ACA, 0);
analogWrite(A1B, 255);
break;
case 0XFF42BD://7
analogWrite(B1A, 255);
analogWrite(B2A, 0);
analogWrite(ACA, 255);
analogWrite(A1B, 0);
break;
case 0XFF4AB5://8
analogWrite(B1A, 0);
analogWrite(B2A, 255);
analogWrite(ACA, 0);
analogWrite(A1B, 255);
break;
case 0XFF52AD://9
analogWrite(B1A, 255);
analogWrite(B2A, 255);
analogWrite(ACA, 255);
analogWrite(A1B, 255);
break;//fin de case
}//switch. Ayuda por favor

1 post - 1 participant

Read full topic


Viewing all articles
Browse latest Browse all 15514

Trending Articles