Photo Interrupter

Fra HTX Arduino
Spring til navigation Spring til søgning
Photo Interrupter (Photo gaffel)

En Photo Interrupter består i alt sin enkelhed af en infrarød lysdiode, der lyser fra den ene side af gaflen over på en Photo Transistor der sidder i den anden side af gaflen. På denne måde kan Photo transistoren registrere om lysstrålen brydes af et objekt der føres ind i gaflen.

Denne type OS25B10 er indkøbt ved Seeedstudio.com[1]





Opkobling af Photo Interrupter

Diagram over Photo Interrupter i typisk opstilling

For at få den infrarøde lysdiode til at lyse, så kobles der en modstand til f.x. +5V.

Photo transistorens Emitter kobles til stel og fra dens Collector kobles en modstand op til +5V som vist her.

Her er et diagram, hvor Arduinoen indgår:

Diagramphotointerrupter.png

Komponent-størrelser

Ved at eksperimentere med modstandene kan man komme frem til at 10 k som collector-modstand R2 er en passende størrelse, det gør at Photo Interrupteren ikke bliver påvirket af omgivelsernes lys særligt let.

Som det fremgår af diagrammet, så vil en formodstand til dioden på 1k virke. Det giver en strøm i lysdioden på ca. 4 mA, hvilket i en typisk opstilling vil være fint.

Når lysstrålen ikke brydes, så vil photo-transistoren være tændt, og spændingen på Output vil ligge på ca. 0,2V. Brydes lysstrålen ved at placere noget der ikke kan gennemtrænges af lys nede i gaflen, så stiget spændingen på collector til 4,95 V.

For at arbejde med lidt større sikkerhed kan man anvende en 680 ohm i stedet til lysdiodens formodstand, så stiger strømforbruget til 5,66 mA, og collector-spændingen falder helt ned på 0,18 V.

Hvis man vil følge databladet, så skal man faktisk arbejde med en lysdiode-strøm på 20 mA, hvilket man får med en 180 ohms modstand. Dette vil med sikkerhed kunne give 0,5 mA i collector på photo-transistoren, som der skal til en 10 k collectormodstand.

Kodeeksempel

Der vises her et kodeeksempel, hvor man læser værdien fra photogaten. Den analoge værdi viser hvor meget lys, der kommer igennem på en skal fra 0-1023, hvor 0 er meget lys og 1023 er meget mørk. Den digitale værdi giver HØJ, hvis der kommer lidt/ingen lys igennem. Den giver LAV, hvis der kommer lys igennem.

Programmet her udskriver værdierne ud.

void setup() {
    int pin = 0;
    pinMode(pin, INPUT);
    
    Serial.begin(9600);
}

int inputa; //analoge værdi
bool inputd; //digital værdi
    
void loop() {
    inputa = analogRead(A0);
    inputd = digitalRead(3);

    Serial.print("Analog input: "); 
    Serial.print(inputa); 
    Serial.print(", digitalt input: ");
    Serial.println(inputd);
    
    delay(1000); 
}

Normalt vil det ikke være nødvendigt at aflæse med en analog indgang, den analoge aflæsning tager længere tid, og sammenligningen om der er noget der bryder tager også længere tid. I alle normale anvendelser af Photo Interrupteren vil det være fint at bruge et digitalt input.

Test af koden

En test af koden viser at koden fungerer, og den viser både de analoge og digitale værdier - det skal bemærkes at det digitale input svarer med lav når der sættes noget ned i gaflen og høj når der IKKE er noget i gaflen.

Henvisninger

Analog
Analog Begreber Grundlæggende El-fysik - AC-Spænding - AC-Strøm - DC-Spænding - DC-Strøm - Effekt - Nøjagtighed - Præcision - Spænding - Strøm - Frekvens - Komponent - Relæ
Analog Komponenter Spole - Spole ved AC - Spole ved DC - Spolen - Beregning af induktiv-reaktansen - Spolen - Seriekobling og parallelkobling - Spolen - Tidskonstant for RL-led - Kondensator - Kapacitet - Kondensator ved DC - Modstand - Operationsforstærker - Diode - Zenerdiode - Transistor - MOSFET transistor - Transformator - Adapter - DC-motor - Mikrofon - LED - Photo Interrupter - 7-segment-display
Analog Kredsløb Belastet spændingsdeler - Filter - H-bro - Regulator - RFID - Spændingsdeler - Subtraktionsforstærker - Wheatstones målebro
Operationsforstærker Opamp Kredsløb - Differensforstærker - Inverterende forstærker - Ikke inverterende forstærker - Instrumentationsforstærker - Modkobling - Spændingsfølger - Summationsforstærker - Subtraktionsforstærker
Filtre Aktive filtre - Komplekse tal - Maple - Sammenkobling af filtre - Butterworth - Chebyshev - Band-pass - RC-Led - Spole ved AC
Diverse Aktuator - Analog-bogen - Diagram - Komplekse tal - Konverter - PWM - Radiobølger - Regulerings teknik - Simulering - Strain gauge - Transducer - Mikrofonforstærker


Arduino-Modul-Oversigt
Arduino Generelt: Biblioteker - Board - Driver - Shield - Arduino Analog - Arduino Seriel

Arduino-typer: Arduino UNO - Arduino Nano - Arduino Pro Mini - Arduino MEGA 2560 - LiliyPad Mikrocontroller - Arduino DUE - WeMOS

Input-moduler Trådløse: Bluetooth - Transceiver modul - WiFi Modul - SMS Modul - I2C-RF-modtager - RF Link - GPRS/GSM - GSM_Modul

Sensorer: GPS - Strøm-sensor - I2C Humidity - Lys og Nærhed - Magnetisk Kompas - I2C barometer - Farvegenkendelsesmodul - Alkoholsensor - Accelerometer - I2C Accelerometer - I2C Gyroskop - Vejecelleforstærker - IR Distance - AC Strømsensor - Afstand - XY Joystick - Humidity - Tryksensor - Vindhastighedsmåler
Photo og IR: IR Fjernbetjening - Photo Interrupter - IR Modtager - Bevægelsescensor - Photo Refleks Sensor - VGA Kamera
Power: Power Adapter - Lithium Batteri
Lager: SD Kort
Konvertere: I2C AD-konverter
Funktionsmoduler: RFID-modul - Matrix tastatur - DS1307 RTC - ENC28J60 Ethernet - IO Expander
Touch Display: Touch Display

Output-moduler Trådløse: Bluetooth - RF Link - GPRS/GSM - Transceiver modul - WiFi Modul - SMS Modul

Display: Display Shield - Touch Display - Arduino Display - Nokia 5110 Display - Dot-Matrix - Lys-avis - I2C Display
Funktionsmoduler: Lydgiver - Lydmodul - Relæ modul - Audio Power Forstærker - ENC28J60 Ethernet - Peltier Element - IO Expander
Hukommelse: SD Kort
Motorer: Stepper Motor Driver - Stepper med Accelleration - Servo

I2C-Moduler Funktionsmoduler: DS1307 RTC - I2C-RF-modtager - I2C tastatur

Sensorer: I2C Humidity - Magnetisk Kompas - I2C barometer - I2C Accelerometer - I2C Gyroskop
Konvertere: I2C AD-konverter
Display: I2C Display