Taula de continguts:

Circuits GPIO de Raspberry Pi: utilitzar un sensor analògic LDR sense ADC (convertidor analògic a digital): 4 passos
Circuits GPIO de Raspberry Pi: utilitzar un sensor analògic LDR sense ADC (convertidor analògic a digital): 4 passos

Vídeo: Circuits GPIO de Raspberry Pi: utilitzar un sensor analògic LDR sense ADC (convertidor analògic a digital): 4 passos

Vídeo: Circuits GPIO de Raspberry Pi: utilitzar un sensor analògic LDR sense ADC (convertidor analògic a digital): 4 passos
Vídeo: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Juliol
Anonim
Circuits GPIO de Raspberry Pi: utilitzar un sensor analògic LDR sense ADC (convertidor analògic a digital)
Circuits GPIO de Raspberry Pi: utilitzar un sensor analògic LDR sense ADC (convertidor analògic a digital)

A les nostres instruccions anteriors, us hem mostrat com podeu enllaçar els pins GPIO de Raspberry Pi amb LEDs i commutadors i com els pins GPIO poden ser alts o baixos. Però, i si voleu utilitzar el vostre Raspberry Pi amb un sensor analògic?

Si volem utilitzar sensors analògics amb el Raspberry Pi, hauríem de poder mesurar la resistència del sensor. A diferència de l'Arduino, els pins GPIO del Raspberry Pi no poden mesurar la resistència i només poden detectar si el voltatge que se'ls subministra és superior a un voltatge determinat (aproximadament 2 volts). Per superar aquest problema, podeu utilitzar un convertidor analògic a digital (ADC) o bé utilitzar un condensador relativament barat.

Aquest instructable us mostrarà com es pot fer això.

Pas 1: què necessiteu

El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu

- Un RaspberryPi amb Raspbian ja instal·lat. També haureu de poder accedir al Pi mitjançant un monitor, un ratolí i un teclat o mitjançant un escriptori remot. Podeu utilitzar qualsevol model de Raspberry Pi. Si teniu algun dels models Pi Zero, és possible que vulgueu soldar alguns pins de capçalera al port GPIO.

- Una resistència dependent de la llum (també coneguda com a LDR o fotoresistència)

- Un condensador ceràmic de 1 uF

- Un tauler de prototipat sense soldadura

- Alguns cables de pont masculí a femení

Pas 2: creeu el vostre circuit

Construeix el teu circuit
Construeix el teu circuit
Construeix el teu circuit
Construeix el teu circuit

Construïu el circuit anterior a la taula de verificació assegurant-vos que cap dels cables de components es toqui. La resistència dependent de la llum i el condensador de ceràmica no tenen polaritat, cosa que significa que es pot connectar un corrent negatiu i positiu a qualsevol dels cables. Per tant, no us haureu de preocupar de quina manera s'han connectat aquests components al vostre circuit.

Un cop comprovat el circuit, connecteu els cables del pont als pins GPIO del vostre Raspberry Pi seguint el diagrama anterior.

Pas 3: creeu un script Python per llegir la resistència dependent de la llum

Creeu un script Python per llegir la resistència dependent de la llum
Creeu un script Python per llegir la resistència dependent de la llum

Ara escriurem un breu script que llegirà i mostrarà la resistència del LDR mitjançant Python.

Al vostre Raspberry Pi, obriu IDLE (Menú> Programació> Python 2 (IDLE)). Obriu un projecte nou, aneu a Fitxer> Fitxer nou. A continuació, escriviu (o copieu i enganxeu) el codi següent:

import RPi. GPIO com GPIO import timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 mentre que 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 si i == 10: t = t / i imprimir (t) i = 0 t = 0

Deseu el vostre projecte com lightsensor.py (Fitxer> Desa com) a la carpeta Documents.

Ara obriu Terminal (Menú> Accessoris> Terminal) i escriviu l'ordre següent:

python lightsensor.py

El Raspberry Pi mostrarà repetidament la resistència del fotoresistor. Si col·loqueu el dit sobre el fotoresistor, la resistència augmentarà. Si brilleu una llum brillant al fotoresistor, la resistència disminuirà. Podeu deixar d’executar aquest programa prement CTRL + Z.

Pas 4: Com funciona

A mesura que el condensador es carrega gradualment, augmenta la tensió que travessa el circuit i el pin GPIO. Una vegada que el condensador es carrega fins a un punt determinat, el voltatge augmenta per sobre de 2 volts i el Raspberry Pi detectarà que el pin GPIO 13 és ALT.

Si augmenta la resistència del sensor, el condensador es carregarà més lentament i el circuit trigarà més a arribar a 2 volts.

L'escriptura anterior esbasta essencialment el temps que triga el pin 13 a convertir-se en Alt i després utilitza aquesta mesura per calcular la resistència del fotoresistor.

Recomanat: