» » » Наручные часы на Attiny85 с Oled экраном

Наручные часы на Attiny85 с Oled экраном

Наручные часы на Attiny85 с Oled экраном


Добрый день, сегодня я хочу поделится инструкцией по изготовления наручных часов на основе Attiny 85 с Oled дисплеем. Возможностями наручных часов функции моих часов не ограничиваются. Они также могут использоваться как настольные, а еще можно давить цифровой датчик температуры.

Для изготовления самоделки нам понадобится:

- Синтетический ремешок (любого цвета)
- Липучка для одежды
- Digispark Attiny85
- Дисплей Oled разрешением 128х64, I2C
- ds18b20 – цифровой датчик температуры (по желанию)
- Резистор 4.7 Ком 0.25 Вт
- Arduino плата для прошивки Digispark Attiny85 (ISP программатор)
- Лист тонкого пластика
- Цветные провода
- Dupont 2.54 мм «мама» разъемы
- Кнопки 2 шт.
- Маленькая монтажная плата или небольшой обрезок платы
- Паяльник, припой, канифоль
- Нитки, иголка, ножницы
- Канцелярским нож
- Термоклеевой пистолет
- Термоклей
- Двусторонний скотч

Шаг 1 Подготовка ремня.
В любом магазине для рукоделия можно купить ремешок. Выбираем ремешок шириной 25 мм. Цвет любой. Нам нужна полоска около 50 см. Складываем наш ремешок пополам и сшиваем по краям. Затем в середине ремешка делаем прорезь, но только в одной из частей. С концов ремешка пришиваем липучки.

Откладываем нитку с иголкой в сторону и берем паяльник.

Шаг 2 Подготовка платы и Oled дисплея.
«Мозгом» наших часов будет контролер Digispark Attiny85. Они выпускаются в нескольких вариантах. Покупать следует плату с разъемом Микро USB. Остальные версии платы не поместятся в корпус часов.

Если вы купили плату с распаянными контактами, вначале их следует отпаять. Затем берем провода разных цветов, нам понадобится 9 разных цветов. Отрезаем от каждого провода примерно 15 см, зачищаем и припаиваем к Attiny85. Сразу стоит записать какой провод к какому выводу припаян, чтобы потом не путаться.

В моем случае провода по цветам выглядят так:

PB0 MOSI – желтый
PB1 MISO – голубой
PB2 CSK – синий
PB3 - фиолетовый
PB4 – белый
PB5 NRES – серый
GND – черный
+5 – красный
Vin – оранжевый

У вас цвета проводов могут отличаться, главное запишите их.

Перейдем к экрану. Мы будем использовать Oled дисплей. Разрешение экрана 128х64, работает по шине I2C. В продаже имеются экраны разных цветов: белый, голубой, синий с желтым. Будьте внимательны! Слово «двухцветный» в описание и названии данного экрана обозначает наличие полоски цвета, отличного от основного, вверху экрана, а не возможность отображать этим экраном два цвета! Все экраны данного типа отображаю только один цвет, или вверху полоска одного цвета, внизу – другого. Мне понравился синий экран, с желтой полоской вверху. Цвет не играет особой роли, выбирайте какой вам понравился. Так же как и с Attiny85, если вы купили экран с распаянными контактами, вначале следует их выпаять.


С обратной стороны экрана следует припаять небольшие провода. Лучше использовать провода таких же цветов, что и с Attiny85, чтобы потом не перепутать. В моем случаем к SDA экрана припаиваю желтый провод, к SCL – синий, GND – черный, VCC – красный.


На двусторонний скотч крепим Attiny85 к обратной стороне Oled экрана. Attiny85 не должна выступать за рамки платы Oled экрана.


Спаиваем Attiny85 и Oled вместе.

PB0 MOSI Attiny85 – желтый – SDA Oled
PB2 CSK Attiny85 – синий – SCL Oled
GND Attiny85 – черный – GND Oled
+5 Attiny85 – красный – VCC Oled

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


Перейдет к питанию наших часов. Для этого берем маленький литиевый аккумулятор. Припаиваем к нему провода.


