Cuprins:

Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași
Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași

Video: Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași

Video: Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași
Video: Raspberry Pi Pico for Robotics 2024, Decembrie
Anonim
Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital)
Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital)

În Instrucțiunile noastre anterioare, v-am arătat cum puteți conecta pinii GPIO ai Raspberry Pi la LED-uri și comutatoare și modul în care pinii GPIO pot fi mari sau mici. Dar dacă doriți să utilizați Raspberry Pi cu un senzor analogic?

Dacă dorim să folosim senzori analogici cu Raspberry Pi, ar trebui să putem măsura rezistența senzorului. Spre deosebire de Arduino, pinii GPIO ai Raspberry Pi nu pot măsura rezistența și pot simți doar dacă tensiunea furnizată acestora este peste o anumită tensiune (aproximativ 2 volți). Pentru a depăși această problemă, ați putea folosi un convertor analogic la digital (ADC) sau ați putea folosi în schimb un condensator relativ ieftin.

Acest instructable vă va arăta cum se poate face acest lucru.

Pasul 1: De ce veți avea nevoie

Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie

- Un RaspberryPi cu Raspbian deja instalat. De asemenea, va trebui să puteți accesa Pi utilizând un monitor, mouse și tastatură sau prin Desktop la distanță. Puteți utiliza orice model de Raspberry Pi. Dacă aveți unul dintre modelele Pi Zero, poate doriți să lipiți niște pini de antet pe portul GPIO.

- Un rezistor dependent de lumină (cunoscut și sub numele de LDR sau fotorezistor)

- Un condensator ceramic de 1 uF

- O placă de pâine fără sudură

- Unele fire jumper de la bărbat la femeie

Pasul 2: Construiește-ți circuitul

Construiește-ți circuitul
Construiește-ți circuitul
Construiește-ți circuitul
Construiește-ți circuitul

Construiți circuitul de mai sus pe placa dvs. de asigurare, asigurându-vă că niciunul dintre cablurile componentelor nu se atinge. Rezistorul dependent de lumină și condensatorul ceramic nu au polaritate, ceea ce înseamnă că un curent negativ și pozitiv poate fi conectat la oricare dintre cabluri. Prin urmare, nu trebuie să vă faceți griji cu privire la modul în care aceste componente au fost conectate în circuitul dvs.

După ce ați verificat circuitul, conectați cablurile jumper la pinii GPIO ai Raspberry Pi urmând diagrama de mai sus.

Pasul 3: Creați un script Python pentru a citi rezistența dependentă de lumină

Creați un script Python pentru a citi rezistența dependentă de lumină
Creați un script Python pentru a citi rezistența dependentă de lumină

Vom scrie acum un scurt script care va citi și afișa rezistența LDR folosind Python.

Pe Raspberry Pi, deschideți IDLE (Meniu> Programare> Python 2 (IDLE)). Deschideți un proiect nou accesați Fișier> Fișier nou. Apoi tastați (sau copiați și lipiți) următorul cod:

import RPi. GPIO ca GPIO import timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 în timp ce 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 dacă i == 10: t = t / i print (t) i = 0 t = 0

Salvați proiectul dvs. ca lightsensor.py (Fișier> Salvare ca) în folderul Documente.

Acum deschideți Terminal (Meniu> Accesorii> Terminal) și tastați următoarea comandă:

python lightsensor.py

Raspberry Pi va afișa în mod repetat rezistența fotorezistorului. Dacă așezați degetul peste fotorezistor, rezistența va crește. Dacă străluciți o lumină puternică pe fotorezistor, rezistența va scădea. Puteți opri rularea acestui program apăsând CTRL + Z.

Pasul 4: Cum funcționează

Pe măsură ce condensatorul se încarcă treptat, crește tensiunea care trece prin circuit și către pinul GPIO. Odată ce condensatorul este încărcat într-un anumit punct, tensiunea crește peste 2 volți, iar Raspberry Pi va simți că pinul GPIO 13 este ÎNALT.

Dacă rezistența senzorului crește, condensatorul se va încărca mai lent și circuitul va dura mai mult timp pentru a ajunge la 2 volți.

Scriptul de mai sus este, în esență, cât timp durează până când pinul 13 se întoarce la High și apoi folosește această măsurare pentru a calcula rezistența fotorezistorului.

Recomandat: