Spisu treści:

Wykres natężenia światła za pomocą Arduino i biblioteki Arduino Master Library: 5 kroków
Wykres natężenia światła za pomocą Arduino i biblioteki Arduino Master Library: 5 kroków

Wideo: Wykres natężenia światła za pomocą Arduino i biblioteki Arduino Master Library: 5 kroków

Wideo: Wykres natężenia światła za pomocą Arduino i biblioteki Arduino Master Library: 5 kroków
Wideo: Symulator sterownika PLC na PC - Warsztaty PLC LIVE 2024, Listopad
Anonim
Wykres natężenia światła przy użyciu Arduino i biblioteki Arduino Master Library
Wykres natężenia światła przy użyciu Arduino i biblioteki Arduino Master Library

Arduino jest ekonomicznym, ale bardzo wydajnym i funkcjonalnym narzędziem, programowanie go w Embedded C sprawia, że proces tworzenia projektów staje się nudny! Moduł Arduino_Master w Pythonie upraszcza to i pozwala nam wykonywać obliczenia, usuwać wartości śmieci i rysować wykres dla wizualnej reprezentacji danych.

Jeśli jeszcze nie wiesz o tym module, zainstaluj go za pomocą polecenia pip install Arduino_Master

Nie martw się, jeśli nie wiesz, jak korzystać z tego modułu, odwiedź ten link => Arduino_Master

Jednak kod tego projektu będzie zawsze dostępny w tej instrukcji.

Kieszonkowe dzieci

Do tego projektu potrzebne będą:

  1. Arduino
  2. Rezystor zależny od światła (LDR) i
  3. Python 3 zainstalowany na twoim komputerze.

Krok 1: Budowanie obwodu:

Budowanie obwodu
Budowanie obwodu

Będziemy używać pinu A1 Arduino, aby uzyskać dane wejściowe. Możesz również użyć pinów 5V i GND Arduino zamiast baterii. Wykonaj połączenie w następujący sposób:

  1. Podłącz jeden koniec LDR do dodatniego zacisku akumulatora 5 V lub do styku 5 V Arduino.
  2. Podłącz drugi koniec LDR równolegle do styku A1 i ujemnego zacisku akumulatora lub styku GND Arduino.
  3. Użyj rezystora, aby upewnić się, że cały prąd nie popłynie do GND, co spowoduje, że nie uzyskasz wystarczająco silnego sygnału, aby wykryć na zacisku A1 Arduino. (Używam rezystora 10k omów).

Krok 2: Programowanie Arduino:

Moduł Arduino_Master wykorzystuje Serial Monitor Arduino do wysyłania i odbierania danych. Zaletą korzystania z tego modułu jest to, że po zaprogramowaniu Arduino możesz zmienić sam program Pythona dla różnych projektów, ponieważ programowanie w Pythonie jest stosunkowo łatwiejsze!

Kod:

// Zmienna LDR_1 służy do oznaczenia pinu A1 Arduino.

int LDR_1 = A1;

// Dane otrzymane z A1 będą przechowywane w LDR_Value_1.

pływak LDR_Value_1;

Wejście ciąg;

pusta konfiguracja()

{ pinMode(LDR_1, WEJŚCIE); // LDR_1 jest ustawiony jako pin INPUT. Serial.początek(9600); // Szybkość transmisji jest ustawiona na 9600. }

pusta pętla()

{ if(Serial.available()>0) // jeśli jakiekolwiek wejście jest dostępne w monitorze szeregowym, kontynuuj. { input=Serial.readString(); // Odczytaj dane wejściowe jako ciąg. if(input=="DANE") { LDR_Value_1=analogRead(LDR_1) * (5,0 / 1023,0); // (5 / 1023) to współczynnik konwersji do uzyskania wartości w woltach. Serial.println(LDR_Value_1); // Jeśli input jest równy "DATA", to odczytaj dane wejściowe z LDR_1 i wydrukuj je na monitorze szeregowym. } w przeciwnym razie int i=0; // jeśli input nie jest równy "DATA", nic nie rób! }

}

Krok 3: Programowanie Pythona do wykresu danych z Arduino:

Każdy LDR miałby własne wartości rezystancji i musimy pamiętać, że żadne elementy elektroniczne nigdy nie są dokładnie takie same w działaniu. Dlatego najpierw musimy znaleźć napięcie przy różnych natężeniach światła.

Prześlij następujący program do swojego Pythona IDE i uruchom go:

Zrób to dla różnych intensywności światła i za pomocą wykresu wyciągnij wniosek, na przykład jeśli intensywność jest mniejsza niż 1, pomieszczenie jest zbyt ciemne. W przypadku intensywności od 1 do 2 w pomieszczeniu jest dość ciemno. Przy intensywności większej niż 2 światło jest włączone.

# Importowanie modułu Arduino_Master

z importu Arduino_Master *

# zbieranie danych

data=filter(ardata(8, squeeze=False, dynamic=True, msg="DATA", lines=30), expect_type='num', limit=[0, 5])

# limit jest ustawiony na 5, ponieważ używamy baterii 5V.

# Wykreślanie wartości

Wykres(dane, stl='dark_background', label='Intensywność światła')

Krok 4: Końcowy program sprawdzania natężenia światła w pomieszczeniu

Po wyciągnięciu wniosków z danych, które otrzymałeś, wgraj następujący program i upewnij się, że zmieniłeś limity zgodnie z własnym wnioskiem.

# Importowanie modułu Arduino_Master

z importu Arduino_Master # zbieranie danych=filter(ardata(8, squeeze=False, dynamic=True, msg="DATA", lines=50), expect_type='num', limit=[0, 5]) #classifying data na podstawie wniosku info= for i in range(len(data)): intensywność=dane jeśli intensywność 1 i intensywność=2: info.append('Światło włączone') # Wykreślanie wykresu. compGraph(dane, informacje, stl='dark_background', label1='Intensywność światła', label2='Stan')

Krok 5: Wynik:

Wynik
Wynik

Uruchomienie programu zajmie minutę lub dwie, ponieważ odczytujesz 50 chwilowych wartości z Arduino.

Jeśli chcesz przyspieszyć proces, spróbuj zmienić parametr lines w funkcji ardata. Pamiętaj jednak, że im mniejsze obserwacje, tym gorsza byłaby jakość danych.

Uwaga: Jeśli cały wykres na powyższym zdjęciu nie jest widoczny, zapoznaj się z wykresem nad sekcją Wprowadzenie.

Zalecana: