Якось давно я побачив, що у деяких ліхтариків, для керування його режимами, використовується мікроконтролери Attiny. Тоді в мене ще не було arduino і я не знав як програмувати їх.

З часом мої навички в програмуванні виросли. Я захотів запрограмувати Attiny85 з arduino через ISP, щоб досягти схожого результату з тими ліхтариками.

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

FU3A6CJIIYWWF4U.MEDIUM

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

Це лише приклад, як ви зможете використати мій код. Ви можете змінити код, що б, наприклад, задіяти виводи Attiny, які не використані.


Крок 1.
Що нам знадобиться.

FHBWTSAIIYWWF39.MEDIUM

FG6VT1OIIYWWF20.MEDIUM

Для того щоб зробити такий ліхтарик нам потрібно буде такі інструменти:

  • Паяльник, припій та флюс
  • Arduino
  • Макетна плата
  • Перемички
  • Супер клей

А також:

  • Attiny85
  • Світло діоди на ваш вибір (я використав пару 5 мм білих світло діодів)
  • 5.5В/1Ф супер конденсатор (іоністор)
  • USB роз’їм
  • Два резистори на 220 Ом
  • Кнопка

 

Крок 2.

Створення коду.

FH8P2IQIIYWWF0U.MEDIUM

Мій проект використовує одну перевагу в Attiny85 – сплячий режим, в якому мікроконтролер споживає дуже мало енергії. Алгоритм мого коду наступний:

HIGH режим – LOW режим – мерехтіння – сплячий режим

Після кожного натискання на кнопку користувач може по колу вибрати потрібний режим роботи ліхтарика. Далі я мав невеликі складнощі пов’язані з використанням сплячого режиму, який вимагає avr/sleep.h бібліотеку. Проте якщо в вас 1.6 версія arduino, то ця бібліотека вже включена й готова для використання з моїм кодом. 

Щоб запрограмувати Attiny85 з Arduino ви повинні виконати наступні кроки:

  • Завантажити Arduino ISP схему з меню прикладів
  • Помістити конденсатор між виводами RST та GND в твоєму arduino
  • З’єднати pin 1 від attiny до pin 10 вашої arduino плати
  • З’єднати pin 4 до arduino GND
  • З’єднати pin 5 до arduino pin 11
  • З’єднати pin 6 до arduino pin 12
  • З’єднати pin 7 до arduino pin 13
  • З’єднати pin 8 до arduino +5В

Далі ви повинні вибрати мікроконтролер зі списку. Вибираємо Attiny85 з внутрішньою генерацією частоти на 8 Мгц, та програмування через ISP. Далі завантажуйте мій код. У коді ви можете легко змінити яскравість режимів перед завантаженням. 

Flashlight v1.9.txt

 

Крок 3.

Компонуємо наш ліхтарик.

F4N8WM6IJ61ZK5U.MEDIUM

F8JQS7VIJ61ZK22.MEDIUM

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

Я використав вивід pin 5 як вихід світло діода, pin 6 як вхід від кнопки, таким чином в нас вийшов такий собі сандвіч як показано на фото. Потім йде pull down резистор між pin 6 і pin 4 (GND). Майже все … насправді це проста схема. Далі треба припаяти резистор 220 Ом між виводами pin 5 і pin 4 (GND). Останнє що вам треба зробити, це припаяти конденсатор до pin 8 (плюс) і pin 4 (GND/мінус), те ж саме зробити з USB роз’ємом для заряджання ліхтарика. Я використав гарячий клей для того що б все склеїти і щоб все трималося міцно й не відходило. 

30 секунд триває процес зарядки іоністора через USB порт, це дає можливість ліхтарику світити біля 10 хвилин в повному (HIGH) режимі і втричі довше у економ (LOW) режимі. Режим стробоскопу (режим мерехтіння) дає змогу використовувати ліхтарик, наприклад, на велосипеді коли пересуваєшся в темряви, що б було добре видно велосипедиста.

Якщо немає змоги заряджати ліхтарик від комп’ютера, ви можете зарядити його від powerbank, наприклад. Завдяки режиму сну, в якому ліхтарик споживає енергії менше ніж 0.9 млA, вам не треба турбуватися, що заряд швидко згасне. 

FSUGJYKIIYWWF3Q.MEDIUM

Матеріал з сайту instructables. Переклад.