Étape 5: Ajout d’un capteur d’intensité de lumière anagog
L’étape suivante consistait à obtenir les « données d’intensité de la lumière ». Pour ajouter le LDR au RPi, le mieux est de convertir le signal analogique du capteur en une valeur numérique utilisant un externe ADC (convertisseur analogique/numérique). L’IPD ne dispose pas d’un ADC interne que l’Arduino. Si vous n’avez pas un ADC, une bonne approximation consiste à utiliser un condensateur de charge/décharge technic. Le « Raspberry Pi Cookbook » donne la solution (Notez qu’au lieu du potentiomètre, un LDR pourrait être utilisé) :
importation RPi.GPIO comme GPIO
moment de l’importation
GPIO.setmode (GPIO. BCM)
a_pin = 25
b_pin = 23
def discharge() :
GPIO.setup (a_pin, GPIO. JNJ
GPIO.setup (b_pin, GPIO. OUT)
GPIO.output (b_pin, False)
Time.Sleep(0.005)
def charge_time() :
GPIO.setup (b_pin, GPIO. JNJ
GPIO.setup (a_pin, GPIO. OUT)
Count = 0
GPIO.output (a_pin, True)
tandis que pas GPIO.input(b_pin) :
Count = count + 1
comte de retour
def analog_read() :
Discharge()
retour charge_time()
While True :
Print(analog_read())
Time.Sleep(1)
Le mieux est d’utiliser l’Arduino pour capturer ce genre d’info et envoyez-le au RPi. Le résultat sera plus précis.