so is everyone going to write your code for you?
#include <IRremote.h>
long int Buttons[7] = {
3203171451, //0Up in decimal
3203179611, //1Down
3203155131, //2Left //
3203146971, //3right //
3203187771, //stop //
3203189301, //spin left RW //
3203148501 //spin right ff
};
//-----IR-Stuff---------------------------------------------------//
int RECV_PIN = 10;
IRrecv irrecv(RECV_PIN);
decode_results results;
int BtnPressed = 0;
//----------------------------------------------------------------//
//robotstuff
int dirbpinB = 13; // Direction pin for motor B is Digital 13
int mtrspeedbpinB = 11; // mtrspeed pin for motor B is Digital 11 (PWM)
int dirbpinA = 12; // Direction pin for motor A is Digital 12
int mtrspeedbpinA = 3; // mtrspeed pin for motor A is Digital 3 (PWM)
int mtrspeed = 100;
int dir = 0;
void setup()
{
Serial.begin(9600);
pinMode(dirbpinB, OUTPUT);
pinMode(dirbpinA, OUTPUT);
irrecv.enableIRIn(); // Start the receiver
}
void dump(decode_results *results)
{
if (results->decode_type == NEC)
{
unsigned long store = (results->value);
//Serial.println(store);
for(int x=0; x<7; ++x)
{
if(store == Buttons[x])
{
BtnPressed = x;
// Serial.println(x);
}
}
}
}
void loop()
{
if (irrecv.decode(&results))
{
dump(&results);
if(BtnPressed == 0) //up
{
Serial.println("up");
digitalWrite(dirbpinB, 1); // set direction
digitalWrite(dirbpinA, 1); // set direction
analogWrite(mtrspeedbpinB, mtrspeed); // set mtrspeed (PWM)
analogWrite(mtrspeedbpinA, mtrspeed); // set mtrspeed (PWM)
}
else if(BtnPressed == 1) //down
{
Serial.println("down");
digitalWrite(dirbpinB, 0); // set direction
digitalWrite(dirbpinA, 0); // set direction
analogWrite(mtrspeedbpinB, mtrspeed); // set mtrspeed (PWM)
analogWrite(mtrspeedbpinA, mtrspeed); // set mtrspeed (PWM)
}
else if(BtnPressed == 2) //left
{
Serial.println("left");
digitalWrite(dirbpinB, 1); // set direction
digitalWrite(dirbpinA, 1); // set direction
analogWrite(mtrspeedbpinB, mtrspeed); // set mtrspeed (PWM)
analogWrite(mtrspeedbpinA, 50); // set mtrspeed (PWM)
}
else if(BtnPressed == 3) //right
{
Serial.println("right");
digitalWrite(dirbpinB, 1); // set direction
digitalWrite(dirbpinA, 1); // set direction
analogWrite(mtrspeedbpinB, 50); // set mtrspeed (PWM)
analogWrite(mtrspeedbpinA, mtrspeed); // set mtrspeed (PWM)
}
else if(BtnPressed == 4) //stop
{
Serial.println("stop");
analogWrite(mtrspeedbpinB, 0); // set mtrspeed (PWM)
analogWrite(mtrspeedbpinA, 0); // set mtrspeed (PWM)
}
else if(BtnPressed == 5) //Spin Left RW
{
Serial.println("Spin Left");
digitalWrite(dirbpinB, 1); // set direction
digitalWrite(dirbpinA, 0); // set direction
analogWrite(mtrspeedbpinB, mtrspeed); // set mtrspeed (PWM)
analogWrite(mtrspeedbpinA, mtrspeed); // set mtrspeed (PWM)
}
else if(BtnPressed == 6) //Spin Right FF
{
Serial.println("Spin Right");
digitalWrite(dirbpinB, 0); // set direction
digitalWrite(dirbpinA, 1); // set direction
analogWrite(mtrspeedbpinB, mtrspeed); // set mtrspeed (PWM)
analogWrite(mtrspeedbpinA, mtrspeed); // set mtrspeed (PWM)
}
irrecv.resume(); // Receive the next value
}
}