Если нет аккумулятора можно использовать батарейку типа A27 или A23


Аккумулятор или батарейку засовываем в самый дальний угол кармашка, образованного сложенным пополам ремешком. Если используете батарейку, предусмотрите прорезь для ее замены.
В проделанное, в середине ремешка, отверстие засовываем наш шлейф из проводов.


И протягиваем их в конец ремешка, так чтобы они торчали наружу, а часы находились ровно над прорезью, так чтобы прорезь закрывалась часами.


Обрезаем лишние и обжимаем все провода Dupont 2.54 мм «мама» разъемами. Вставляем в пластиковые корпуса и сматываем изолентой, так чтобы получился аккуратный разъем, со всеми выводами Attiny85. Тут также стоит записать, а еще лучше зарисовать, все контакты полученного разъема. GND Attiny, GND Oled и минус от аккумулятора можно сразу соединить и обжать в один контакт. Для дальнейшей заливки скетча и подключения дополнений, удобнее всего расположить контакты следующим образом:

PB0 | PB1 | PB2 | PB5 | +5 ATTINY | GND ATTINY

PB3 | PB4 | VCC OLED | GND OLED | Vin ATTINY | + BAT



Теперь пора перейти к корпусу.

Шаг 3 Изготовление корпуса.
Для корпуса понадобится тонкий пластик. Его можно купить в интернет магазине. А можно в канцелярском магазине купить скоросшиватель с плотной пластиковой обложкой и из обложки сделать корпус. На пластике размечаем развертку часов. Сплошные линии это линии разреза, пунктирные линии – сгибаем.


Используя канцелярский нож аккуратно вырезаем окошко в середине. Все пунктирные линии сгибаем. Должно получится так:


И с обратной стороны:


Прорезь прикладываем к нашему экрану, загибаем края и, используя термоклей, собираем наш корпус. Также стоит приклеить корпус к ремешку, лучше всего внутри, так чтобы клей не выходил наружу.


Шаг 4 Подготовка среды программирования.
Для работы с прошивкой (или скетчем) будем использовать Arduino IDE. Скачиваем архив или уставщик с официального сайта Arduino IDE.

Кроме этого нам необходимо добавить поддержку Attiny в Arduino IDE. Для этого запустите Arduino IDE, далее Файл — Настройки — в поле «Additional Boards Manager URLs» вставьте ссылку:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json


Нажмите OK (В этом поле вы можете вводить несколько ссылок, разделенных запятой). Затем заходим в Инструменты — Плата — Boards Manager в поле фильтра вводим Attiny и выбираем «attiny by David A. Mellis». Нажимаем Install и дожидаемся окончания загрузки.

Также понадобится библиотека для работы с Oled экраном. Их много, мне понравилась, и я рекомендую использовать именно TinyOzOLED. Она удобная, а главное, помещается в память:
tinyozoled-master.rar [15.99 Kb] (скачиваний: 19)


В дальнейшем можно расширить функционал часов, добавив датчик температуры. Добавим библиотеку для этого датчика сразу. Библиотека OneWire.
onewire.rar [16.75 Kb] (скачиваний: 15)


Устанавливаем эти библиотеки. Для этого можно прямо в среде программирования Arduino IDE, не распаковывая скачанные архивы, выбрать меню Скетч – Подключить библиотеку. В самом верху выпадающего списка выбрать пункт «Добавить .Zip библиотеку». В появившемся диалоговом окне выбрать библиотеку, которую вы хотите добавить, в данном случаем две скачанные. Теперь снова откройте меню Скетч – Подключить библиотеку. В самом низу выпадающего списка вы должны увидеть новые библиотеки. С этого момента библиотеки можно использовать в программах. После всего этого перезагрузите Arduino IDE. Также можно просто распаковать в папку «libraries», находящуюся в папке с установленной Arduino IDE.

