Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Budowanie obwodu:
- Krok 2: Programowanie Arduino:
- Krok 3: Programowanie Pythona do wykresu danych z Arduino:
- Krok 4: Końcowy program sprawdzania natężenia światła w pomieszczeniu
- Krok 5: Wynik:
Wideo: Wykres natężenia światła za pomocą Arduino i biblioteki Arduino Master Library: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
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ą:
- Arduino
- Rezystor zależny od światła (LDR) i
- Python 3 zainstalowany na twoim komputerze.
Krok 1: 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:
- Podłącz jeden koniec LDR do dodatniego zacisku akumulatora 5 V lub do styku 5 V Arduino.
- Podłącz drugi koniec LDR równolegle do styku A1 i ujemnego zacisku akumulatora lub styku GND Arduino.
- 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:
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:
Pomiar natężenia światła za pomocą BH1715 i Raspberry Pi: 5 kroków
Pomiar natężenia światła za pomocą BH1715 i Raspberry Pi: Wczoraj pracowaliśmy nad wyświetlaczami LCD i podczas pracy nad nimi zdaliśmy sobie sprawę, jak ważne jest obliczanie natężenia światła. Intensywność światła jest ważna nie tylko w fizycznej domenie tego świata, ale ma również dobrze opisaną rolę w biologii
Lampa natężenia światła Arduino: 6 kroków
Arduino Light Intensity Lamp: Witam w moim samouczku dotyczącym budowania i kodowania lampy Intensity Lamp za pomocą Arduino. Będziesz potrzebować tych komponentów, aby to zbudować. * LDR * Mikrokontroler Arduino * Żarówka * Przekaźnik * Źródło zasilania * Płytka do krojenia chleba * Rezystor 1 k-ohm Mam nadzieję
Lampa natężenia światła Arduino: 5 kroków
Arduino Light Intensity Lamp: W tym projekcie dowiesz się, jak automatycznie włączać lampę, gdy jest ciemna
Podstawowa lampa natężenia światła Arduino!: 5 kroków
Podstawowa lampa natężenia światła Arduino!: Dzisiejszy obwód to zabawny mały projekt Arduino do kwarantanny! Ten obwód skupia się na dwóch interesujących materiałach; Przekaźnik SPDT & Fotorezystor. Ponadto przekaźnik ma być przełącznikiem w obwodzie elektronicznym. Ponadto fotore
Oszczędzanie energii z wykorzystaniem natężenia światła za pomocą fotokomórek i termistorów: 6 kroków
Oszczędzanie energii z wykorzystaniem natężenia światła za pomocą fotokomórek i termistorów: Ta instrukcja ma na celu nauczenie Cię, jak oszczędzać energię poprzez zmianę natężenia światła za pomocą fotokomórek i termistorów. Pokażemy Ci, jak zbudować obwód i zakodować Arduino za pomocą MATLAB