IoT: Ansluter RPi, Arduino och världen! (5 / 10 steg)
Steg 5: Lägga till en anagog ljus intensitet sensor
Nästa steg var att få "ljus intensitet data". Lägg till LDR RPi är bäst att omvandla den analoga signalen från sensorn till ett digitalt värde med hjälp av en extern ADC (Analog till Digital omvandlare). RPi har inte en inre ADC som Arduino. Om du inte har en ADC, är en god approximation att använda en kondensator fyllning/avtappning technic. "Raspberry Pi kokbok" ger lösningen (Observera att i stället potentiometern, en LDR kunde vara används):
importera RPi.GPIO som GPIO
Importera tid
GPIO.setmode (GPIO. BCM)
a_pin = 25
b_pin = 23
def discharge():
GPIO.setup (a_pin, GPIO. I)
GPIO.setup (b_pin, GPIO. OUT)
GPIO.output (b_pin, falskt)
Time.Sleep(0.005)
def charge_time():
GPIO.setup (b_pin, GPIO. I)
GPIO.setup (a_pin, GPIO. OUT)
Count = 0
GPIO.output (a_pin, sant)
samtidigt inte GPIO.input(b_pin):
antal = antal + 1
returnera greve
def analog_read():
Discharge()
återgå charge_time()
samtidigt sant:
Print(analog_read())
Time.Sleep(1)
Bäst är att använda Arduino att fånga denna typ av information och skicka den till RPi. Resultatet kommer att vara mer exakt.