Уважаемые клиенты! В связи с ухудшением эпидемиологической ситуации САМОВЫВОЗЫ прекращаются на неопределенный срок.
(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
ст.м. "Васильковская"
Каталог

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

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

Пробный минивыжигатель на двигателях 28byj-48: часть 2

После событий первой части появилось желание сделать нормальный каркас, приобрести более мощный лазер и перейти на GRBL v.1.1. Размер рабочего поля останется прежним: 80х80мм. Будет повторно использована та же механика.

Датчику кольору TCS230 в системі сортування за кольором на Arduino

Колись на виконанні дипломного проекту мені запропонували реалізувати свою ідею на реальному прототипі, сенс даної системи в тому, що вона автоматично сортує предмети на відповідні лінії, як продукцію на підприємстві але за кольором цього предмету.

Индуктивные датчики - описания, виды, характеристики

Индуктивные концевые переключатели (датчики) цилиндрического типа служат для контроля положения металлических объектов. Область их применения невероятно широка. В нашем магазине представлена линейка индуктивных датчиков, но что значат эти буквы и цифры в

Принцип работы дисплея E-ink

Само понятие E-Ink переводится как "электронная бумага" или "электронные чернила". Дисплеи, созданные на основе технологии E-ink называют электронной бумагой - т.к. данная технология разрабатывалась именно для имитации стандартной печати на обычном листе
Напиши статью и получи скидку!

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

Ссылки:

Ваша оценка статьи:

Отлично
Хорошо
Удовлетворительно
Плохо
Очень плохо

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Пока нет отзывов на эту статью.
оплата картами Visa и MasterCard