>
Из этой статьи мы с вами узнаем, как сделать атмосферную лампу, которая загорается так же, как расходятся волны по поверхности воды. Ее можно поставить на стол, полку или прикроватную тумбочку, чтобы создать гармоничную атмосферу и доставить удовольствие пользователю. Для изготовления такой лампы нужны следующие
Инструменты и материалы:-Ардуино Уно;-Емкостный сенсорный датчик AT42QT1070;-Кольцо Neopixel 12 x 5050 RGB LED;-Кольцо Neopixel 24 x 5050 RGB;-Кольцо Neopixel 40 x 5050 RGB;-Адресуемая светодиодная лента;-АКБ 9 В;
-Картон 25см х 25см;
-Керамическая миска 20 см x 6,2 см;
-Акрил;
-Термопистолет;
-Паяльные принадлежности;
-Инструмент для зачистки проводов;
-Провод;
-Кабельные стяжки;
-Изолента;
-Токопроводящая медная лента;Шаг первый: схема и принцип работы
Работа светильника основана на емкостном датчике. При касании поверхности по лампе как бы расходятся волны.


Дальше нужно зафиксировать положение неопиксельных колец нейлоновыми стяжками как на фото.
Собрать схему в соответствии с приведенной выше схемой.




Подключаем плату Arduino к компьютеру. Устанавливаем библиотеки библиотеки Adafruit NeoMatrix.
Загружаем код:
water.ino
Можно изменить код следующим образом (где #define PIXEL_COUNT 111 – общее количество светодиодов):

#define PIXEL_PIN 6
#define PIXEL_COUNT 111
#define BRIGHTNESS 50
bool oldState = HIGH;
int showType = 0;
Регулировка цвета светодиодов colorInnerRing (strip.Color (0, 150, 150), 200); Показать / Скрыть текстvoid startShow(int i) {
switch(i){
case 0: colorAll(strip.Color(0, 0, 0), 0); // Black/off
break;
case 1:
colorlast4(strip.Color(0, 255, 255), 0);
colorInnerRing(strip.Color(0, 150, 150), 200);
colorInnerRing(strip.Color(0, 255, 255), 0);
colorMiddleRing(strip.Color(0, 150, 150), 200);
colorInnerRing(strip.Color(0, 150, 150), 0);
colorMiddleRing(strip.Color(0, 255, 255), 0);
colorOuterRing(strip.Color(0, 150, 150), 200);
colorInnerRing(strip.Color(0, 0, 0), 0);
colorMiddleRing(strip.Color(0, 150, 150), 0);
colorOuterRing(strip.Color(0, 255, 255), 200);
colorInnerRing(strip.Color(0, 0, 0), 0);
colorMiddleRing(strip.Color(0, 0, 0), 0);
colorOuterRing(strip.Color(0, 150, 150), 200);
colorOuterRing(strip.Color(0, 0, 0), 0);
//colorAll(strip.Color(0, 0, 0), 0);
break;}
}
В этой строке «I» обозначает количество светодиодов. Внутреннее кольцо Neopixel имеет 12 светодиодов, поэтому код будет «I = 0; I <12 дюймов.
для (uint16_t i = 0; i <12; i ++)
void colorInnerRing(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<12; i++) {
strip.setPixelColor(i, c);
}
strip.show();
delay(wait);
}
Шаг четвертый: основание
В качестве основания для колец мастер использует картон. Вырезает круг по внутреннему диаметру тарелки. Закрепляет кольца на картоне. По центру устанавливает медную пластину, подключенную к емкостному датчику.
Картонный диск укладывает в тарелку. По внутренние стенки тарелки приклеивает светодиодную ленту.Подключает питание и проверяет работу.
Все готово.