Grove - Infrared Reflective Sensor

Från Karlskrona Makerspace Wiki
Version från den 4 februari 2021 kl. 07.27 av Christian (diskussion | bidrag)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till: navigering, sök
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å.

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/