Arduino (IoT) Video Serie: Kit de Carro Parte 4 (IR)

4WD Car Kit Arduino Santiapps Series

Arduino Honduras Santiapps Marcio Valenzuela

Arduino (IoT) Video Serie: Kit de Carro Parte 4 (IR)

Este es el codigo final:

#include "AFMotor.h"
#include "IRremote.h"

AF_DCMotor motor1(1, MOTOR12_64KHZ); // create motor #1, 64KHz pwm
AF_DCMotor motor2(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
AF_DCMotor motor3(3, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
AF_DCMotor motor4(4, MOTOR12_64KHZ); // create motor #2, 64KHz pwm

int RECV_PIN = 10;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Motor test!");
  irrecv.enableIRIn(); // Start the receiver

  motor1.setSpeed(200);     // set the speed to 200/255
  motor2.setSpeed(200);     // set the speed to 200/255
  motor3.setSpeed(200);     // set the speed to 200/255
  motor4.setSpeed(200);     // set the speed to 200/255
}

void loop() {

  //Recibir & Analizar codigo recibido
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);

      if (results.value == 0x2C2E80FF){
        Serial.println("forward");
        forward();
        delay(2000);
        brake();
      } else if (results.value == 0x5A1A483D){
        Serial.println("backward");
        backward();
        delay(2000);
        brake();
      } else if (results.value == 0x9578646A){
        Serial.println("left");
        left();
        delay(1000);
        brake();  
      } else if (1==1) {
        Serial.println("right");
        right();
        delay(1000);
        brake();  
      }

      irrecv.resume(); // Receive the next value
  } 
}

void forward(){
  Serial.println("running forward");
  motor3.run(FORWARD);   
  motor4.run(FORWARD);     
}
void backward(){
  Serial.println("running backward");
  motor3.run(BACKWARD);    
  motor4.run(BACKWARD);    
}
void left(){
  motor3.run(FORWARD);   
}
void right(){
  motor4.run(FORWARD);    
}
void brake(){
  motor1.run(RELEASE);    
  motor2.run(RELEASE);    
  motor3.run(RELEASE);    
  motor4.run(RELEASE);      
}

Arduino (IoT): Simple Tutorial de IR Receptor/Transmisor Parte 1

Infrared IR Sensors Arduino Santiapps
Arduino IoT Arduino (IoT): Simple Tutorial de Infrarojo (IR) Receptor/Transmisor by Santiapps Marcio Valenzuela
Arduino IoT Arduino (IoT): Simple Tutorial de Infrarojo (IR) Receptor/Transmisor

Arduino (IoT): Simple Tutorial de IR Receptor/Transmisor 

 

IR es un tipo de comunicación que se utiliza en proyectos para controlar componentes.  Aquí hacemos un breve ejemplo de como usar un receptor.

 

Conexiones

Arduino (IoT) Simple Tutorial Infrarojo (IR) Receptor/Transmisor by Santiapps Marcio Valenzuela
Arduino (IoT) Simple Tutorial Infrarojo (IR) Receptor/Transmisor

Codigo
[code]
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup(){
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
}
[/code]

Aqui vemos como el modulo receptor recibe las señales de un control remoto que tiene una LED IR adentro.  En el proximo tutorial veremos como usar la LED IR que viene con el Receptor IR, para armar nuestro propio control.

Video

Arduino (IoT) Video Serie: Kit de Carro Parte 3

4WD Car Kit Arduino Santiapps Series

Arduino Honduras Santiapps Marcio Valenzuela

Arduino IoT: Video tutorial Kit de Carro Parte 3

Este es el codigo final:

#include  <AFMotor.h>

AF_DCMotor motor1(1, MOTOR12_64KHZ); // create motor #1, 64KHz pwm
AF_DCMotor motor2(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
AF_DCMotor motor3(3, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
AF_DCMotor motor4(4, MOTOR12_64KHZ); // create motor #2, 64KHz pwm

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Motor test!");
  
  motor1.setSpeed(200);     // set the speed to 200/255
  motor2.setSpeed(200);     // set the speed to 200/255
  motor3.setSpeed(200);     // set the speed to 200/255
  motor4.setSpeed(200);     // set the speed to 200/255
}

void loop() {
  
  motor1.run(FORWARD);      // turn it on going forward
  delay(1000);
  motor1.run(BACKWARD);     // the other way
  delay(1000);
  motor1.run(RELEASE);      // stopped
  delay(5000);

  motor2.run(FORWARD);      // turn it on going forward
  delay(1000);
  motor2.run(BACKWARD);     // the other way
  delay(1000);
  motor2.run(RELEASE);      // stopped
  delay(1000);

  motor3.run(FORWARD);      // turn it on going forward
  delay(1000);
  motor3.run(BACKWARD);     // the other way
  delay(1000);
  motor3.run(RELEASE);      // stopped
  delay(5000);

  motor4.run(FORWARD);      // turn it on going forward
  delay(1000);
  motor4.run(BACKWARD);     // the other way
  delay(1000);
  motor4.run(RELEASE);      // stopped
  delay(1000);
}

void forward(){}
void backward(){}
void brakes(){}