Spisu treści:

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

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

Wideo: Tworzenie rejestratora danych za pomocą Raspberry Pi: 3 kroki (ze zdjęciami)
Wideo: Kodi (LibreELEC) + Raspberry Pi4 czyli jak zbudować własne MediaPC, tanio, szybko i łatwo 2024, Lipiec
Anonim
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: