Turinys:

„Raspberry Pi GPIO“grandinės: LDR analoginio jutiklio naudojimas be ADC (analoginis į skaitmeninį keitiklį): 4 žingsniai
„Raspberry Pi GPIO“grandinės: LDR analoginio jutiklio naudojimas be ADC (analoginis į skaitmeninį keitiklį): 4 žingsniai

Video: „Raspberry Pi GPIO“grandinės: LDR analoginio jutiklio naudojimas be ADC (analoginis į skaitmeninį keitiklį): 4 žingsniai

Video: „Raspberry Pi GPIO“grandinės: LDR analoginio jutiklio naudojimas be ADC (analoginis į skaitmeninį keitiklį): 4 žingsniai
Video: Raspberry Pi LESSON 4 : Understanding and Using GPIO Pins 2024, Lapkritis
Anonim
„Raspberry Pi GPIO“grandinės: LDR analoginio jutiklio naudojimas be ADC (analoginis į skaitmeninį keitiklį)
„Raspberry Pi GPIO“grandinės: LDR analoginio jutiklio naudojimas be ADC (analoginis į skaitmeninį keitiklį)

Ankstesnėse instrukcijose parodėme, kaip galite susieti „Raspberry Pi“GPIO kaiščius su šviesos diodais ir jungikliais ir kaip GPIO kaiščiai gali būti dideli arba žemi. Bet ką daryti, jei norite naudoti „Raspberry Pi“su analoginiu jutikliu?

Jei norime naudoti analoginius jutiklius su „Raspberry Pi“, turėtume sugebėti išmatuoti jutiklio varžą. Skirtingai nuo „Arduino“, „Raspberry Pi“GPIO kaiščiai negali išmatuoti pasipriešinimo ir gali jausti tik tuo atveju, jei jiems tiekiama įtampa viršija tam tikrą įtampą (maždaug 2 voltai). Norėdami išspręsti šią problemą, galite naudoti analoginį skaitmeninį keitiklį (ADC) arba palyginti pigų kondensatorių.

Ši instrukcija parodys, kaip tai galima padaryti.

1 žingsnis: ko jums reikės

Ko jums reikės
Ko jums reikės
Ko jums reikės
Ko jums reikės
Ko jums reikės
Ko jums reikės
Ko jums reikės
Ko jums reikės

- RaspberryPi su jau įdiegtu Raspbian. Taip pat turėsite turėti galimybę pasiekti „Pi“naudodami monitorių, pelę ir klaviatūrą arba nuotolinį darbalaukį. Galite naudoti bet kurį „Raspberry Pi“modelį. Jei turite vieną iš „Pi Zero“modelių, galbūt norėsite lituoti kai kuriuos antraštės kaiščius prie GPIO prievado.

- Nuo šviesos priklausomas rezistorius (taip pat žinomas kaip LDR arba fotorezistorius)

- 1 uF keraminis kondensatorius

- Solidless prototipų kepimo lenta

- Kai kurie jungiamieji laidai nuo vyrų iki moterų

2 žingsnis: sukurkite grandinę

Sukurkite savo grandinę
Sukurkite savo grandinę
Sukurkite savo grandinę
Sukurkite savo grandinę

Sukurkite aukščiau pateiktą grandinę ant savo duonos lentos ir įsitikinkite, kad nė vienas iš komponentų laidų neliečia. Nuo šviesos priklausomas rezistorius ir keraminis kondensatorius neturi poliškumo, o tai reiškia, kad neigiamą ir teigiamą srovę galima prijungti prie bet kurio laido. Todėl jums nereikia jaudintis, kokiu būdu šie komponentai buvo prijungti prie jūsų grandinės.

Patikrinę grandinę, prijunkite trumpiklius prie „Raspberry Pi“GPIO kaiščių, vadovaudamiesi aukščiau pateikta schema.

3 žingsnis: sukurkite „Python“scenarijų, skirtą nuskaityti nuo šviesos priklausomą rezistorių

Sukurkite „Python“scenarijų, kad perskaitytumėte nuo šviesos priklausomą rezistorių
Sukurkite „Python“scenarijų, kad perskaitytumėte nuo šviesos priklausomą rezistorių

Dabar parašysime trumpą scenarijų, kuris perskaitys ir parodys LDR atsparumą naudojant „Python“.

„Raspberry Pi“atidarykite IDLE (meniu> Programavimas> Python 2 (IDLE)). Atidarykite naują projektą, eikite į Failas> Naujas failas. Tada įveskite (arba nukopijuokite ir įklijuokite) šį kodą:

importuoti RPi. GPIO kaip GPIO importuoti laiką = 17 tpin = 27 GPIO.setmode (GPIO. BCM) riba = 0.000001 adj = 2.130620985i = 0 t = 0, o tiesa: 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 () meetresistance = endtime-starttime res = (meetresistance/cap)* adj i = i+1 t = t+res, jei i == 10: t = t/i spausdinti (t) i = 0 t = 0

Išsaugokite savo projektą aplanke Dokumentai kaip lightsensor.py (Failas> Įrašyti kaip).

Dabar atidarykite terminalą (Meniu> Priedai> Terminalas) ir įveskite šią komandą:

python lightsensor.py

„Raspberry Pi“ne kartą parodys fotorezistoriaus atsparumą. Jei pirštą uždėsite ant fotorezistoriaus, pasipriešinimas padidės. Jei apšviesite ryškią šviesą ant fotorezistoriaus, pasipriešinimas sumažės. Galite sustabdyti šios programos vykdymą paspausdami CTRL+Z.

4 žingsnis: kaip tai veikia

Kai kondensatorius palaipsniui įkraunamas, įtampa, praeinanti per grandinę ir į GPIO kaištį, pakyla. Kai kondensatorius įkraunamas iki tam tikro taško, jo įtampa pakyla virš 2 voltų, o „Raspberry Pi“pajus, kad GPIO kaištis 13 yra AUKŠTAS.

Jei jutiklio varža padidėja, kondensatorius įkraunamas lėčiau, o grandinė užtruks ilgiau, kol pasieks 2 voltus.

Aukščiau pateiktas scenarijus iš esmės kartoja, kiek laiko užtrunka, kol 13 kaištis virsta aukšta, ir tada naudoja šį matavimą, kad apskaičiuotų fotorezistoriaus varžą.

Rekomenduojamas: