Sommario:
- Passaggio 1: cosa ti servirà
- Passaggio 2: costruisci il tuo circuito
- Passaggio 3: creare uno script Python per leggere il resistore dipendente dalla luce
- Passaggio 4: come funziona
Video: Circuiti GPIO Raspberry Pi: utilizzo di un sensore analogico LDR senza un ADC (convertitore analogico-digitale): 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Nei nostri precedenti Instructables, ti abbiamo mostrato come puoi collegare i pin GPIO del tuo Raspberry Pi a LED e interruttori e come i pin GPIO possono essere High o Low. Ma cosa succede se vuoi usare il tuo Raspberry Pi con un sensore analogico?
Se vogliamo utilizzare sensori analogici con il Raspberry Pi, dovremmo essere in grado di misurare la resistenza del sensore. A differenza dell'Arduino, i pin GPIO del Raspberry Pi non sono in grado di misurare la resistenza e possono rilevare solo se la tensione fornita loro è superiore a una certa tensione (circa 2 volt). Per ovviare a questo problema, potresti usare un convertitore analogico-digitale (ADC), oppure potresti usare un condensatore relativamente economico.
Questo Instructable ti mostrerà come farlo.
Passaggio 1: cosa ti servirà
- Un RaspberryPi con Raspbian già installato. Dovrai anche essere in grado di accedere al Pi utilizzando un monitor, un mouse e una tastiera o tramite Desktop remoto. Puoi usare qualsiasi modello di Raspberry Pi. Se hai uno dei modelli Pi Zero, potresti voler saldare alcuni pin di intestazione alla porta GPIO.
- Un resistore dipendente dalla luce (noto anche come LDR o fotoresistenza)
- Un condensatore ceramico da 1 uF
- Un tagliere di prototipazione senza saldatura
- Alcuni ponticelli maschio-femmina
Passaggio 2: costruisci il tuo circuito
Costruisci il circuito sopra sulla tua breadboard assicurandoti che nessuno dei cavi dei componenti si tocchi. Il resistore dipendente dalla luce e il condensatore ceramico non hanno polarità, il che significa che è possibile collegare una corrente negativa e positiva a entrambi i cavi. Pertanto non è necessario preoccuparsi del modo in cui questi componenti sono stati collegati nel circuito.
Dopo aver controllato il circuito, collega i cavi jumper ai pin GPIO del tuo Raspberry Pi seguendo lo schema sopra.
Passaggio 3: creare uno script Python per leggere il resistore dipendente dalla luce
Ora scriveremo un breve script che leggerà e visualizzerà la resistenza dell'LDR usando Python.
Sul tuo Raspberry Pi, apri IDLE (Menu > Programmazione > Python 2 (IDLE)). Apri un nuovo progetto vai su File > Nuovo file. Quindi digita (o copia e incolla) il seguente codice:
import RPi. GPIO come GPIOimport timempin=17 tpin=27 GPIO.setmode(GPIO. BCM) cap=0.000001 adj=2.130620985i=0 t=0 while True: GPIO.setup(mpin, GPIO. OUT) GPIO.setup(tpin, GPIO. OUT) GPIO.output(mpin, False) GPIO.output(tpin, False) time.sleep(0.2) GPIO.setup(mpin, GPIO. IN) time.sleep(0.2) GPIO.output(tpin, True) starttime=time.time() endtime=time.time() while (GPIO.input(mpin) == GPIO. LOW): endtime=time.time() measureresistance=endtime-starttime res=(measureresistance/cap)* adj i=i+1 t=t+res se i==10: t=t/i print(t) i=0 t=0
Salva il tuo progetto come lightsensor.py (File > Salva con nome) nella cartella Documenti.
Ora apri Terminale (Menu> Accessori> Terminale) e digita il seguente comando:
python sensore di luce.py
Il Raspberry Pi mostrerà ripetutamente la resistenza della fotoresistenza. Se si posiziona il dito sulla fotoresistenza, la resistenza aumenterà. Se fai brillare una luce intensa sulla fotoresistenza, la resistenza diminuirà. È possibile interrompere l'esecuzione di questo programma premendo CTRL+Z.
Passaggio 4: come funziona
Man mano che il condensatore si carica gradualmente, la tensione che passa attraverso il circuito e al pin GPIO aumenta. Una volta che il condensatore è stato caricato fino a un certo punto, la sua tensione sale sopra i 2 volt e il Raspberry Pi rileverà che il pin 13 del GPIO è ALTO.
Se la resistenza del sensore aumenta, il condensatore si caricherà più lentamente e il circuito impiegherà più tempo per raggiungere i 2 volt.
Lo script sopra essenzialmente calcola il tempo impiegato dal pin 13 per diventare alto e quindi utilizza questa misurazione per calcolare la resistenza della fotoresistenza.
Consigliato:
Conoscenza dei circuiti analogici - Fai da te un circuito di effetti sonori di clock senza IC: 7 passaggi (con immagini)
Conoscenza del circuito analogico: fai da te un circuito di effetti sonori di clock senza IC: questo circuito di effetti sonori di clock è stato costruito solo con transistor, resistori e condensatori senza alcun componente IC. È l'ideale per imparare le conoscenze fondamentali del circuito con questo circuito pratico e semplice. Il tappetino necessario
Interfaccia Arduino con sensore a ultrasuoni e sensore di temperatura senza contatto: 8 passaggi
Interfacciamento Arduino con sensore ad ultrasuoni e sensore di temperatura senza contatto: oggi, Makers, Developers preferisce Arduino per lo sviluppo rapido della prototipazione dei progetti. Arduino è una piattaforma elettronica open source basata su hardware e software di facile utilizzo. Arduino ha un'ottima community di utenti. In questo progetto
Sensore di ostacolo IR senza l'utilizzo di Arduino o alcun microcontrollore: 6 passaggi
Sensore di ostacoli IR senza utilizzare Arduino o alcun microcontrollore: in questo progetto realizzeremo un semplice sensore di ostacoli senza utilizzare alcun microcontrollore
Utilizzo di un programma RTA come oscilloscopio o analizzatore di circuiti: 4 passaggi
Utilizzo di un programma RTA come oscilloscopio o analizzatore di circuiti: lo scopo di questo trucco è fornire agli spettatori un'opzione conveniente per visualizzare i segnali elettrici dei loro circuiti e dispositivi utilizzando programmi di analisi in tempo reale (RTA). Il vantaggio principale di questo approccio rispetto a un oscilloscopio è che i programmi RTA
Dispositivo di raffreddamento/supporto per laptop a costo zero (senza colla, senza foratura, senza dadi e bulloni, senza viti): 3 passaggi
Dispositivo di raffreddamento/supporto per laptop a costo zero (senza colla, senza foratura, senza dadi e bulloni, senza viti): AGGIORNAMENTO: PER FAVORE, PER FAVORE, PER FAVORE, PER IL MIO ISTRUTTORE, GRAZIE ^_^ POTRESTI ANCHE VOTARE PER IL MIO ALTRO CONCORSO ISCRIZIONE A www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ O FORSE VOTA PER IL MIO MIGLIORE AMICO