Premessa
In questo tutorial cercheremo di realizzare tramite una fotoresistenza un controllo che ci permetterà di accendere un led quando ci troviamo in una stanza buia e viceversa spengere un led quando la stanza è illuminata. Potete immaginare i mille utilizzi di questo semplice sistema che permette il controllo di questo led tramite i fasci luminosi che “sbattono” sulla fotoresistenza. Il nostro scopo sarà quello di leggere questi valori e creare una soglia che ci fa capire quando dobbiamo accendere o no la luce. La Raspberry Pi permette di impostare il valore ricevuto in ingresso dalla fotoresistenza e calcolare il suo valore se high o low e a sua volta tramite un programma python scriveremo il codice che ci permetterà di costruire il nostro sistema crepuscolare.
LISTA DEI MATERIALI:
- Fotoresistenza
- Raspberry Pi
- Micro SD
- Breadboard
- Jumper Maschio Femmina
- Led
- 1 Resistenza (330 ohm) e un altra 550 ohm circa
(Potete usarne piu di una in serie per raggiungere il valore ohmico)
Svolgimento
L’immagine sopra riportata è molto semplice e facile da intuire. Abbiamo collegato il Pin 26 (GPIO 7) a una resistenza da 330 ohm e poi al led e il negativo del led alla GND. Poi abbiamo collegato il pin 6 quindi la GND a una resistenza all incirca da 550 ohm (potete scegliere voi il valore ohmico da inserire nel progetto e rendere la fotoresistenza più “sensibile”) a sua volta collegata alla fotoresistenza e infine al pin 1 cioè i 3,3 volt della Raspberry Pi. Collegando una fotoresistenza a una resistenza avremo la possibilità di leggere il valore in volt a seconda del buio o della luce a disposizione nella stanza. Quindi manderemo in INPUT nel Pin 24 (GPIO 8) il valore che assume la fotoresistenza e in base alla luce a disposizione la nostra porta GPIO assumerà valore HIGH o LOW. Quando la fotoresistenza assumerà un valore maggiore di 1,5 volt lo stato della porta sarà high e quando sarà inferiore avremo lo stato LOW.
Codice:
#*-* coding:utf-8 *-* import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(7, GPIO.OUT) GPIO.setup(8, GPIO.IN) while True: a=GPIO.input(8) if a==1: GPIO.output(7, True) if a==0: GPIO.output(7, False)
Il programma legge il valore in input della fotoresistenza tramite il GPIO 8 e assegna il valore letto a una variabile denominata a successivamente itera un ciclo che indica se a è uguale 1 quindi abbiamo la stanza buia accende il LED. Se a è uguale a 0 viceversa.
Buon Progetto