Grove - Infrared Reflective Sensor
Infrared Reflective Sensor används för att detektera närvaron av ett objekt inom ett visst område. Sensorn består av en IR-lampa och en fotosensor (fototransistor) par. Det ljus som emitteras av IR-lampan återspeglas av objekt som placeras framför sensorn och denna reflektion detekteras av fotosensorn. Vilken vit (eller ljusare) färgad yta reflekterar mer än svart (eller mörkare) färgad yta. När det reflekterade ljuset detekteras, producerar det Digital LOW (eller Binary 0) -utgången. Den inbyggda LED-indikatorn lyser också. Om ingen reflektion detekteras eller om objektet är för långt från sensorn, fortsätter utsignalen vid Digital High (Binär 1). Den inbyggda LED-indikatorn släcks också.
Innehåll
Kompatibilitet
- Arduino
- Raspberry Pi
Port
- Digital
Bibliotek
För nedanstående exempel på Arduino krävs: https://raw.githubusercontent.com/SeeedDocument/Grove-Infrared_Reflective_Sensor/master/res/TimerOne-ArduinoLib.zip
Exempelkod
Arduino
unsigned int counter=0;
void blink()
{
counter++;
}
void timerIsr()
{
Timer1.detachInterrupt(); //disable the timer1
Serial.print("The speed of the motor: ");
Serial.print(counter,DEC);
Serial.println("round/s");
counter=0;
Timer1.attachInterrupt( timerIsr ); //enable the timer1
}
void setup()
{
Serial.begin(9600);
Timer1.initialize(1000000); // set a timer of length 1sec
attachInterrupt(0, blink, RISING); //INT0
Timer1.attachInterrupt( timerIsr ); // attach the service routine here
}
void loop()
{
}
Raspberry Pi
import time
import grovepi
# Connect the Grove Infrared Reflective Sensor to digital port D4
# SIG,NC,VCC,GND
sensor = 4
grovepi.pinMode(sensor,"INPUT")
while True:
try:
# Sensor returns HIGH on a black surface and LOW on a white surface
if grovepi.digitalRead(sensor) == 1:
print "black surface detected"
else:
print "white surface detected"
time.sleep(.5)
except IOError:
print "Error"
Mer information
http://wiki.seeedstudio.com/Grove-Infrared_Reflective_Sensor/