Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Наручные часы на 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] (скачиваний: 111)


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


    Устанавливаем эти библиотеки. Для этого можно прямо в среде программирования 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] (скачиваний: 120)


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


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


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

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

    Будильник рассвет своими руками на Arduino

    8.8
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.9
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    7.3
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.33 из 10 (голосов: 10 / История оценок)

    Добавить комментарий

      • smilesmilesxaxaokdontknowyahoonea
        bossscratchfoolyesyes-yesaggressivesecret
        sorrydancedance2dance3pardonhelpdrinks
        stopfriendsgoodgoodgoodwhistleswoontongue
        smokeclappingcraydeclarederisivedon-t_mentiondownload
        heatirefullaugh1mdameetingmoskingnegative
        not_ipopcornpunishreadscarescaressearch
        tauntthank_youthisto_clueumnikacuteagree
        badbeeeblack_eyeblum3blushboastboredom
        censoredpleasantrysecret2threatenvictoryyusun_bespectacled
        shokrespektlolprevedwelcomekrutoyya_za
        ya_dobryihelperne_huliganne_othodifludbanclose

    Привет, Гость!


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

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

    Войти

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

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

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

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

    Все комментарии
    Новые самоделки на почту

    Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день.