- Sensorer
Infrarød lys sensor
Infrarød sensor, der blandt andet er god til at måle IR strålingen af ild. Er med indbygget komparator, som gør at du kan komme i gang med det samme.
EK Guldbergsgade
Bygning E, lokale A448
Komponenten er kun tilgængelig for studerende på IT-teknolog-uddannelsen.
Varme udsender IR stråling. Med denne sensor kan du måle tilstedeværelse af ild, og hvor meget stråling flammen giver fra sig.
- Indbygget med en infrarød diode der har et bredt målespektrum fra 760-1100nm
- Printpladen har en analog udgang, som tillader målinger på sensoren direkte via en mikrocontroller
- Printpladen har indbygget en komparator (LM393), der automatisk vil drive den digitale udgang når sensor niveauet er over et niveau, der er sat via potentiometeret.
Tekniske specifikationer
| Kreds | LM393, IR diode |
| Sensor operativ bølgelængde | 760nm til 1100nm |
| Operativ spænding | 3.3-5.2V |
| IO spænding | 3.3-5.2V |
| Maksimal strømforbrug | 30mA |
| Kommunikations interface | Binær, aktivt lav |
| Dimensioner | 32mm x 17mm x 8mm |
Pinout
Venstre pin port:
| Navn | Funktion |
|---|---|
| VCC | Positiv forsyning |
| GND | Negativ forsyning |
| DO | Output signal digital. Aktiv høj |
| AO | Output signal analog |
Hvordan fungerer den?
Kodeeksempel
from machine import Pin, PWM
import utime
flame_sensor = Pin(16, Pin.IN)
buzzer = Pin(17, Pin.OUT)
utime.sleep(0.5)
buzzer.high()
#OUT1 and OUT2
In1=Pin(1,Pin.OUT) #IN1`
In2=Pin(0,Pin.OUT) #IN2
EN_A=PWM(Pin(2))
# Defining frequency for enable pins
EN_A.freq(1500)
duty_cycle = 65535
while True:
while flame_sensor.value() == 1:
print("Flame Detected")
buzzer.low()
In1.low()
In2.high()
EN_A.duty_u16(int(duty_cycle/2))
if flame_sensor.value() == 0:
buzzer.high()
In1.low()
In2.low()
print("No Flame")utime.sleep(0.2)
Reference: https://makeblock-micropython-api.readthedocs.io/en/latest/codey&rocky/codey/IR.html