Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Настольные часы из машинки

    Настольные часы из машинки

    Настольные часы из машинки

    Рад снова приветствовать вас. Мне очень нравятся дисплеи для Arduino типа OLED. Конкретно небольшие диагональю 0.96 дюймов с разрешение 128 на 64 точек. Если взглянуть на мою страничку на этом сайте, можно найти много разных проектов с этим дисплеем. Устройства типа вольтметра или амперметра с таким дисплеем, конечно получаются компактными, но используются достаточно редко, и удобнее использовать готовый, продаваемый в любом радиомагазине мультиметр. А мне хочется, чтобы моя самоделка стояла на столе и радовала глаз, при каждом взгляде на нее, каждый день. Поэтому часы, самое лучшее для этого решение. У меня было много вариантов часов с этим дисплеем, на Arduino, на Attiny85, на аккумуляторах, питание от USB, с подсветкой, с термометром и тд и тп. Но у всем их были какие-то недостатки: нестабильное питание, некрасивый корпус, недостаточно памяти для реализации функции показа даты (Attiny85). Но в результате большого количества проб и ошибок, я нашел оптимальное решение по моим запросам. На этот раз мы будем использовать:

    - Машинка Modarri
    - Arduino Pro Mini 5v 16 Mhz
    - DS28B20 (Цифровой датчик температуры)
    - WS2812 (Адресная светодиодная лента)
    - USB-TTL (Для заливки скетча)
    - OLED 0.96 128х64
    - Кнопки
    - Монтажная плата
    - Резистор 4.7 кОм
    - Керамический конденсатор 104, 2 шт
    - Листовой пластик толщиной 1-2 мм
    - Соединительные провода
    - USB провод
    - Темроклеевой пистолет
    - Пальник и все что нужно для пайки

    Шаг 1 Выбор корпуса.
    После долгих и мучительных попыток изготовить корпус для часов так чтобы он мне понравился, я решил поискать основу для корпуса у себя (и не только у себя) на полках. Мне на глаза попались машинки, которые мне нравятся. Это маленькие, хорошо сделанные, с резиновыми колесами и амортизаторами игрушечные машинки фирмы Modarri


    У этой фирмы большой ассортимент товаров. Машинки есть на любой вкус и цвет. А самое главное для нас у них есть место, предусмотренное для управление пальцем. И оно отлично подходит для нашего маленького экрана. У меня нашлось три модели:




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

    Шаг 2 Подготовка экрана.
    Наш экран – маленький, но симпатичный является графическим дисплеем. Из особенностей, стоит подчеркнуть то, что каждый пиксель является самостоятельным светодиодом. OLED расшифровывается как organic light-emitting diode. Для подключения используется 4 провода. VCC (плюсовой провод питания, можно запитать от 5 или 3.3 вольт), GND (минусовой провод питания), SCL и SDA (подключаются к Arduino). Соединение с Arduino происходит через последовательную асимметричную шину связи I2С. Сам дисплей выглядит вот так:


    Припаиваем провода ко всем 4 контактами, лучше использовать разноцветные провода и записать какой к какому контакту ведет:


    Чтобы внешний экрана не портил общий вид, изготовим для него небольшой корпус. Для корпуса подойдёт небольшой лист тонкого пластика. Ради часов я пожертвовал канцелярским планшетом:


    Он идеально подошел для изготовления корпуса. По нижеследующей схеме вырезаем из пластика небольшой корпус:


    Внутренний прямоугольник необходимо аккуратно вырезать, а по пунктирным линиям согнуть:


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


    С внешней стороны должно быть так:


    Шаг 3 Подготовка датчика температуры.
    Ну и какие же часы без датчика температуры! Оптимальный выбор – цифровой датчик. Наиболее доступный – DS28B20. О его плюсах можно говорить бесконечно, поэтому вкратце. Не использует процессор Arduino для вычисления температуры, подключается всего одним провод к Arduino (работает по протоколу OneWire). DS28B20 можно подключить разными способами. Использовать внешнее питание, запитав его от 5 вольт через контакт VDD, паразитное питание соединив контакты VDD и GND, или можно найти схему улучшенного паразитного питания. У всех вариантов есть свои плюсы и минусы. Мы же остановимся на внешнем питании, будем подключать VDD к +5, GND к GND, DQ к пину Arduino, также нужно использовать резистор на 3.3 кОм для подтяжки DQ к питанию. Схема следующая:


    Резистор удобнее всего разместить рядом с датчиком, припаяв между ножками. DS28B20 выпускаю в разных корпусах, лучше всего брать в корпусе ТО-92. Распиновка датчика следующая:


    Средний контакт это DQ – шина данных, припаиваем к нему провод и одни из контактов резистора (4.7 кОм):


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

    Шаг 4 Подготовка кнопок управления.
    Установка времени и даты будет возможно двумя способами. Через Монитор порта или кнопками. В скетче часов предусмотрено использование трех кнопок (Set, Plus, Minus). Но можно обойтись двумя, отключив минусовую кнопку. Распаиваем кнопки на монтажной плате:


    Не забывайте записывать цвета проводов, чтобы знать какой к чему ведет. У кнопок один из проводов общий, он будет подключаться к GND. Параллельно кнопкам припаиваем керамические конденсаторы с маркировкой 104 (устраняют эффект дребезжания контактов).


    Припаянные провода лучше залить термоклеем.

    Шаг 5 Подготовка WS2812.
    Адресную ленту WS2812, а точнее сказать всего один светодиод WS2812, будем использовать для подсветки машинки. Я отрезал один светодиод от ленты, но вы можете приобрести их по отдельности. Приклеиваем WS2812 снизу машинки и припаиваем к нему следующие провода: +5 (плюсовой провод питания), GND (минусовой провод питания), Din. Обратите внимание адресная лента имеет направление подачи сигнала. Поэтому сигнальный провод надо припаивать к контакту Din (вход сигнала), Do оставляем не распаянным:


    Светодиод нужен для украшения. Он не обязателен, часы будут работать и без него. Забегая немного вперед, фото работы подсветки:



    В скетче указано 5 цветов подсветки, но вы можете добавить и свои цвета, отредактировав скетч.

    Шаг 5 Размещение всей электроники в машинке.
    Итак, наконец-таки переходим к машинке. Разбираем ее. Размещаем заранее подготовленный дисплей на месте для пальца:


    Провода от дисплея проводим с правой стороны от кресла. Датчик температуры DS28B12 размещаем над левым задним колесом. Провода от датчика следует зафиксировать, а сам датчик должен висеть на проводах, не касаясь деталей корпуса:


    Arduino будем размещать с левой стороны от кресла. Заводим все провода туда. Размещаем плату, и припаиваем провода на месте, так легче рассчитать длину проводов. Питаться машинка будет от USB. В один пучок надо будет скрутить и спаять много проводов для питания. Рекомендую скрутить и спаять их на небольшом отдаление от Arduino, разместить в заднем бампере, а к Arduino подвести только два провода питания. Подключение следующее:

    USB +5 - Arduino +5 – Oled Vcc - DS28B20 Vdd - WS2812 +5 (скручиваем и спаиваем вместе)
    USB GND - Arduino GND - Oled GND - DS28B20 GND - WS2812 GND - Общий от кнопок (скручиваем и спаиваем вместе)
    Oled SDA – D8 Arduino
    Oled SCI – D9 Arduino
    Кнопка 1 Set – D2 Arduino
    Кнопка 2 Plus – D3 Arduino
    Кнопка 3 Minus – D4 Arduino (необязательна)
    WS2812 Din – D5 Arduino
    DS28B20 DQ – D10 Arduino

    Номера пинов можно поменять в скетче. После пайки всех проводов можно начать сборку корпуса:


    Шаг 6 Редактирование и заливка скетча.
    Как обычно, нам нужна среда программирования Arduino IDE. Заходим на официальный сайт и скачиваем ее.

    Делаем как вам удобнее. Можете скачать установщик, а можете просто архив, разницы нет.
    Теперь нам нужны библиотеки:

    OLED_I2C – идет вместе с Arduino IDE
    OneWire – ссылка на скачивание ниже
    Adafruit_NeoPixel – ссылка на скачивание ниже

    Вы можете установить эти библиотеки зайдя в раздел «Управление библиотеками» в самой Arduino IDE. Найдите их по имени и установите. Если проблемы с интернетом скачайте архивы внизу и распакуйте в папку «libraries», находящуюся в месте установи Arduino IDE.

    У меня есть два скетча для этих часов. Первый с отображение секунд:



    И второй вариант без секунд:



    Выбирайте на свой вкус из файлов ниже.


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

    Программная реализация стрелочных часов на Arduino

    Механический дисплей с сервоприводами

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

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

      • smilesmilesxaxaokdontknowyahoonea
        bossscratchfoolyesyes-yesaggressivesecret
        sorrydancedance2dance3pardonhelpdrinks
        stopfriendsgoodgoodgoodwhistleswoontongue
        smokeclappingcraydeclarederisivedon-t_mentiondownload
        heatirefullaugh1mdameetingmoskingnegative
        not_ipopcornpunishreadscarescaressearch
        tauntthank_youthisto_clueumnikacuteagree
        badbeeeblack_eyeblum3blushboastboredom
        censoredpleasantrysecret2threatenvictoryyusun_bespectacled
        shokrespektlolprevedwelcomekrutoyya_za
        ya_dobryihelperne_huliganne_othodifludbanclose
    3 комментария
    maxim0512 Автор
    Добрый день. Часы питаются от USB. Проводов больше так я под машинкой разместил USB-TTL для для связи с компом. И да, время расчитывается самой Arduino, модуль RTC я не использовал.
    EandV
    Я так поминаю, хвостик из проводов (который спрятан за зеленой "ширмой") ведет к источнику питания?
    И похоже время снимается с самой Ардуины, что не совсем правильно, т.к. точность будет не особо. Лучше отдельный модуль часов использовать, например ds3231.
    Korolev
    Настольные часы из машинки
    Правильнее было бы не "из машинки", а "в машинке"! smile

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


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

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

    Войти

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

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

    Онлайн чат

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

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

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

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