Talaan ng mga Nilalaman:

Mga Circuit ng Raspberry Pi GPIO: Paggamit ng isang LDR Analogue Sensor Nang walang isang ADC (Analogue sa Digital Converter): 4 na Hakbang
Mga Circuit ng Raspberry Pi GPIO: Paggamit ng isang LDR Analogue Sensor Nang walang isang ADC (Analogue sa Digital Converter): 4 na Hakbang

Video: Mga Circuit ng Raspberry Pi GPIO: Paggamit ng isang LDR Analogue Sensor Nang walang isang ADC (Analogue sa Digital Converter): 4 na Hakbang

Video: Mga Circuit ng Raspberry Pi GPIO: Paggamit ng isang LDR Analogue Sensor Nang walang isang ADC (Analogue sa Digital Converter): 4 na Hakbang
Video: How to Build Raspberry Pi Pico PLC || OpenPLC Editor 2024, Disyembre
Anonim
Mga Raspberry Pi GPIO Circuits: Paggamit ng isang LDR Analogue Sensor Nang walang isang ADC (Analogue sa Digital Converter)
Mga Raspberry Pi GPIO Circuits: Paggamit ng isang LDR Analogue Sensor Nang walang isang ADC (Analogue sa Digital Converter)

Sa aming naunang Mga Tagubilin, ipinakita namin sa iyo kung paano mo mai-link ang mga pin ng GPIO ng iyong Raspberry Pi sa mga LED at switch at kung paano ang mga pin ng GPIO ay maaaring Mataas o Mababa. Ngunit paano kung nais mong gamitin ang iyong Raspberry Pi na may isang analogue sensor?

Kung nais naming gumamit ng mga analogue sensor sa Raspberry Pi, kakailanganin naming masusukat ang paglaban ng sensor. Hindi tulad ng Arduino, ang mga GPIO pin ng Raspberry Pi ay hindi masusukat ang paglaban at maaari lamang maunawaan kung ang boltahe na ibinigay sa kanila ay nasa itaas ng isang tiyak na boltahe (humigit-kumulang na 2 volts). Upang mapagtagumpayan ang isyung ito, maaari kang gumamit ng isang Analogue sa Digital Converter (ADC), o maaari mong gamitin ang isang medyo murang capacitor sa halip.

Ipapakita sa iyo ng Tagubilin na ito kung paano ito magagawa.

Hakbang 1: Ano ang Kakailanganin Mo

Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo

- Isang RaspberryPi na may naka-install na na Raspbian. Kakailanganin mo ring ma-access ang Pi gamit ang isang Monitor, Mouse at Keyboard o sa pamamagitan ng Remote Desktop. Maaari mong gamitin ang anumang modelo ng Raspberry Pi. Kung mayroon kang isa sa mga modelo ng Pi Zero, baka gusto mong maghinang ng ilang mga pin ng header sa port ng GPIO.

- Isang Light Dependent Resistor (Kilala rin bilang isang LDR o Photoresistor)

- Isang 1 uF Ceramic Capacitor

- Isang Solderless Prototyping Breadboard

- Ang ilang mga Male to Female jumper wires

Hakbang 2: Buuin ang Iyong Circuit

Buuin ang Iyong Circuit
Buuin ang Iyong Circuit
Buuin ang Iyong Circuit
Buuin ang Iyong Circuit

Buuin ang circuit sa itaas sa iyong breadboard na tinitiyak na wala sa mga bahagi ng lead ang nakakaantig. Ang Light Dependent Resistor at Ceramic Capacitor ay walang polarity na nangangahulugang ang isang negatibo at positibong kasalukuyang ay maaaring konektado sa alinman sa lead. Samakatuwid hindi mo kailangang magalala tungkol sa kung aling paraan ang mga sangkap na ito ay konektado sa iyong circuit.

Sa sandaling nasuri mo ang iyong circuit, ikonekta ang mga jumper cables sa iyong mga GPIO pin ng Raspberry Pi sa pamamagitan ng pagsunod sa diagram sa itaas.

Hakbang 3: Lumikha ng isang Python Script upang Basahin ang Light Dependent Resistor

Lumikha ng isang Python Script upang Basahin ang Banayad na Nakasalalay na Resistor
Lumikha ng isang Python Script upang Basahin ang Banayad na Nakasalalay na Resistor

Susulat kami ngayon ng isang maikling script na magbabasa at magpapakita ng paglaban ng LDR gamit ang Python.

Sa iyong Raspberry Pi, buksan ang IDLE (Menu> Programming> Python 2 (IDLE)). Magbukas ng isang bagong proyekto pumunta sa File> Bagong File. Pagkatapos i-type (o kopyahin at i-paste) ang sumusunod na code:

i-import ang RPi. GPIO bilang GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 habang Totoo: GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, Mali) oras. Tulog (0.2) GPIO.setup (mpin, GPIO. IN) oras. Tulog (0.2) GPIO.output (tpin, True) starttime = time.time () endtime = time.time () habang (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () pagsukat = endtime-starttime res = (pagsukat / cap) * adj i = i + 1 t = t + res kung i == 10: t = t / i-print (t) i = 0 t = 0

I-save ang iyong proyekto bilang lightsensor.py (File> I-save Bilang) sa iyong folder ng Mga Dokumento.

Buksan ang Terminal (Menu> Mga Kagamitan> Terminal) at i-type ang sumusunod na utos:

python lightsensor.py

Ang Raspberry Pi ay paulit-ulit na ipapakita ang paglaban ng photoresistor. Kung mailagay mo ang iyong daliri sa photoresistor, tataas ang paglaban. Kung pinapakita mo ang isang maliwanag na ilaw sa photoresistor, bababa ang resistensya. Maaari mong ihinto ang program na ito mula sa pagtakbo sa pamamagitan ng pagpindot sa CTRL + Z.

Hakbang 4: Paano Ito Gumagana

Habang unti-unting naniningil ang capacitor, ang boltahe na dumadaan sa circuit at sa GPIO pin ay tumataas. Kapag ang capacitor ay sisingilin sa isang tiyak na punto, ang boltahe ay tumataas sa itaas ng 2 volts at madarama ng Raspberry Pi na ang GPIO pin 13 ay TAAS.

Kung ang paglaban ng sensor ay tumataas, ang capacitor ay sisingilin nang mas mabagal at ang circuit ay tatagal ng mas maraming oras upang maabot ang 2 volts.

Ang script sa itaas ay mahalagang beses kung gaano katagal bago ang pin 13 upang maging Mataas at pagkatapos ay ginagamit ang pagsukat na ito upang makalkula ang paglaban ng Photoresistor.

Inirerekumendang: