Розумна лампа за допомогою Arduino. Підключення фоторезистора до ардуїно та робота з датчиком освітленості Підключення фоторезистора до ардуїно

Всім привіт! Я - Артем Лужецький і я вестиму серію статей присвячених "Розумному дому" та IoT (англ. - Internet of Things, інтернет речей). Ми познайомимося з дивовижними способами створення домашньої мережі з різноманітних пристроїв, які працюватимуть автономно, або за допомогою людини. Ну що? Почнемо!

Перша стаття ознайомча, я хочу, щоб ви зрозуміли, що я працюватиму з найпоширенішими платами та модулями, щоб більшість людей могла спробувати себе у розробці IoT.

Отже, для початку нам знадобляться два мікроконтролери, які ми будемо використовувати: і .

Arduino UNO

Я думаю не треба знайомити вас з цією платою, вона дуже популярна серед початківців та шанувальників DIY. Скажу тільки те, що можливості цієї плати обмежені і UNO не може працювати з протоколом https, не вистачає обчислювальної потужності мікроконтролера ATmega328P, тому коли нам доведеться працювати з мікроконтролером і протоколом https, то ми будемо програмувати ESP8266.

ESP8266

Я працюватиму з Troyka-модулем ESP8266 від компанії "Амперка", але можна спокійно використовувати і звичайний модуль ESP 8266, вони практично не мають відмінностей, головне при підключенні подивитися значення пінів і запам'ятати, що ESP працює за 3,3 вольтової логіки, тому Необхідно або підключати через 5 вольт, але підключити на схему стабілізатор напруги, або легко застосовувати пін з подачею напруги на 3,3 вольта.

Даний мікроконтролер не найпотужніший у серії компанії Espressif на загальному ринку, але він один із найдешевших і найпоширеніших. Він буде основою наших IoT розробок.

Додаткові деталі

Також нам знадобиться для створення всіх дослідів:

  1. Світлодіоди
  2. Фоторезистор
  3. Термістор
  4. Ультразвуковий далекомір
  5. П'єзодинамік
  6. Міні Сервопривід
  7. ІЧ - датчик
  8. ІЧ - пульт

Не потрібно мати всі ці модулі, щоб працювати з IoT, але для того, щоб зробити всі майбутні проекти, нам згодом доведеться придбати їх усі.

Програми та бібліотеки

Перше - завантажте бібліотеку, яка допоможе вам набагато простіше працювати в Arduino IDE, якщо ви використовуєте ESP8266 - http://wiki.amperka.ru/_media/iot-m:iot-m-libs.zip

Друге – для кращого ознайомлення з IoT нам знадобляться веб-сайти, які нададуть нам можливість надсилати на них дані.

  1. www.dweet.io
  2. maker.ifttt.com
  3. narodmon.ru
  4. і т.д.

Третє - також нам знадобляться різні програми на андройд, щоб за допомогою телефону ми могли управляти розумним будинком.

  1. OpenHab
  2. Blink
  3. і т.д.

Докладно з усіма способами, програмами та сайтами ми познайомимося вже у найближчих проектах.

2. Робимо "розумну лампу"

Я вже змусив вас нудьгувати? Зробимо найпростішу розумну лампу, яка вмикається, якщо в кімнаті темно.

Насправді для цього навіть не потрібна UNO, можна використовувати цифровий фотодатчик, що настроюється, але в майбутньому ми змінимо цей проект до невпізнанності, тому доведеться з чогось почати.

Якщо ви не впевнені в тому, що готові працювати з електрикою 220 вольт, то використовуйте замість ліхтаря звичайний світлодіод. На початку я взяв свою стару лампу TLI-204, такі є практично в будь-якому магазині (відключив заздалегідь від мережі).

У лампи два види роботи (світить/не світить), що я хочу зробити, я хочу збільшити її функціональність, залишити можливість повністю включити і повністю вимкнути лампу.

Підключити якось паралельно до ланцюга фоторезистор з реле без використання ще одного перемикача не вийде, тому я вирішив поставити замість двопозиційного перемикача трипозиційний тумблер.

Загальна електрична схема має виглядати так:

Якщо все зробити правильно, то на третій позиції перемикача ви зможете, подаючи з мікроконтролера струм на реле, включати лампу.

Підключимо до Ардуін фоторезистор. Схема виглядає так:

3. Код для "розумної лампи"

Тепер напишемо код, яким будемо передавати струм на реле, якщо в кімнаті буде темно.

#define SHINE 5 //ПІН НА ФОТОРЕЗИСТОРІ #define REL 13 //ПІН НА РЕЛЕ void setup()( pinMode(SHINE, INPUT); pinMode(REL, OUTPUT); Serial.begin(9600); ) void loop()( if (analogRead(SHINE)<600) // Если света в комнате мало, то включаем лампу { digitalWrite(REL, HIGH) } else // если много, то выключаем { digitalWrite(REL, LOW); } Serial.printIn(analogRead(SHINE)); selay(500); }

Коли все підключатимете, не забудьте прибрати фотодатчик від лами, інакше на вас чекатиме світлова вистава. Все має заробити.

Наступного разу спробуємо ускладнити код і додати ще пару функцій. До скорої зустрічі!

Напевно, у кожного у дитинстві була мрія (і не одна). Можна спробувати навіть згадати те почуття, яке переповнює душу дитини при виконанні її мрії або той далекий знайомий блиск в очах… Я ж у дитинстві мріяла мати свій нічник.

Зараз я навчаюсь на 4-му курсі БДУІР і коли нам повідомили, що курсовий проект із схемотехніки можна зробити не на папері, а на залізяку, мене осяяло: нічник, який так хотів у дитинстві, можна зробити самої. Причому зробити не просто об'єкт, який освітлюватиме кімнату в темний час доби, а пристрій, яким можна буде легко управляти під будь-який настрій. А чому б і ні? Я вирішила додати можливість змінювати кольори за допомогою рук: чим ближче рука підноситься до нічника, тим яскравіше горить один із квітів (RGB). А також хотілося б керувати нічником за допомогою пульта дистанційного керування.

Відразу зізнаюся, що ідею я підглянула на cxem.net. Якщо коротко, у цьому прикладі використовувалася RGB-матриця, яка керувалася за допомогою регістрів зсуву, та ультразвукові датчики відстані. Але я подумала, що матриця світить виключно в один бік, мені ж хотілося, щоб нічник світив на всі боки.

Обґрунтування елементів схеми


Я звернула увагу на мікроконтролери Arduino. UNO цілком підходящий варіант для мого задуму, по-перше тому що це найбільш популярна платформа і кількість пінів не надто велика, на відміну від Mega, по-друге, до неї можна підключити зовнішнє джерело живлення, в моєму випадку він 12В, на відміну від Nano , по-третє… ну думаю можна зупинитися на цих двох пунктах. Платформа користується величезною популярністю у всьому світі завдяки зручності та простоті мови програмування, а також відкритій архітектурі та програмному коду.

Більш детальну інформацію про цю плату можна легко знайти на просторах інтернету, так що не перевантажуватиму статтю.

Отже, основні вимоги до системи. Необхідні:
– датчики, які відстежуватимуть відстань до перешкоди для керування системою;
- Датчик для зчитування сигналів з пульта дистанційного керування;
- світлодіоди, які і забезпечуватимуть необхідну функціональність освітлення;
– керуючий блок, який керуватиме всією системою.

Як датчики відстані для проекту необхідні далекоміри, кожен з яких відповідатиме певному кольору: червоний, зелений, синій. Датчики відстані стежитимуть за відстанню руки до нічника і, чим ближче рука підноситиметься до певного датчика, тим сильніше горітиме колір, що відповідає цьому далекоміру. І навпаки, що далі рука, то менше подається напруга на колір, що відповідає датчику.

Найбільш популярні далекоміри на даний момент це Sharp GP2Y0A21YK та HC-SR04. Sharp GP2Y0A21YK - це інфрачервоний далекомір. Він оснащений ік-випромінювачем і ик-приймачем: перший є джерелом променя, відбиток якого ловить другий. При цьому ик-промені датчика для ока невидимі і за такої інтенсивності нешкідливі.

Порівняно з ультразвуковим датчиком HC-SR04, цей датчик має і переваги, і недоліки. До переваг можна віднести нейтральність і нешкідливість. А недоліки – менший радіус дії та залежність від зовнішніх перешкод, у тому числі – деяких типів освітлення.

Як датчики відстані для проекту використані ультразвукові далекоміри HC-SR04.
Принцип дії HC-SR04 ґрунтується на добре відомому явищі ехолокації. При використанні випромінювач формує акустичний сигнал, який відбившись від перешкоди, повертається до датчика і реєструється приймачем. Знаючи швидкість поширення ультразвуку в повітрі (приблизно 340м/с) і час запізнення між випромінюваним та прийнятим сигналом, легко розрахувати відстань до акустичної перешкоди.

Вхід TRIG підключається до будь-якого висновку мікроконтролера. На цей висновок необхідно подавати імпульсний цифровий сигнал тривалістю 10 мкс. За сигналом на вході TRIG датчик надсилає пачку ультразвукових імпульсів. Після прийому відбитого сигналу датчик формує на виведенні ECHO імпульсний сигнал, тривалість якого пропорційно відстані до перешкоди.

Ік-датчик. Зрозуміло, з даного датчика зчитуватиметься і декодуватиметься сигнал, необхідний для дистанційного керування. TSOP18 відрізняються між собою лише за частотою. Для проекту вибрано датчик VS1838B TSOP1838.

В основі проекту лежала ідея про освітлення приміщення будь-яким кольором, це говорить про те, що знадобляться 3 основні кольори, з яких буде отримано освітлення: червоний, зелений, синій. Тому була обрана модель світлодіодів SMD 5050RGB, які чудово впораються з поставленим завданням.

Залежно від величини напруги, що подається на кожен світлодіод, вони змінюватимуть інтенсивність цього освітлення. Світлодіод повинен бути підключений через резистор, інакше ризикуємо зіпсувати не лише його, а й Arduino. Резистор необхідний у тому, щоб обмежити струм на світлодіоді до прийнятної величини. Справа в тому, що внутрішній опір світлодіода дуже низький і, якщо не використовувати резистор, через світлодіод пройде такий струм, який просто спалить і світлодіод, і контролер.

Планки зі світлодіодами, що використовуються у проекті, живляться від 12В.

У зв'язку з тим, що напруга на світлодіодах у «вимкненому» стані дорівнює 6В і необхідно регулювати живлення, що перевищує 5В, до схеми необхідно додати транзистори в ключовому режимі. Мій вибір ліг на модель BC547c.

Розглянемо коротко, для тих, хто призабув, принцип роботи n-p-n транзистора. Якщо напруга не подавати зовсім, а просто взяти і замкнути висновки бази та емітера нехай навіть і не накоротко, а через резистор у кілька Ом, вийде, що напруга база-емітер дорівнює нулю. Отже, немає й струму основи. Транзистор закритий, колекторний струм зневажливо малий, саме цей початковий струм. І тут кажуть, що транзистор перебуває у стані відсічення. Протилежний стан називається насичення: коли транзистор відкритий повністю, то далі відкриватися вже нікуди. При такому ступені відкриття опір ділянки колектор емітер настільки мало, що включати транзистор без навантаження в колекторному ланцюзі просто не можна, згорить моментально. При цьому залишкова напруга на колекторі може становити лише 0,3…0,5В.

Ці два стани – насичення та відсікання, використовуються в тому випадку, коли транзистор працює у ключовому режимі на кшталт звичайного контакту реле. Основний сенс такого режиму в тому, що малий струм бази управляє великим струмом колектора, який у кілька десятків разів більший за струм бази. Великий струм колектора виходить за рахунок зовнішнього джерела енергії, але все одно посилення струму, що називається, є. У нашому випадку, мікросхема, робоча напруга якої 5В, включає 3 планки зі світлодіодами, що працюють від 12В.

Розрахуємо режим роботи ключового каскаду. Потрібно розрахувати величину резистора в ланцюгу бази, щоб світлодіоди горіли на повну потужність. Необхідна умова при розрахунку, щоб коефіцієнт посилення по струму був більшим або дорівнює частці від поділу максимально можливого струму колектора на мінімально можливий струм бази:

Тому планки можуть бути робочу напругу 220В, а базова ланцюг управлятися від мікросхеми з напругою 5В. Якщо транзистор розрахований працювати з такою напругою на колекторі, то світлодіоди горітимуть без проблем.
Падіння напруги на переході база-емітер 0,77В за умови, що струм бази 5мА, струм колектора 0,1А.
Напруга на базовому резисторі складе:

За Законом Ома:

Зі стандартного ряду опорів вибираємо резистор 8,2 кОм. На цьому розрахунок закінчено.

Хочу звернути увагу на одну проблему, з якою я зіткнулася. При використанні бібліотеки IRremote Arduino зависав під час регулювання синього кольору. Після тривалого та ретельного пошуку в інтернеті виявилося, що ця бібліотека використовує за замовчуванням таймер 2 для цієї моделі Arduino. Таймери використовуються для керування виходами ШІМ.

Tаймер 0 (системний час, ШІМ 5 і 6);
Таймер 1 (ШИМ 9 і 10);
Таймер 2 (ШИМ 3 і 11).

Спочатку у мене був використаний ШІМ 11 для регулювання синього кольору. Тому будьте уважні при роботі з ШІМ, таймерами та сторонніми бібліотеками, які можуть їх використовувати. Дивно, що на головній сторінці на гітхабі про цей нюанс не було нічого сказано. За бажанням ви можете розкоментувати рядок з таймером 1 і закоментувати 2.

Підключення елементів на макетній платі виглядає так:

Після тестування на макетці розпочалися фази «Розміщення елементів на платі» та «Робота з паяльником». Після першого тестування готової плати на думку закрадається думка: щось пішло не так. І тут починається знайома багатьом фаза «Кропітка робота з тестером». Однак неполадки (випадково спаялися кілька сусідніх контактів) були швидко усунуті і ось він довгоочікуваний бешкетний вогник світлодіодів.

Далі справа стояла лише за корпусом. З цього приводу було випиляно фанерки з отворами для наших датчиків. Задня кришка робилася спеціально знімною, щоб можна було насолодитися видом зсередини і, за бажанням, щось доробити чи переробити. Також у ній є 2 отвори для перепрограмування плати та харчування.

Корпус клеївся на двокомпонентному епоксидному клеї. Варто відзначити особливість даного клею для тих, хто з ним раніше не зустрічався. Цей товариш поставляється у двох окремих ємностях, при змішуванні вмісту яких відбувається миттєва хімічна реакція. Після змішування діяти доводиться швидко, не більше 3–4 хвилин. Для подальшого використання слід змішати нову порцію. Так що якщо намагаєтеся це повторити, моя вам порада, змішувати маленькими порціями і діяти дуже швидко, час на подумати буде не так вже й багато. Тому варто заздалегідь продумати, як і де склеїти корпус. Причому за один раз це зробити не вийде.

Для кріплення планок зі світлодіодами у верхню кришку була вставлена ​​трубка, через яку чудово пройшли всі дроти.

Коли виникло питання з абажуром, я згадала як у дитинстві робила вироби з простої нитки, клею та повітряної кульки, яка служила основою. Принцип для абажура взятий той самий, проте обмотувати багатогранник виявилося складніше, ніж кулька. За рахунок тиску, що чиниться нитками на конструкцію, догори вона почала звужуватися і нитки стали опадати. Екстрено, з руками в клею, було вирішено зміцнити конструкцію зверху. І тут прийшов на допомогу компакт-диск. У результаті вийшов такий нічник:

Що хочеться сказати у результаті

Щоб я змінила проект? Для подачі сигналу датчиків відстані TRIG можна було б використовувати один вихід Arduino замість трьох. Так само я передбачила б отвір для ик-датчика (про який я забула), який поки, на жаль, захований в корпусі з якого він, природно, не може зчитувати сигнали з пульта. Однак хто сказав, що не можна нічого перепаювати і свердлити?

Хочеться відзначити, що це був цікавий семестр, і чудова можливість спробувати зробити щось не на папері, завдяки чому я можу поставити ще одну галочку біля пункту дитяча мрія. І якщо вам здається, що пробувати щось нове складно, і ви не знаєте, за що насамперед взятися, не варто переживати. У багатьох у голові пролітає думка: з чого тут почати і як це взагалі можна зробити? У житті багато виникає завдань, від яких можна розгубитися, але варто лише спробувати, як ви помітите, що з вогником в очах ви можете згорнути гори, нехай навіть для цього доведеться трошки постаратися.

Для наступного проекту ми будемо використовувати фоторезистор. А розглянемо ми реалізацію нічника в спальню, який автоматично включатиметься коли темно і вимикатиметься коли стає світло.

Опір фоторезистора залежить від світла, що потрапляє на нього. Використовуючи фоторезистор у зв'язці зі звичайним резистором 4.7 кОм, ми отримуємо дільник напруги, в якому напруга, що проходить через фоторезистор, змінюється залежно від рівня освітленості.

Напруга з дільника, ми подаємо на вхід АЦП Arduino. Там ми порівнюємо отримане значення з певним порогом і вмикаємо чи вимикаємо світильник.

Принципова схема дільника показана нижче. Коли освітленість збільшується, опір фоторезистора падає і на виході дільника (і вході АЦП) напруга збільшується. Коли освітленість падає навпаки.

На фото нижче показана зібрана схема на макетній платі. Напруги 0В та 5В беруться з Arduino. Ніжка А0 використовується як вхід АЦП.

Нижче показаний скетч Arduino. У цьому уроці ми просто вмикаємо та вимикаємо LED, який вбудований у плату Arduino. Більш яскравий LED-світлодіод, ви можете підключити до ноги 13 (через резистор ~220 Ом). Якщо підключатимете більш потужне навантаження, таку як лампу розжарювання, то її слід підключати через реле або тиристор.

У коді програми є закоментовані ділянки, вони служать для налагодження. Можна буде контролювати значення АЦП (від 0 до 1024). Також, необхідно в коді змінити значення 500 (поріг включення та вимкнення) на те, яке ви підберете досвідченим шляхом, змінюючи освітленість.

/* ** Нічник ** ** www.hobbytronics.co.uk */ int sensorPin = A0; // встановлюємо вхідну ногу для АЦП unsigned int sensorValue = 0; // цифрове значення фоторезистора void setup() ( pinMode(13, OUTPUT); Serial.begin(9600); // старт послідовного виведення даних (для тестування) ) void loop() ( sensorValue = analogRead(sensorPin); // зчитуємо значення з фоторезистора if(sensorValue<500) digitalWrite(13, HIGH); // включаем else digitalWrite(13, LOW); // выключаем // Для отладки раскомментируйте нижеследующие строки //Serial.print(sensorValue, DEC); // вывод данных с фоторезистора (0-1024) //Serial.println(""); // возврат каретки //delay(500); }

Доброго дня чи ночі, у кого як. Сьогодні я поділюся інструкцією з виготовлення невеликого каганця. Основою послужить - матовий розсіювач від світлодіодної лампочки, що згоріла. А всередину ми помістимо Arduino Pro Mini та світлодіоди SW2812. Я викладу лише один скетч, але варіантів кольорів чи переливань може бути дуже багато. Почнемо, як завжди, зі списку необхідного:

Розсіювач від світлодіодної лами, цоколь Е27
- Блок живлення на 5В
- Arduino Pro Mini 5V
- USB-TTL (для заливки скетчу в ардуїно)
- Світлодіоди WS2812
- Тонкий пластик
- Двосторонній скотч
- Зарядка від телефону не потрібна, але робоча
- Паяльник
- Провід
- Приспій, каніфоль
- Термоклейовий пістолет

Крок 1. Виготовлення корпусу.
Для початку нам знадобиться здобути розсіювач. Беремо світлодіодну лампочку з цоколем Е27. Краще, звичайно, брати лампочку, що вже відпрацювала:

Однією рукою тримаємо лампочку за цоколь та пластиковий корпус, іншою – беремо за розсіювач, і надламуємо лампочку. Розсіювач повинен легко відійти від корпусу, тому що тримається тільки на герметиці:

Тепер нам треба виготовити основу, до якої ми приклеюватимемо світлодіоди. Для цього беремо тонкий пластик, підійде обкладинка від пластикового швидкозшивача. Тепер заміряємо внутрішній діаметр отвору розсіювача, а також треба виміряти глибину розсіювача. Переходимо до виготовлення основи. Вона буде у формі циліндра, діаметр якого повинен бути на 5 мм менше внутрішнього діаметра посадкового отвору розсіювача. А висота менша на 7 мм глибини розсіювача. Виглядати має приблизно так:

На цьому поки що закінчимо.

Крок 2. Електрика.
Як я вже говорив раніше, контролером буде Arduino Pro Mini, версія, що працює від 5 вольт. Світлодіодна стрічка підключається просто, для цього необхідно контакт +5V підключити до плюсу від блока живлення на 5 вольт, а GND - до мінуса. Контакт DIN (вхід) з'єднати з pin 6 Arduino. Порт підключення стрічки можна поміняти на будь-який зручний у скетчі. Arduino живитимемо від того ж блоку живлення. Так як блок живлення використовуватимемо стабілізований, з'єднуємо плюс від блоку живлення з контактом 5V на Arduino. Мінус блока живлення має бути підключений до GND Arduino. Схема така:

Отже, один світлодіод, за максимальної яскравості всіх трьох кольорів, споживає 60 мА. У мене помістилося 25, значить виходить:

25 х 60 mA = 1500 mA = 1.5 А

Тобто, мені потрібен блок живлення 5 В, 1.5 А. Це максимальний показник сили струму, який при включенні всіх світлодіодів в режим максимальної яскравості всіх трьох кольорів.

