Spisu treści:
- Krok 1: Okablowanie modułów i obwodu NRF24L01
- Krok 2: Kodowanie nadajnika
- Krok 3: Kodowanie odbiornika
- Krok 4: GOTOWE
Wideo: Bezprzewodowa lampa LED Arduino dopasowująca się do światła za pomocą fotorezystora: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Ta instrukcja opisuje kroki niezbędne do skonstruowania podstawowej bezprzewodowej lampy LED z czujnikiem światła przy użyciu Arduino Unos i fotorezystora. Możliwym zastosowaniem tego urządzenia byłoby oświetlenie pomieszczenia, w którym nie ma okien sztucznym światłem słonecznym, dopasowując się w czasie rzeczywistym do rzeczywistych warunków oświetlenia na zewnątrz. Zacznijmy!
Lista dostaw:
Arduino Uno x2
Nadajnik-odbiornik bezprzewodowy NRF24L01 x2 (opcjonalnie - plecak NRF24L01 x2)
Tranzystor TIP120 darlington
Fotorezystor
Diody LED 5mm x3
Naciśnij przycisk
Rezystor 100 omów x3
Rezystor 10 kΩ x3
Różne przewody połączeniowe
Krok 1: Okablowanie modułów i obwodu NRF24L01
W tym projekcie jedno Arduino będzie działać jako nadajnik, wysyłając dane o poziomie światła z fotorezystora po naciśnięciu przycisku. Drugi Arduino będzie służył jako odbiornik, pobierający te dane i przetwarzający je na sygnał do diod LED. Pierwszy obraz przedstawia schemat nadajnika, a drugi odbiornik.
Uwaga: na zdjęciach mojego projektu zauważycie, że transceivery NRF24L01 są przymocowane do innej płytki drukowanej. Jest to moduł plecakowy na transceivery, który pełni rolę regulatora mocy. Oprócz ułatwienia okablowania, plecaki te regulują pobór mocy dla NRF24L01, umożliwiając korzystanie z zasilacza 5 V. Pominąłem te plecaki na moim schemacie dla jasności.
(Jeśli zdecydujesz się na użycie plecaków, zapoznaj się z tym linkiem, aby zapoznać się ze schematem lokalizacji pinów w odniesieniu do zapasów NRF24L01).
Poniżej znajduje się kopia obwodu w formacie PDF, ułatwiająca powiększanie/oglądanie szczegółów.
Krok 2: Kodowanie nadajnika
Ostatnim krokiem jest kodowanie. Będziesz musiał zainstalować bibliotekę RadioHead lub równoważną bibliotekę do użytku z modułami NRF24L01.
W tym projekcie nadajnik i odbiornik Arduino używają innego kodu na każdym. Oto kod nadajnika:
Dla wygody załączyłem również plik.ino (NRF_Send).
#włączać
#włączać
RH_NRF24 nrf24; //Inicjalizacja transceivera jako nrf24
wewn przycisk = 5; //Ustawianie wartości pinów dla przycisku i fotorezystora
int pRezystor = A0; wartość int = 0; //Wartość światła od 0-1023
pusta konfiguracja()
{ Szeregowy.początek(9600); pinMode(przycisk, WEJŚCIE); pinMode(pRezystor, WEJŚCIE); if (!nrf24.init()) //Ostrzega użytkownika, jeśli inicjalizacja modułu nie powiedzie się Serial.println("inicjowanie nie powiodło się"); // Wartości domyślne po init to 2,402 GHz (kanał 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF nie powiodło się"); }
pusta pętla()
{ if (digitalRead(przycisk)) { //Wyślij wiadomość po naciśnięciu przycisku value = analogRead(pResistor); //Odczytaj wartość fotorezystora (0-1023) uint8_t data = {value}; //Ustawia tablicę o nazwie "data" zawierającą wartość światła nrf24.send(data, sizeof(data)); //Wyślij tablicę do odbiorcy nrf24.waitPacketSent(); //Poczekaj, aż pakiet zostanie wysłany Serial.println("Wartość światła: " +String(wartość)); //Wydrukuj wartość światła na monitorze szeregowym } }
Krok 3: Kodowanie odbiornika
W przypadku odbiornika kod wykorzystuje również bibliotekę RadioHead.
#włączać
#włączać
RH_NRF24 nrf24;
wewn. LEDPin = 3;
wartość int = 0; //Wartość światła od 0-1023
pusta konfiguracja()
{ Szeregowy.początek(9600); pinMode (LEDPin, WYJŚCIE); if (!nrf24.init()) Serial.println("inicjowanie nie powiodło się"); // Wartości domyślne po init to 2,402 GHz (kanał 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF nie powiodło się"); }
pusta pętla()
{ // Czekaj na wiadomość uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN]; //Przechowuj odebraną wiadomość jako tablicę o nazwie "buf" uint8_t len = sizeof(buf); //Przechowuj rozmiar buf jako "len" while (nrf24.waitAvailableTimeout(200) && nrf24.recv(buf, &len)) //Odbiera wiadomość przez 200 milisekund lub do momentu odebrania całej wiadomości { value = buf[0]; //Ustawia wartość na pierwszy indeks buf, który jest int z fotorezystora analogWrite(LEDPin, map(value, 0, 1023, 0, 255)); //Ustawia pin PWM tak, aby wyświetlał przeskalowaną wartość z zakresu od 0 do 255 dla jasności LED Serial.println(String(value)); } zapis analogowy(LEDPin, 0); }
Krok 4: GOTOWE
Baw się z różnymi poziomami światła i obserwuj, jak diody LED je dopasowują! Fotorezystor może być czasami wybredny i działa najlepiej w ciemnym pomieszczeniu ze zlokalizowanym źródłem światła (ale może działać również na zewnątrz ze słońcem).
Zalecana:
Jak używać fotorezystora do oświetlenia diody LED za pomocą Aurduino: 12 kroków
Jak używać fotorezystora do oświetlenia LED z Aurduino: Dzień dobry/popołudnie/wieczór wszystkim entuzjastom Arduino! Dzisiaj zademonstruję, jak wykorzystać fotorezystor (fotokomórkę) do oświetlania diody LED. Kod dostarczony z tym Instruktażem pozwoli, aby dioda LED była normalnie przyciemniona, ale będzie migać
Bezprzewodowa taśma LED RGB za pomocą Bluetooth i Wifi ESP8266: 3 kroki
Bezprzewodowa taśma Led RGB za pomocą Bluetooth i Wifi ESP8266: Taśma Led RGB za pomocą Bluetooth i WIFIObejrzyj wideo na youtube, aby uzyskać szczegółowe informacje
Bezprzewodowa komunikacja szeregowa za pomocą Bluefruit: 4 kroki
Bezprzewodowa komunikacja szeregowa przy użyciu Bluefruit: Oto prosty przewodnik krok po kroku, jak wymienić przewody na połączenie Bluetooth o niskim zużyciu energii: zajęło mi trochę czasu, aby to zrozumieć, ponieważ nie ma prawie żadnej dokumentacji na ten temat za pomocą nowoczesnej technologii Bluetooth o niskim zużyciu energii. jak Bluefrui
DIY bezprzewodowa transmisja za pomocą diody podczerwieni i panelu słonecznego.: 4 kroki
DIY bezprzewodowa transmisja za pomocą diody podczerwieni i panelu słonecznego.: Jak wszyscy wiemy o panelach słonecznych, fotowoltaiczne panele słoneczne pochłaniają światło słoneczne jako źródło energii do generowania energii elektrycznej. To świetny prezent w postaci darmowego źródła zasilania. Ale nadal nie jest szeroko stosowany. Głównym powodem jest to, że jest to drogie
Trzecia kamera cofania światła hamowania (bezprzewodowa): 6 kroków (ze zdjęciami)
Trzecia kamera cofania światła hamowania (bezprzewodowa): Witam wszystkich! W dzisiejszym projekcie zainstaluję kamerę cofania w moim trzecim świetle hamowania. Do tego projektu będę używał własnego samochodu, którym jest Mitsubishi Lancer GTS 2010. Ta technika będzie działać z każdym Mitsubishi Lancer / Lanc