Paso 5: Agregar un sensor de intensidad de la luz anagog
El siguiente paso era conseguir "datos de la intensidad de la luz". Para agregar la LDR al RPi lo mejor es convertir la señal analógica del sensor en un valor digital con un externo ADC (Analog to Digital Converter). El IPC no tiene un ADC interno como Arduino. Si no tienes un ADC, una buena aproximación es utilizar un técnica de carga y descarga del condensador. El "frambuesa Pi Cookbook" da la solución (tenga en cuenta que en su lugar el potenciómetro, un LDR puede ser utilizado):
importación RPi.GPIO como GPIO
tiempo de importación
GPIO.setmode (GPIO. BCM)
a_pin = 25
b_pin = 23
DEF discharge():
GPIO.setup (a_pin, GPIO. JNJ
GPIO.setup (b_pin, GPIO. HACIA FUERA)
GPIO.output (b_pin, False)
Time.Sleep(0.005)
DEF charge_time():
GPIO.setup (b_pin, GPIO. JNJ
GPIO.setup (a_pin, GPIO. HACIA FUERA)
Count = 0
GPIO.output (a_pin, True)
mientras no GPIO.input(b_pin):
cuenta = cuenta + 1
volver a cuenta
DEF analog_read():
Discharge()
volver charge_time()
Aunque la verdad:
Print(analog_read())
Time.Sleep(1)
Lo mejor es usar el Arduino para capturar a este tipo de información y enviarla al RPi. El resultado será más preciso.