Як блок живлення візьмемо стару зарядку від телефону. Блок живлення треба вибирати на 5 вольт, а за потужністю порахувати скільки у вас поміститися світлодіодів:

Відрізаємо штекер від неї та припаюємо дроти безпосередньо до стрічки, не забудьте перевірити полярність тестером або мультиметром. Також слід зробити висновки проводів для живлення Arduino. І сигнальний провід від стрічки Arduino.

У нижній частині циліндра робимо проріз, щоб пропустити контакти стрічки з припаяними проводами всередину:

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

Якщо у вас вийшло так само, не засмучуйтеся, просто обріжте стрічку, що звисає по краях, і припаяйте дроти безпосередньо до світлодіодів. Контакти WS2812:

Звернути увагу, світлодіодна стрічка на WS2812B має напрямок, з одного боку (початок або вхід), у неї контакти DIN, +5V, GND. З іншого боку (кінець чи вихід) DO, +5V, GND. Якщо припаює на пряму до світлодіодів, дивися на розташування контактів, орієнтуючись на ключ (зріз кута). Для спрощення монтажу на стрічці намальовані стрілки, що вказують на напрямок. Особливу увагу приділіть переходу на верх, виходить дуже різкий вигин, велика можливість переламати стрічку. У мене вийшло ось так:


Зверху припаювався на пряму до світлодіодів:

А посередині, другим рівнем, ще кілька світлодіодів:

І для надійності, заливаємо дроти термоклеєм:

Тепер вставляємо наш циліндр зі світлодіодами усередину кулі від лампочки. Використовуючи термоклей, фіксуємо циліндр усередині кулі по колу:

Не забудьте зробити проріз для виведення назовні дроту живлення:

Крок 3. Підготовка середовище та прошивка.
Для завантаження скетчу (або прошивки) будемо використовувати Arduino IDE. Завантажуємо з офіційного останню версію та встановлюємо її.

Щоб це зробити, спочатку завантажуємо архів. Потім розпаковуємо цей архів. І переміщуємо розпаковані файли до папки «libraries», яка знаходиться в папці із встановленою Arduino IDE. Можна зробити простіше. Запускаємо Arduino IDE. Не розпаковуємо завантажений архів. Прямо серед Arduino IDE вибираємо пункт меню Скетч – Підключити бібліотеку. У самому верху списку вибираємо пункт «Додати.Zip бібліотеку». З'явиться діалогове вікно. Далі в ньому вибираємо нашу бібліотеку Adafruit_NeoPixel-master. Трохи варто зачекати. Знову відкриваємо пункт меню Скетч – Підключити бібліотеку. Тепер у самому низу списку ви побачите нову бібліотеку. Перезавантаживши Arduino IDE, можна використовувати бібліотеку.

Завантажуємо мій скетч:

Залишилося залити скетч в Arduino. Ми використовуємо Arduino Pro Mini. Ця версія популярної Arduino не має розпаяного на платі USB-TTL чіпа. Тому для зв'язку з комп'ютером та заливки скетчу необхідно використовувати окремий USB-TTL. Підключення за наступною схемою:

Arduino – USB-TTL
RX (P0) – TX
TX (P1) - RX
GND – GND

Живлення USB-TTL буде від USB порту комп'ютера. Arduino можна запитати від USB-TLL або використовувати зовнішнє джерело живлення. Головне, щоб контакти GND USB-TTL і Arduino були з'єднані. Найчастіше у продажу трапляються USB-TTL без виведення контакту DTR. Контакт DTR необхідно з'єднати з Reset Arduino для автоматичного перезавантаження перед завантаженням скетчу. Якщо у вас, як і у мене, такого висновку немає, перезавантаження перед заливкою скетчу необхідно виконувати вручну. Діємо так: підключаємо всім за схемою, описаною вище, відкриваємо Arduino IDE, відкриваємо скачений вами скетче, натискає кнопку - Завантаження - і дивимося, що написано внизу. Поки йде "компіляція", нічого не робимо, просто чекаємо, коли з'явиться напис "завантаження", нам необхідно натиснути кнопку Reset на Arduino. Якщо не зручно натискати кнопку на платі, можна вивести кнопку, підключену до GND та Reset. Або просто вивести дроти до тих самих висновків і замикати їх у потрібний момент.

Хочу сказати, що варіантів свічення нічника безліч, я записав у скетч лише кілька, які мені самому сподобалися. Ви можете відредагувати скетч, як вам подобається. Поекспериментуйте і оберіть те, що вам найбільше сподобається.