Шановні друзі, 10.05.2021р. наш магазин працює з 10:00 до 19:00.
В зв'язку з карантином вхід в офіс можливий лише в захисній масці. Дякуємо за розуміння.
(098) 067-12-26 Київстар (098) 067-12-26   Київстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
Графік роботи магазину:
Пн-Пт: 9.00 - 19.00
Сб: 10.00 - 19.00
Нд: вихідний
м. Київ, вул. Васильківська, 30
ст.м. "Васильківська"
Каталог

Машинка з дистанційним керуванням з Raspberry Pi

В золотий вік штучного інтелекту і технологій, нова область набирає обертів: групова робототехніка. Групові роботи мають безліч застосувань, таких як виконання завдань, пов'язаних з автоматикою, автономною навігацією або складанням карт на місцевостях, до

Универсальный ESP

Собрав достаточно самоделок на ESP и Arduino платах включая (термостат для террариумов, погодную станцию c бегущей строкой, клон Гайвер-лампы, 4WD робота и тд), мы столкнулись с повторением в каждом из проектов типичных вещей. А именно, функций,

Порівняльні характеристики міні-комп'ютерів сімейства Raspberry Pi

Порівняльні характеристики міні-комп'ютерів сімейства Raspberry Pi.

Реализация маршрутизатора на одноплатном компьютере Orange Pi R1

В данной статье я кратко опишу, как сконфигурировать маршрутизатор основанный на одноплатном компьютере под управлением полноценной операционной системы GNU/Linux. В качестве основной аппаратной платформы будет использоваться Orange Pi

Пульсоксиметр MAX30102: устраняем ошибку платы модуля

Рассказываю, как проверить плату модуля пульсоксиметра MAX30102 и при необходимости устранить ошибку платы. Это новая версия платы, на которую устанавливают как снятый с производства сенсор MAX30100 так и относительно новый MAX30102 потому что чипы
Напиши статтю і отримай знижку! Наши партнеры https://hacklab.kiev.ua/

Светодиодное освещение рабочего стола на Arduino

2020-09-03

Всі статті →

Хороший свет на рабочем месте всегда был одним из главных “пунктиков” для меня. Особенно когда сидишь ночью в темноте и пишешь курсач или кодишь в VS - из-за высокой контрастности, между светлым монитором и темным задним фоном, глаза сильно перенапрягаются и устают. Сначала рядом стояла лампа, но она занимала достаточно много места на столе, поэтому было решено сделать новую, более “миниатюрную”.

У китайцев заказал 5м светодиодной ленты (теплый белый цвет) и блок питания 12В 3А, в эпицентре – алюминиевый профиль для этой ленты с пластиковой линзой для рассеивания света.

Светодиодные ленты: https://arduino.ua/cat264-svetodiodnie-lenti

Все остальное нашел у себя в ящике, а именно:

Все паяется по схеме:

Для прошивки контроллера используем плату Arduino nano и код из папки примеров Arduino ISP, подробную инструкцию писал в статье про сборку портативного осциллографа: https://arduino.ua/art97-kak-sobrat-portativnii-oscillograf

Так же делюсь последней версией прошивки. Все функции и переменные описаны в виде комментариев в коде:

/*

 *  Прошивка для светодиодного светильника LEDlamp v.2.1
 *  Добавлено:
 *                       плавное включение/выключение
 *                       выключение после долгого нажатия на кнопку
 *                       включение заданной яркости за постоянное к-во миллисекунд
 */
 
#define BTN 2 // Пин для подключения кнопки
#define LED 3 // Пин для подключение мофсета
 
byte State = 0, flag = 0;
bool ButtonState = HIGH; // Изменить в зависимости от использованной в проекте кнопки
 
unsigned long previousMillis = 0; 
unsigned long interval = 2000;     // К-во миллиссекунд для включения заданной яркости
unsigned long currentMillis = 0;
 
void setup() {
 
  Serial.begin(9600);
 
  pinMode(LED, OUTPUT);
  pinMode(BTN, INPUT);
  pinMode(A0, INPUT);
 
}
 
void loop() {
 
  if ( digitalRead(BTN) == ButtonState ) {
 
    flag++;
    currentMillis = millis();
 
  }
 
  while ( digitalRead(BTN) == ButtonState ) {
 
    if ( millis() - currentMillis >= interval ) {
 
      flag = 0;
      analogWrite(LED, 0);
      break;
 
    }
  }
 
  while ( digitalRead(BTN) == ButtonState ) delay(1); // Задержка от ложный нажатий
 
  switch (flag) {
 
    case 0:
      analogWrite(LED, 0); // Вторым аргументом в функции устанавливается яркость ленты
      break;
 
    case 1:
      analogWrite(LED, 40);
      break;
 
    case 2:
      analogWrite(LED, 85);
      break;
 
    case 3:
      analogWrite(LED, 175);
      break;
 
    case 4:
      analogWrite(LED, 250);
      break;
 
    case 5:
      flag = 0;
      break;
 
  }
 
  delay(1);
 
}

 

Есть один нюанс: блок питания подбирается из расчета потребления тока лентой - обычно 1А/м + 1А в запас (по умолчанию большинство лент требует 12В напряжения)

Блоки питания: https://arduino.ua/cat27-bloki-pitaniya или https://arduino.ua/cat200-bloki-pitaniya-negermetichnie

P.S. Свой светильник я наклеил за монитор дабы он освещал задний фон. При максимальной яркости вполне удобно что-то записывать в сумерках, поздней ночью обычно ставлю рядом еще и лампу. Контроллер повесил слева в углу, кнопка светится постоянно (пока не нажата) – для этого на плате запаивается перемычка.

Ссылки:

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Загальна оцінка:

Оцінка "Светодиодное освещение рабочего стола на Arduino"
3 з 5
зроблена на основі 3 оцінок 3 клієнтських відгуків.

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Вадим
16.11.2020 00:04:09
вы серьезно? целая мега на такую мелочь? для такой задачи хватит 13той тиньки
Artem
02.11.2020 07:41:10
Може і гарно, але при такому освітлені це просто додаткове навантаження на зір
Олексій Савченко
04.10.2020 18:00:24
Досить гарно вийшло!
оплата картами Visa і MasterCard