You are on page 1of 3

#include <IRremote.

h>
int receptor = 3;

int M1=5;
int M2=6;
int VE=9;
int estado = 0;
int ps= 0;
int sensor = 4; int st ;
int pushA = 8 ; int up;
int pushB = 7 ; int down;

IRrecv irrecv(receptor);
decode_results codigo; //OBJETO CODIGO DE CLASE decode_result, oriundo de IRremote.h

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // INICIA LA RECEPCIÓN
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
pinMode(VE, OUTPUT);
pinMode (receptor, INPUT);
pinMode (sensor, INPUT);
pinMode (pushA, INPUT);
pinMode (pushB, INPUT);

void loop()
{
Serial.println(estado,3);
st= digitalRead(sensor);
up= digitalRead(pushA);
down= digitalRead(pushB);

if (codigo.value==0xFF22DD||codigo.value==0x52A3D41F){estado=1;}
if (up==HIGH){estado=1;}
if (codigo.value==0xFFC23D||codigo.value==0x20FE4DBB){estado=2;}
if (down==HIGH){estado=2;}
if (codigo.value==0xFFA25D||codigo.value==0xE318261B){estado=5;}

if (estado==1 && (ps==8 || ps==0))//BAJAR


{
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
analogWrite(VE,255);
st=HIGH;
delay (4000);
estado=3;

if (estado==2&& (ps==9 || ps==0))//SUBIR


{

digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
analogWrite(VE,250);
st=HIGH;
delay (4000);
estado=4;

if (estado==3){
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
analogWrite(VE,255);
delay (11000);
estado=5;
ps=9;

}
if(estado==4){

digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
analogWrite(VE,250);

if (st==LOW){
estado=5;
ps=8; }

if (estado==5)//PARAR
{
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
analogWrite(VE,0);
}

if (irrecv.decode(&codigo))
{
Serial.println(codigo.value, HEX);

delay(100);
irrecv.resume();

}
delay (100);

You might also like