Satura rādītājs:

Datu reģistrētāja izveide, izmantojot Raspberry Pi: 3 soļi (ar attēliem)
Datu reģistrētāja izveide, izmantojot Raspberry Pi: 3 soļi (ar attēliem)

Video: Datu reģistrētāja izveide, izmantojot Raspberry Pi: 3 soļi (ar attēliem)

Video: Datu reģistrētāja izveide, izmantojot Raspberry Pi: 3 soļi (ar attēliem)
Video: ESP32 Tutorial 3 - Resistor, LED, Bredboard and First Project: Hello LED -ESP32 IoT Learnig kit 2024, Novembris
Anonim
Datu reģistrētāja izveide, izmantojot Raspberry Pi
Datu reģistrētāja izveide, izmantojot Raspberry Pi

Šis vienkāršais datu reģistrētājs veic regulārus gaismas mērījumus ar analogo LDR (fotorezistoru) un saglabā tos teksta failā jūsu Raspberry Pi. Šis datu reģistrētājs mēra un reģistrē gaismas līmeni ik pēc 60 sekundēm, ļaujot jums kontrolēt, kā spilgtums mainās ilgākā laika periodā.

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.

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, uzmanīgi pievienojiet savienojuma kabeļus ar Raspberry Pi GPIO tapām, ievērojot iepriekš redzamo diagrammu.

3. darbība: izveidojiet Python skriptu, lai lasītu un reģistrētu savus datus

Izveidojiet Python skriptu, lai lasītu un reģistrētu savus datus
Izveidojiet Python skriptu, lai lasītu un reģistrētu savus datus

Atveriet IDLE savā Raspberry Pi (Izvēlne> Programmēšana> Python 2 (IDLE)) un atveriet jaunu projektu (Fails> Jauns fails). Pēc tam ierakstiet šādu:

importēt RPi. GPIO kā GPIO

importēšanas laiks importēšanas datuma laiks loginterval = 60 #log intervāls sekundēs savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

vāciņš = 0.000001 #1uf adj = 2.130620985

pretestības pretestība (mpin, tpin):

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 () beigu laiks = time.time (), kamēr (GPIO.input (mpin) == GPIO. LOW): endtime = time.time return endtime-starttime def writeeline (txt, fn): f = open (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0, kamēr True: stime = time.time () a diapazonā (1, 11): res = (pasākuma pretestība (SensorPin, TriggerPin)/vāciņš)*adj i = i+1 t = t+res, ja a == 10: t = t/i print (t) writeline (str (datetime.datetime.now ())+","+str (t), savefilename) i = 0 t = 0, kamēr stime+loginterval> time.time (): #jāgaida, līdz logtime ir pagājis laiks. miegs (0,0001)

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

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

python datalogger.py

Skripts izveidos teksta failu ar nosaukumu "lightlevels.txt" un atjauninās to ik pēc 60 sekundēm. Šo faila nosaukumu varat mainīt 6. rindā. Varat arī pielāgot datu reģistratora atjaunināšanas biežumu, mainot 5. rindu.

Ieteicams: