Loading...
Pages: 1 2 [3]   Go Down
Author Topic: Arduino Robot  (Read 818 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How do I make the right and left leds blink? I tried
Code:
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
but it just blinks once and doesn't repeat. I cannot add a void loop in there as well.

Whole Code:
Code:
#include <IRremote.h>
#include <IRremoteInt.h>

#include <IRremote.h>
#include <IRremoteInt.h>

// Robot With IR remote
// by Neil Hendrick
//

//this imports the IR Library (must be present in libraries folder)
int dir_b = 13; // Direction pin for motor B is Digital 12
int pwm_b = 11; // Speed pin for motor B is Digital 9 (PWM)
int dir_a = 12; // Direction pin for motor A is Digital 13
int pwm_a = 3; // Speed pin for motor A is Digital 10 (PWM)
int dir = 0;
int RECV_PIN = 8;// IR receiver
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup()
{
  pinMode(dir_b, OUTPUT);
  pinMode(dir_a, OUTPUT);
  pinMode(pwm_b, OUTPUT);
  pinMode(pwm_a, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(9, OUTPUT);
   
Serial.begin(9600); //begin serial connection, prints output to your PD
irrecv.enableIRIn(); // Start the receiver

}

void loop(){ //start loop
    if (irrecv.decode(&results)) {
    if (results.value == 0xBEEC847B) { //UP forward
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(10, LOW);
digitalWrite(dir_b, 1); // set direction
digitalWrite(dir_a, 1); // set direction
analogWrite(pwm_b, 255); // set speed (PWM)
analogWrite(pwm_a, 255); // set speed (PWM)
     }// close UP
     else if (results.value == 0xBEECA45B) { //DOWN backward
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(10, LOW);
digitalWrite(dir_b, 0); // set direction
digitalWrite(dir_a, 0); // set direction
analogWrite(pwm_b, 255); // set speed (PWM)
analogWrite(pwm_a, 255); // set speed (PWM)
     }
     else if (results.value == 0xBEEC44BB) { //LEFT
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(10, LOW); 
digitalWrite(dir_b, 1); // set direction
digitalWrite(dir_a, 1); // set direction
analogWrite(pwm_b, 255); // set speed (PWM)
analogWrite(pwm_a, 128); // set speed (PWM)
  digitalWrite(9, HIGH);   // set the LED on
  delay(500);         
  digitalWrite(9, LOW);    // set the LED off
  delay(500);
     }
     else if (results.value == 0xBEEC24DB) { //RIGHT
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(10, LOW);     
digitalWrite(dir_b, 1); // set direction
digitalWrite(dir_a, 1); // set direction
analogWrite(pwm_b, 128); // set speed (PWM)
analogWrite(pwm_a, 255); // set speed (PWM)
  digitalWrite(12, HIGH);   // set the LED on
  delay(500);         
  digitalWrite(12, LOW);    // set the LED off
  delay(500);
     }
     else if (results.value == 0xBEECC43B) { //STOP *
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(10, HIGH);
analogWrite(pwm_b, 0); // set speed (PWM)
analogWrite(pwm_a, 0); // set speed (PWM)
     }
     else if (results.value == 0x57432CD3) { // Spin Left RW
     digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(10, LOW);
digitalWrite(dir_b, 1); // set direction
digitalWrite(dir_a, 0); // set direction
analogWrite(pwm_b, 255); // set speed (PWM)
analogWrite(pwm_a, 255); // set speed (PWM)
     }
     else if (results.value == 0xBEEC2AD5) { //Spin Right FF
     digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(10, LOW);
digitalWrite(dir_b, 0); // set direction
digitalWrite(dir_a, 1); // set direction
analogWrite(pwm_a, 255); // set speed (PWM)
analogWrite(pwm_b, 255); // set speed (PWM)
     }
     else if (results.value == 0xBEECCA35) { //Spin Right FF
     digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(10, LOW);
digitalWrite(dir_b, 0); // set direction
digitalWrite(dir_a, 1); // set direction
analogWrite(pwm_b, 255); // set speed (PWM)
analogWrite(pwm_a, 255); // set speed (PWM)
     }
    Serial.println(results.value, HEX); //sends the IR code to computer so you can see what codes you are sending
    irrecv.resume(); // Receive the next value 
   
    }//close first IF "if (irrecv.decode(&results)){"
} //close loop
Logged

Pages: 1 2 [3]   Go Up
Print
 
Jump to: