Arduino combinacion de motores mas control remoto

//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

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @emaleal6-2_3.

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

Ha copiado el código incorrectamente. Los errores que ves se deben a que muchos comandos no están en la función "setup()". En tu mensaje, CORTA el código. En el IDE, copie el código. En su mensaje, haga clic en el botón < CODE > y pegue su código IDE donde vea "type or paste code here"

"11" debe estar encima de "setup()"
"12" debe estar dentro de "setup()" entre "7" y "8"
"13" debe estar dentro de "setup()" entre "7" y "8"
"14" debe estar dentro de "setup()" entre "8" y "9"
"18" debe estar dentro de "loop()" después de 10
"15" debe estar dentro de "loop()" después de "18"

No copie el código de un documento PDF o HTML. El formato siempre será incorrecto.

Los resultados se verán así...

//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;

//11 habilitamos los motores
const int B1A = 2;
const int B2A = 11;
const int ACA = 9;//const int:lectura escrita
const int A1B = 10;


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);

  //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);

  //8 restablecimiendo el valor en bajo
  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

  //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

  //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
  }

  //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();
}//loop


//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
1 Like

Muchas Gracias

Parece que no entendiste...

Por favor edita tus posts y adjunta el código de acuerdo a las Normas del Foro en Español, punto 7. También usa la opción "Autoformato" del menú "Herramientas" de la IDE antes de copiar el código así nos facilitas su lectura.

La gente que postea mal, no debe ser respondida.
SI le responden, simplemente no les importa corregir el código porque ya tienen lo que quieren.

1 Like