Шаг 5 Подготовка программатора.
Digispark Attiny85 можно запрограммировать через находящийся на плате микро USB разъем, используя Arduino IDE. Однако, при этом приходится жертвовать 2 Кб из 8 Кб Flash памяти, для загрузчика. Скетч часов не помещается вместе с загрузчиком, поэтому необходимо использовать ISP программатор, стерев тем самым загрузчик. Если под руками нет ISP программатора (как у меня), можно использовать Arduino плату вместо него. Я буду использовать Arduino Uno. Но можно использовать и любую другую плату. Итак, подключаем Arduino Uno к компьютеру. Запускаем Arduino IDE, открываем Файл – Примеры - Arduino ISP. Выбираем в меню Инструменты – Плата – Arduino Uno. Выбираем порт, к которому подключена, Arduino, и нажимает загрузить. Вначале скетча содержится подсказка о том, как подключить Arduino к программируемому контролеру.

// 10: slave reset
// 11: MOSI
// 12: MISO
// 13: SCK

Схема подключения к Digispark Attiny85:
Arduino UNO - Digispark Attiny85

D11 – P0
D12 – P1
D13 – P2
D10 – P5


Шаг 6 Подготовка провода для загрузки скетча.
Вариантов скетча несколько, да и просто для удобства загрузки, изготовим провод, соединяющий Arduino Uno (в качестве ISP программатора) и наши часы. Здесь также рекомендую использовать цветные провода, совпадающие по цвету с теми, которые мы уже использовали. С одной стороны, должна быть колодка:

PB0 Желтый | PB1 Голубой | PB2 Синий | PB5 Серый | +5 Красный | GND Черный

Эта колодка подключается к часам, в верхнюю часть колодки часов.
С другой стороны две колодки для подключения к Arduino Uno:

Pin 10 Серый | Pin 11 Желтый | Pin 12 Голубой | Pin 13 Синий

+5 Красный | GND Черный

Должно получиться примерно так:


Шаг 7 Прошивка.
Итак, я написал несколько вариантов скетча для наших часов. Я позже напишу в чем отличия и выложу все. Для заливки скетча запускаем Arduino IDE, выбираем меню Инструменты, стави следующие параметры:

Плата — Attiny 25/45/85
Процессор - Attiny 85
Clock - internal 16

Выбираем последовательный порт, к которому подключен ISP программатор или Arduino в качестве программатора. Также в меню Инструменты – Программатор выбираем «Arduino as ISP». Теперь выбираем Скетч – Загрузить через программатор. Осталось дождаться завершения загрузки.

Шаг 8 Скетчи.
Первый вариант часы с датой. Для установки времени нужно будет подключить кнопки, примерно такие:


К контактам PB1, PB3, PB4.
attiny85_oled_spi.rar [1.9 Kb] (скачиваний: 17)


Второй вариант только часы. Для установки времени надо использовать USB-TTL.
attiny85_oled_spi_softwareserial_nodata.rar [1.45 Kb] (скачиваний: 16)


И третий вариант, настольные часы с датой и термометром.
attiny85_oled_spi_term_2.rar [2.78 Kb] (скачиваний: 19)


Шаг 9 Запуск.
Для запуска часов, если вы используете литиевый аккумулятор, нужно установить перемычку в колодку между контактами BAT, +5 и VCC. Можно использовать маленький отрезок тонкой проволоки. Если у вас стоит батарейка понадобится две перемычки, первую ставим между BAT и Vin, вторую - + 5 и VCC.
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Крутой будильник, который разбудит любого

8.8
Идея
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
8.8
Описание
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
6.4
Исполнение
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 8.0 из 10 (голосов: 5 / История оценок)
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добрый день, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

А затем...

Добавьте самоделку

Или...

Добавьте тему

Онлайн чат

Опрос
Сколько по времени, чаще всего, Вы делаете самоделку?

Последние комментарии

хе-хе, экий Вы задорный =)))...
Кажется это из запрещенной категории "Оружие". Таким можно в глаз или весок попасть, тем более железным шариком в 6 мм. В общем опасная штука!...
Блин! а в S_plan такого нет, пришлось редактировать вручную, исправил и спасибо за бдение =)...
Да тут он своими руками только раму вырезал из фанеры. Позорище...
Домысливание на основе анализа показаний приборов. ))...
Все комментарии