INHOUDSOPGAWE:

Maak 'n datalogger met die Raspberry Pi: 3 stappe (met foto's)
Maak 'n datalogger met die Raspberry Pi: 3 stappe (met foto's)

Video: Maak 'n datalogger met die Raspberry Pi: 3 stappe (met foto's)

Video: Maak 'n datalogger met die Raspberry Pi: 3 stappe (met foto's)
Video: В Google AIY Projects добавили естественное человеческое взаимодействие с Raspberry Pi 2024, Julie
Anonim
Maak 'n datalogger met die Raspberry Pi
Maak 'n datalogger met die Raspberry Pi

Hierdie eenvoudige datalogger neem gereelde ligmetings met 'n analoog LDR (Photoresistor) en stoor dit in 'n tekslêer op u Raspberry Pi. Hierdie datalogger meet elke 60 sekondes die ligvlak en teken dit op, sodat u kan monitor hoe die helderheid oor 'n lang tyd verander.

As ons analoog sensors met die Raspberry Pi wil gebruik, moet ons die weerstand van die sensor kan meet. Anders as die Arduino, kan die GPIO -penne van die Raspberry Pi nie weerstand meet nie en kan dit slegs voel as die spanning wat daaraan toegedien word, hoër is as 'n sekere spanning (ongeveer 2 volt). Om hierdie probleem op te los, kan u 'n analoog na digitale omskakelaar (ADC) gebruik, of u kan 'n relatief goedkoop kondensator gebruik.

Stap 1: wat u benodig

Wat u benodig
Wat u benodig
Wat u benodig
Wat u benodig
Wat u benodig
Wat u benodig
Wat u benodig
Wat u benodig

- 'n RaspberryPi met Raspbian reeds geïnstalleer. U moet ook toegang hê tot die Pi met behulp van 'n monitor, muis en sleutelbord of via afstandsbediening. U kan enige Raspberry Pi -model gebruik. As u een van die Pi Zero -modelle het, kan u 'n paar kopknoppies aan die GPIO -poort soldeer.

- 'n Ligte afhanklike weerstand (ook bekend as 'n LDR of fotoresistor)

- 'n 1 uF keramiek kondensator

- 'n Soldeerlose prototipe broodpan

- 'n Paar truie van manlik tot vroulik

Stap 2: Bou u stroombaan

Bou u stroombaan
Bou u stroombaan
Bou u stroombaan
Bou u stroombaan

Bou die bogenoemde stroombaan op u broodbord en maak seker dat nie een van die komponente se aanraking raak nie. Die ligafhanklike weerstand en keramiek -kondensator het geen polariteit nie, wat beteken dat 'n negatiewe en positiewe stroom aan beide lood verbind kan word. U hoef dus nie bekommerd te wees oor die manier waarop hierdie komponente in u stroombaan gekoppel is nie.

Nadat u u stroombaan gekontroleer het, koppel die jumperkabels sorgvuldig aan die GPIO -penne van u Raspberry Pi deur die diagram hierbo te volg.

Stap 3: Skep 'n Python -script om u data te lees en aan te teken

Skep 'n Python -script om u data te lees en aan te teken
Skep 'n Python -script om u data te lees en aan te teken

Maak IDLE oop op u Raspberry Pi (Menu> Programming> Python 2 (IDLE)) en maak 'n nuwe projek oop (File> New File). Tik dan die volgende in:

voer RPi. GPIO in as GPIO

invoer tyd invoer datetime loginterval = 60 #log interval in sekondes savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 0.000001 #1uf adj = 2.130620985

Weerstandsweerstand (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 () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () stuur eindtyd-begin-tyd terug (txt, fn): f = open (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 terwyl True: stime = time.time () vir 'n in -reeks (1, 11): res = (meetweerstand (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res as a == 10: t = t/i print (t) skrifeline (str (datetime.datetime.now ())+","+str (t), save file name) i = 0 t = 0 terwyl stime+loginterval> time.time (): #wag totdat logtime tyd verby. slaap (0,0001)

Stoor u projek as datalogger.py (File> Save As) in u Documents -lêergids.

Maak nou Terminal (Menu> Accessories> Terminal) oop en tik die volgende opdrag:

python datalogger.py

Die script sal 'n tekslêer met die naam "lightlevels.txt" skep en dit elke 60 sekondes opdateer. U kan hierdie lêernaam op reël 6 verander. U kan ook aanpas hoe gereeld die datalogger bywerk deur reël 5 te verander.

Aanbeveel: