Tworzenie rejestratora danych za pomocą Raspberry Pi: 3 kroki (ze zdjęciami)
Tworzenie rejestratora danych za pomocą Raspberry Pi: 3 kroki (ze zdjęciami)
Tworzenie rejestratora danych za pomocą Raspberry Pi
Tworzenie rejestratora danych za pomocą Raspberry Pi

Ten prosty rejestrator danych wykonuje regularne pomiary światła za pomocą analogowego LDR (fotorezystora) i przechowuje je w pliku tekstowym na Twoim Raspberry Pi. Ten rejestrator danych mierzy i rejestruje poziom światła co 60 sekund, umożliwiając monitorowanie zmian jasności w czasie.

Jeśli chcemy używać czujników analogowych z Raspberry Pi, musielibyśmy mieć możliwość pomiaru rezystancji czujnika. W przeciwieństwie do Arduino, piny GPIO Raspberry Pi nie są w stanie zmierzyć rezystancji i mogą wykrywać tylko wtedy, gdy dostarczane do nich napięcie przekracza określone napięcie (około 2 wolty). Aby rozwiązać ten problem, możesz użyć konwertera analogowo-cyfrowego (ADC) lub możesz zamiast tego użyć stosunkowo taniego kondensatora.

Krok 1: Czego będziesz potrzebować

Czego będziesz potrzebować
Czego będziesz potrzebować
Czego będziesz potrzebować
Czego będziesz potrzebować
Czego będziesz potrzebować
Czego będziesz potrzebować
Czego będziesz potrzebować
Czego będziesz potrzebować

- RaspberryPi z zainstalowanym Raspbianem. Będziesz także musiał mieć dostęp do Pi za pomocą monitora, myszy i klawiatury lub za pomocą pulpitu zdalnego. Możesz użyć dowolnego modelu Raspberry Pi. Jeśli masz jeden z modeli Pi Zero, możesz przylutować kilka pinów nagłówka do portu GPIO.

- Rezystor zależny od światła (znany również jako LDR lub fotorezystor)

- Kondensator ceramiczny 1 uF

- Bezlutowa prototypowa płytka do krojenia chleba

-Niektóre przewody połączeniowe męskie do żeńskich

Krok 2: Zbuduj swój obwód

Zbuduj swój obwód
Zbuduj swój obwód
Zbuduj swój obwód
Zbuduj swój obwód

Zbuduj powyższy obwód na płytce prototypowej, upewniając się, że żaden z wyprowadzeń komponentów nie styka się. Rezystor zależny od światła i kondensator ceramiczny nie mają polaryzacji, co oznacza, że prąd ujemny i dodatni można podłączyć do dowolnego przewodu. Dlatego nie musisz się martwić, w jaki sposób te elementy zostały połączone w twoim obwodzie.

Po sprawdzeniu obwodu ostrożnie podłącz kable połączeniowe do pinów GPIO Raspberry Pi, postępując zgodnie z powyższym schematem.

Krok 3: Utwórz skrypt Pythona do odczytywania i rejestrowania danych

Utwórz skrypt Pythona do odczytywania i rejestrowania danych
Utwórz skrypt Pythona do odczytywania i rejestrowania danych

Otwórz IDLE na swoim Raspberry Pi (Menu> Programowanie> Python 2 (IDLE)) i otwórz nowy projekt (Plik> Nowy plik). Następnie wpisz:

importuj RPi. GPIO jako GPIO

import czas import datetime loginterval=60 #log interwał w sekundach savefilename="lightlevels.txt" SensorPin=17 TriggerPin=27

GPIO.setmode(GPIO. BCM)

cap=0.000001 #1uf adj=2.130620985

def pomiar rezystancji (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 () return endtime-starttime def writeline(txt, fn): f = open(fn, 'a') f.write(txt+'\n') f.close() i=0 t=0 while True: stime= time.time() dla a w zakresie (1, 11): res=(pomiar rezystancji(SensorPin, TriggerPin)/cap)*adj i=i+1 t=t+res jeśli a==10: t=t/i print(t) writeline(str(datetime.datetime.now())+", "+str(t), savefilename) i=0 t=0 while stime+loginterval>time.time(): #czekaj aż logtime się skończy minął czas.sen(0.0001)

Zapisz swój projekt jako datalogger.py (Plik > Zapisz jako) w folderze Dokumenty.

Teraz otwórz Terminal (Menu> Akcesoria> Terminal) i wpisz następujące polecenie:

python datalogger.py

Skrypt utworzy plik tekstowy o nazwie „lightlevels.txt” i będzie go aktualizował co 60 sekund. Możesz zmienić tę nazwę pliku w wierszu 6. Możesz również dostosować częstotliwość aktualizacji rejestratora danych, zmieniając wiersz 5.

Zalecana: