Оглавление:
- Шаг 1: Подключение модулей и схемы NRF24L01
- Шаг 2: Кодирование передатчика
- Шаг 3: Кодирование приемника
- Шаг 4: СДЕЛАНО
Видео: Беспроводная светодиодная лампа с согласованным освещением Arduino с использованием фоторезистора: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
В этом руководстве подробно описаны шаги, необходимые для создания элементарной беспроводной светочувствительной светодиодной лампы с использованием Arduino Unos и фоторезистора. Возможное применение этого устройства - освещение комнаты без окон искусственным солнечным светом, которое соответствует реальным условиям освещения снаружи в режиме реального времени. Давайте начнем!
Список поставок:
Arduino Uno x2
NRF24L01 Беспроводной приемопередатчик x2 (Опционально - рюкзак NRF24L01 x2)
TIP120 транзистор Дарлингтона
Фоторезистор
5-миллиметровые светодиоды x3
Нажать кнопку
Резистор 100 Ом x3
Резистор 10 кОм x3
Различные перемычки
Шаг 1: Подключение модулей и схемы NRF24L01
В этом проекте один Arduino будет действовать как передатчик, отправляя данные об уровне освещенности с фоторезистора при нажатии кнопки. Другой Arduino будет служить приемником, принимая эти данные и преобразуя их в сигнал для светодиодов. На первом изображении показана схема передатчика, а на втором - приемник.
Примечание: на фотографиях моего проекта вы заметите, что трансиверы NRF24L01 прикреплены к другой печатной плате. Это рюкзак для трансиверов, который действует как регулятор мощности. Эти рюкзаки не только упрощают электромонтаж, но и регулируют потребляемую мощность для NRF24L01, позволяя использовать источник питания 5 В. Я не включил эти рюкзаки на диаграмме для ясности.
(Если вы все же решите использовать рюкзаки, перейдите по этой ссылке, чтобы увидеть схему расположения штифтов в соответствии со стандартным NRF24L01).
Ниже прилагается копия схемы в формате PDF для облегчения масштабирования / детального просмотра.
Шаг 2: Кодирование передатчика
Последний шаг - кодирование. Вам потребуется установить библиотеку RadioHead или эквивалентную библиотеку для использования с модулями NRF24L01.
Для этого проекта передатчик и приемник Arduinos используют разные коды для каждого. Вот код передатчика:
Я также прикрепил файл.ino (NRF_Send) для удобства.
#включают
#включают
RH_NRF24 nrf24; // Инициализируем трансивер как nrf24
int button = 5; // Установка значений выводов для кнопки и фоторезистора
int pResistor = A0; значение int = 0; // Значение света от 0 до 1023
установка void ()
{Serial.begin (9600); pinMode (кнопка, ВВОД); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Предупреждает пользователя, если инициализация модуля не удалась Serial.println ("init failed"); // По умолчанию после инициализации 2.402 ГГц (канал 2), 2 Мбит / с, 0 дБм if (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); если (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF failed"); }
пустой цикл ()
{if (digitalRead (button)) {// Отправляем сообщение, если кнопка нажата value = analogRead (pResistor); // Считываем значение фоторезистора (0-1023) uint8_t data = {value}; // Устанавливает массив с именем "data ", содержащий значение света nrf24.send (data, sizeof (data)); // Отправляем массив получателю nrf24.waitPacketSent (); // Дождитесь отправки пакета Serial.println ("Light Value:" + String (value)); // Распечатываем световое значение в серийный монитор}}
Шаг 3: Кодирование приемника
Для приемника код также использует библиотеку RadioHead.
#включают
#включают
RH_NRF24 nrf24;
int LEDPin = 3;
значение int = 0; // Значение света от 0 до 1023
установка void ()
{Serial.begin (9600); pinMode (LEDPin, ВЫХОД); если (! nrf24.init ()) Serial.println ("инициализация не удалась"); // По умолчанию после инициализации 2.402 ГГц (канал 2), 2 Мбит / с, 0 дБм if (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); если (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF failed"); }
пустой цикл ()
{// Ждем сообщения uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Сохраняем полученное сообщение как массив с именем "buf " uint8_t len = sizeof (buf); // Сохраняем размер buf как "len" while (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Принимает сообщение в течение 200 миллисекунд или пока не будет получено все сообщение {value = buf [0]; // Устанавливает значение для первого индекса buf , который представляет собой int из фоторезистора analogWrite (LEDPin, map (value, 0, 1023, 0, 255)); // Устанавливает вывод ШИМ на вывод масштабированного значения от 0 до 255 для яркости светодиода Serial.println (String (value)); } analogWrite (LEDPin, 0); }
Шаг 4: СДЕЛАНО
Наслаждайтесь игрой с разными уровнями освещения и наблюдайте, как светодиоды им соответствуют! Фоторезистор иногда может быть привередливым и лучше всего работает в темной комнате с локализованным источником света (но может работать и на улице, на солнце).
Рекомендуемые:
Японская лампа, напечатанная на 3D-принтере, с анимированным освещением: 3 шага
3D-печатная японская лампа с анимированным освещением: я создал 3D-печатную декоративную лампу в японском стиле с адресной светодиодной полосой RGB, управляемой Arduino. Надеюсь, вам понравится, попробуйте создать свой собственный и улучшить мой проект с вашим участием
Беспроводная светодиодная лента RGB с использованием Bluetooth и Wi-Fi ESP8266: 3 шага
Беспроводная светодиодная лента RGB с использованием Bluetooth и Wi-Fi ESP8266: Светодиодная лента RGB с использованием Bluetooth и WIFIWatch видео на YouTube для получения подробной информации
Беспроводная связь с использованием дешевых радиочастотных модулей 433 МГц и микроконтроллеров Pic. Часть 2: 4 шага (с изображениями)
Беспроводная связь с использованием дешевых радиочастотных модулей 433 МГц и микроконтроллеров Pic. Часть 2: В первой части этого руководства я продемонстрировал, как запрограммировать PIC12F1822 с использованием MPLAB IDE и компилятора XC8 для беспроводной передачи простой строки с использованием дешевых модулей TX / RX 433 МГц. Модуль приемника был подключен через USB к UART TTL. кабельное объявление
Беспроводная последовательная связь с использованием Bluefruit: 4 шага
Беспроводная последовательная связь с использованием Bluefruit: Вот простое пошаговое руководство по замене ваших проводов на соединение с низким энергопотреблением Bluetooth: мне потребовалось время, чтобы понять это, потому что почти нет документации по выполнению этого с помощью современных технологий Bluetooth с низким энергопотреблением, таких как как Bluefrui
Беспроводная передача данных своими руками с использованием ИК-светодиода и солнечной панели .: 4 шага
Беспроводная передача данных своими руками с использованием ИК-светодиода и солнечной панели. Как мы все знаем о солнечных панелях, фотоэлектрические солнечные панели поглощают солнечный свет в качестве источника энергии для выработки электричества. Это отличный подарок в виде бесплатного источника энергии. Но все же широко не используется. Основная причина этого в том, что это дорого