Labels

Thursday, April 20, 2017

How do i program IR Sensor - Arduino

FC-51 IR Sensor Module


FC-51 IR sensor module is a proximity sensor module. We can identify obstacle in front of sensor. So it has built in IR transmitter and IR receiver. It also has built in potentiometer to adjust distance rage. IR sensor module operate in 2cm-30cm range. FC-51 is compatible with Arduino.


Technical Specification 

1. Operation Voltage - 3.3V - 5V
2. Detection Angle   -35 degrees
3 Active Output level - Outputs Low logic level when obstacle is detected
4.Detection range: 2cm – 30cm (Adjustable using potentiometer)

PIN Out & In

1. VCC - 3.3V-5V DC power input
2. GND -0V Power pin
3. OUT -  Digital Output Pin


Programming 

There are may way to do it. So here i try to use IR sensor with Arduino Uno board. When obstacle is detected by sensor, it will generate LOW output, otherwise output is HIGH.


Example 1 

int irSenRead =7;
int isObstacle = HIGH;
void setup() {

  pinMode(irSenRead ,INPUT);
   Serial.begin(9600);

}

void loop() {

  isObstacle = digitalRead(irSenRead); // // Read IR sensor output
   Serial.println(digitalRead(irSenRead)); // // print the output

  // // isObstacle ==low there is obstacle infront of sensor
  // // using serial monitor we can see this output
  if (isObstacle == LOW) {
    Serial.println("OBSTACLE");
  }
  else
  {
    Serial.println("NO");
  }

  delay(500);
}

Example 2
In below code sample .LED bulb will be on when obstacle detected

int irSenRead =7;
int LED=6;
int isObstacle = HIGH;
int delayRead =100;
void setup() {

  pinMode(irSenRead ,INPUT);
   pinMode(LED ,OUTPUT);
   Serial.begin(9600);

}

void loop() {

  isObstacle = digitalRead(irSenRead);
   Serial.println(digitalRead(irSenRead));

   // isObstacle ==low there is obstacle infront of sensor
  if (isObstacle == LOW) {
    digitalWrite(LED ,HIGH);
  }
  else
  {
    digitalWrite(LED ,LOW);
  }

  delay(delayRead);
}



Monday, April 17, 2017

LEDs blink in a sequence with Arduino [Knight Rider]

LEDs blink in a sequence with Arduino [Knight Rider]


We all remember TV-series from the 80's Knight Rider. So  there was a car with LED flash. This time I used Arduino UNO board to program LED display, here I used 10 LED bulbs. There are many way to program micro chip in Arduino.


Knight Rider 1

void setup() {

  
     pinMode(2,OUTPUT);
       pinMode(3,OUTPUT);
         pinMode(4,OUTPUT);
           pinMode(5,OUTPUT);
             pinMode(6,OUTPUT);
               pinMode(7,OUTPUT);
                pinMode(8,OUTPUT);
                 pinMode(9,OUTPUT);
                  pinMode(10,OUTPUT);
                   pinMode(11,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
    for(int i=1;i<12;i=i+1)
 {
  digitalWrite(i,HIGH);
  digitalWrite(i+1,HIGH);
  digitalWrite(i+2,HIGH);
  
  delay(100);
  digitalWrite(i,LOW);
  digitalWrite(i+1,LOW);
  digitalWrite(i+2,LOW);
  
 }

for(int i =12 ;i>=1;i--)
 {
  digitalWrite(i,HIGH);
   digitalWrite(i-1,HIGH);
    digitalWrite(i-2,HIGH);
  delay(100);
  digitalWrite(i,LOW);
   digitalWrite(i-1,LOW);
     digitalWrite(i-2,LOW);
  
 }
}

Knight Rider 2

int pinArray[] = {2, 3, 4, 5, 6, 7,8,9,10,11};

int delayTime = 100;
void setup() {
  // put your setup code here, to run once:
for (int i=0;i<11;i++) {
    pinMode(pinArray[i], OUTPUT);
  }
}

void loop() {
  for (int i=2;i<11;i++) {
   digitalWrite(pinArray[i], HIGH);   
   digitalWrite(pinArray[i+1], HIGH);
   digitalWrite(pinArray[i+2], HIGH);
     delay(delayTime);

    digitalWrite(pinArray[i], LOW);   
   digitalWrite(pinArray[i+1], LOW);
   digitalWrite(pinArray[i+2], LOW);
  }
  for (int i=11;i>=2;i--) { 

  digitalWrite(pinArray[i],HIGH);
  digitalWrite(pinArray[i-1],HIGH);
  digitalWrite(pinArray[i-2],HIGH);
    delay(delayTime);
  digitalWrite(pinArray[i],LOW);
  digitalWrite(pinArray[i-1],LOW);
  digitalWrite(pinArray[i-2],LOW);
  }

}