Turinys:

Duomenų kaupiklio kūrimas naudojant „Raspberry Pi“: 3 žingsniai (su nuotraukomis)
Duomenų kaupiklio kūrimas naudojant „Raspberry Pi“: 3 žingsniai (su nuotraukomis)

Video: Duomenų kaupiklio kūrimas naudojant „Raspberry Pi“: 3 žingsniai (su nuotraukomis)

Video: Duomenų kaupiklio kūrimas naudojant „Raspberry Pi“: 3 žingsniai (su nuotraukomis)
Video: Leap Motion SDK 2024, Liepa
Anonim
Duomenų kaupiklio kūrimas naudojant „Raspberry Pi“
Duomenų kaupiklio kūrimas naudojant „Raspberry Pi“

Šis paprastas duomenų kaupiklis reguliariai matuoja šviesą su analoginiu LDR (fotorezistoriumi) ir saugo juos teksto faile jūsų „Raspberry Pi“. Šis duomenų kaupiklis matuos ir įrašys šviesos lygį kas 60 sekundžių, leisdamas jums stebėti, kaip ryškumas kinta per tam tikrą laiką.

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ų.

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ę, atsargiai prijunkite trumpiklius prie „Raspberry Pi“GPIO kaiščių, vadovaudamiesi aukščiau pateikta schema.

3 veiksmas: sukurkite „Python“scenarijų, kad galėtumėte skaityti ir registruoti savo duomenis

Sukurkite „Python“scenarijų, kad galėtumėte skaityti ir registruoti savo duomenis
Sukurkite „Python“scenarijų, kad galėtumėte skaityti ir registruoti savo duomenis

Raspberry Pi atidarykite IDLE (meniu> Programavimas> Python 2 (IDLE)) ir atidarykite naują projektą (Failas> Naujas failas). Tada įveskite:

importuoti RPi. GPIO kaip GPIO

importavimo laikas importavimo datos laikas loginterval = 60 #log intervalas sekundėmis savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

viršutinė riba = 0.000001 #1uf adj = 2.130620985

matuojamas atsparumas (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.putput (tpin, True) starttime = time.time () endtime = time.time () o (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, o tiesa: stime = time.time () a diapazone (1, 11): res = (išmatuotas atsparumas (SensorPin, TriggerPin)/dangtelis)*adj i = i+1 t = t+res, jei a == 10: t = t/i print (t) writeline (str (datetime.datetime.now ())+","+str (t), išsaugoti failo pavadinimą) i = 0 t = 0, o trukmė+loginterval> time.time (): #laukti, kol baigsis logtime praėjo laikas. miegas (0,0001)

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

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

python datalogger.py

Scenarijus sukurs tekstinį failą pavadinimu „lightlevels.txt“ir atnaujins jį kas 60 sekundžių. Šį failo pavadinimą galite pakeisti 6 eilutėje. Taip pat galite koreguoti duomenų kaupiklio atnaujinimo dažnumą, pakeisdami 5 eilutę.

Rekomenduojamas: