sâmbătă, 22 ianuarie 2011

Arduino si senzor de distanta SHARP

In urmatorul montaj folosesc:
  • Arduino Duemilanove
  • SHARP GP2D120
  • LCD Serial 16x2
  • LED
SHARP GP2D120 este un senzor de distanta analog; cu ajutorul valorilor returnate de acesta putem pune diferite conditii.
In montajul meu senzorul afiseaza valoarea pe LCD iar cand valoarea returnata de senzor e mai mica decat 70, se aprinde un LED. 
 Senzorul se conecteaza la 5v, GND si pinul de semnal la un pin analog din arduino.

COD:

#include SoftwareSerial.h

int IRpin = 0;
int LED = 12;
#define rxPin 2                                                          
#define txPin 3

SoftwareSerial LCD =  SoftwareSerial(rxPin, txPin); 

void setup() {
  pinMode(rxPin, INPUT);                                                 
  pinMode(txPin, OUTPUT);                                                
  pinMode(LED, OUTPUT);                                                   
  LCD.begin(9600);   
}

void loop() {
  float volts = analogRead(IRpin)* ((float) 5 / 1024);
  float distance = 65*pow(volts, -1.10);

   LCD.print("$CLEAR\n\r");
   LCD.print("$GO 1 4\n\r");
   LCD.print("$PRINT Distanta: \n\r");
   LCD.print("\n\r");
   LCD.print("$GO 2 1\n\r");
   LCD.print("$PRINT ");
   LCD.print(distance, DEC);
   LCD.print("\n\r");
  
   delay(100);
   
   if (distance<70)
      digitalWrite(LED, HIGH);                                          
   else
      digitalWrite(LED, LOW);
}


Niciun comentariu:

Trimiteți un comentariu