Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Настольная RGB-лампа с управлением жестами – Интерактивное беспроводное освещение

Компоненты и материалы

Arduino UNO 1 шт.
Датчик линии SmartElex RLS-08 (аналоговый и цифровой, 8 датчиков) 1 шт.
Провода перемычки (набор) 1 шт.
LED-лента NeoPixel (адресная, RGB, WS2812B) 1 шт.

Необходимые инструменты

Программное обеспечение и онлайн-сервисы

О проекте

Мы все видели различные настроенные лампы и RGB-подсветку. Обычно они управляются кнопками или пультом, но мы решили создать RGB-настольную лампу с управлением жестами, которая меняет цвет простым движением руки. Это интерактивный арт-проект на базе платы Arduino Uno и массива ИК-датчиков. Проект простой и увлекательный – отлично подходит для обучения студентов и школьников.

Шаг 1: Подготовка материалов

Все компоненты легко найти в местных магазинах или заказать онлайн:

Шаг 2: Принцип работы

Используемый датчик – это массив из 8 ИК-датчиков приближенности. Каждый выдает аналоговый и цифровой сигнал. Мы используем их для определения направления движения руки и соответствующего изменения цвета ленты. Arduino считывает данные с датчиков и управляет светодиодами.

На схеме показаны два основных жеста:

Шаг 3: Схема подключения

Подключение простое (см. схему на изображении):

Подключение ИК-датчика:

Подключение LED-ленты:

Шаг 4: Программирование

Код использует библиотеку FastLED для управления лентой и создания эффектов. Объявлены 8 переменных для хранения данных с датчиков. Количество светодиодов задано как 90 (можно изменить), 데이터-пин – 3.

В основном цикле два вложенных условия проверяют, какие датчики сработали, и запускают соответствующие цветовые эффекты. Функция fadeall() обеспечивает плавное изменение оттенка (Hue).

Шаг 5: Фотографии готового устройства

Ниже приведены фото собранной лампы в действии.

Исходный код

#include <FastLED.h>
int a,b,c,d,e,f,g,h,j=0;
#define NUM_LEDS 90
#define DATA_PIN 3
CRGB leds[NUM_LEDS];

void setup() {
  for(int pin=4; pin<=11; pin++) pinMode(pin, INPUT);
  LEDS.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
  LEDS.setBrightness(84);
}

void fadeall() {
  for(int i=0; i<NUM_LEDS; i++) leds[i].nscale8(250);
}

void loop() {
  a=digitalRead(4); b=digitalRead(5); c=digitalRead(6); d=digitalRead(7);
  e=digitalRead(8); f=digitalRead(9); g=digitalRead(10); h=digitalRead(11);
  static uint8_t hue = 0;

  // Свайп влево (A и B сработали)
  if(a==1 && b==1) {
    for(int i=4; i<55; i++) {
      leds[i] = CHSV(hue++, 255, 255);
      FastLED.show();
      fadeall();
      delay(10);
    }
  }

  // Свайп вправо (G и F сработали)
  if(g==1 && f==1) {
    for(int i=55; i>=4; i--) {
      leds[i] = CHSV(hue++, 255, 255);
      FastLED.show();
      fadeall();
      delay(10);
    }
  }
}

Схема в Fritzing

Схема показывает подключение 8 отдельных ИК-датчиков. Можно использовать либо 8 отдельных датчиков, либо готовый массив.

Производственный процесс

  1. Создание Bluetooth-робота на Raspberry Pi с аудио-обратной связью
  2. Жестово-управляемый робот на Raspberry Pi
  3. Управление светодиодами через Alexa с помощью Raspberry Pi – простое пошаговое руководство
  4. Превращаем старую радиоуправляемую машину в джойстик-контролируемый болид на Arduino
  5. SunGlass-BOT: Умные солнцезащитные очки с авто-подстройкой под свет
  6. Роботизированная рука 6 степеней свободы на Arduino Mega с управлением через Nunchuk
  7. Умный беспроводной выключатель света: Arduino-контроллер для удаленного управления
  8. Голосовой робот на Arduino Nano: Управление речью через Bluetooth
  9. PiBot: Робот-пианист на Arduino для точного исполнения музыки
  10. Arduino RGB-микшер цветов: Простой проект для начинающих