Satura rādītājs:

Raspberry Pi GPIO shēmas: LDR analoga sensora izmantošana bez ADC (analogā digitālā pārveidotāja): 4 soļi
Raspberry Pi GPIO shēmas: LDR analoga sensora izmantošana bez ADC (analogā digitālā pārveidotāja): 4 soļi

Video: Raspberry Pi GPIO shēmas: LDR analoga sensora izmantošana bez ADC (analogā digitālā pārveidotāja): 4 soļi

Video: Raspberry Pi GPIO shēmas: LDR analoga sensora izmantošana bez ADC (analogā digitālā pārveidotāja): 4 soļi
Video: Reading data from Analog light sensor (LDR) on a Raspberry PI. 2024, Novembris
Anonim
Raspberry Pi GPIO shēmas: LDR analoga sensora izmantošana bez ADC (analogā digitālā pārveidotāja)
Raspberry Pi GPIO shēmas: LDR analoga sensora izmantošana bez ADC (analogā digitālā pārveidotāja)

Iepriekšējos norādījumos mēs parādījām, kā varat saistīt Raspberry Pi GPIO tapas ar gaismas diodēm un slēdžiem un kā GPIO tapas var būt augstas vai zemas. Bet ko tad, ja vēlaties izmantot savu Raspberry Pi ar analogo sensoru?

Ja mēs vēlamies izmantot analogos sensorus ar Raspberry Pi, mums jāspēj izmērīt sensora pretestību. Atšķirībā no Arduino, Raspberry Pi GPIO tapas nespēj izmērīt pretestību, un tās var nojaust tikai tad, ja tām piegādātais spriegums ir virs noteikta sprieguma (aptuveni 2 volti). Lai atrisinātu šo problēmu, varat izmantot analogo ciparu pārveidotāju (ADC) vai arī salīdzinoši lētu kondensatoru.

Šī pamācība parādīs, kā to var izdarīt.

1. darbība. Kas jums būs nepieciešams

Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams

- RaspberryPi ar jau instalētu Raspbian. Jums būs arī jāspēj piekļūt Pi, izmantojot monitoru, peli un tastatūru vai izmantojot attālo darbvirsmu. Jūs varat izmantot jebkuru Raspberry Pi modeli. Ja jums ir viens no Pi Zero modeļiem, iespējams, vēlēsities lodēt dažas galvenes tapas GPIO portā.

- no gaismas atkarīgs rezistors (pazīstams arī kā LDR vai fotorezistors)

- 1 uF keramikas kondensators

- bez lodēšanas prototipu maizes dēlis

- Daži džemperi no vīriešiem līdz sievietēm

2. solis: izveidojiet ķēdi

Izveidojiet savu ķēdi
Izveidojiet savu ķēdi
Izveidojiet savu ķēdi
Izveidojiet savu ķēdi

Izveidojiet iepriekš minēto shēmu uz maizes dēļa, pārliecinoties, ka neviens no komponentu vadiem nepieskaras. No gaismas atkarīgajam rezistoram un keramikas kondensatoram nav polaritātes, kas nozīmē, ka negatīvu un pozitīvu strāvu var pievienot jebkuram vadam. Tāpēc jums nav jāuztraucas par to, kādā veidā šie komponenti ir pievienoti jūsu ķēdei.

Kad esat pārbaudījis ķēdi, pievienojiet savienojuma kabeļus ar Raspberry Pi GPIO tapām, ievērojot iepriekš redzamo diagrammu.

3. darbība: izveidojiet Python skriptu, lai nolasītu no gaismas atkarīgo rezistoru

Izveidojiet Python skriptu, lai nolasītu no gaismas atkarīgo rezistoru
Izveidojiet Python skriptu, lai nolasītu no gaismas atkarīgo rezistoru

Tagad mēs uzrakstīsim īsu skriptu, kas nolasīs un parādīs LDR pretestību, izmantojot Python.

Savā Raspberry Pi atveriet IDLE (Izvēlne> Programmēšana> Python 2 (IDLE)). Atveriet jaunu projektu, dodieties uz Fails> Jauns fails. Pēc tam ierakstiet (vai kopējiet un ielīmējiet) šādu kodu:

importēt RPi. GPIO kā GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0, kamēr True: GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin GPIO. OUT)) starttime = time.time () beigu laiks = time.time (), kamēr (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () meetresistance = endtime-starttime res = (pasākuma pretestība/vāciņš)* adj i = i+1 t = t+res, ja i == 10: t = t/i drukāt (t) i = 0 t = 0

Saglabājiet savu projektu mapē Dokumenti kā lightsensor.py (Fails> Saglabāt kā).

Tagad atveriet termināli (Izvēlne> Aksesuāri> Terminālis) un ierakstiet šādu komandu:

python lightsensor.py

Raspberry Pi atkārtoti parādīs fotorezistora pretestību. Novietojot pirkstu virs fotorezistora, pretestība palielināsies. Ja jūs izgaismosit spilgtu gaismu uz fotorezistoru, pretestība samazināsies. Jūs varat pārtraukt šīs programmas darbību, nospiežot CTRL+Z.

4. darbība. Kā tas darbojas

Kad kondensators pakāpeniski uzlādējas, palielinās spriegums, kas iet caur ķēdi un uz GPIO tapu. Kad kondensators ir uzlādēts līdz noteiktam punktam, tā spriegums paaugstinās virs 2 voltiem, un Raspberry Pi jutīs, ka GPIO pin 13 ir HIGH.

Ja sensora pretestība palielinās, kondensators lādēsies lēnāk un ķēde aizņems vairāk laika, lai sasniegtu 2 voltus.

Iepriekš minētais skripts būtībā reizina laiku, kas nepieciešams, lai tapa 13 kļūtu augsta, un pēc tam izmanto šo mērījumu, lai aprēķinātu fotorezistora pretestību.

Ieteicams: