Ничего не найдено :(
    В гостях у Самоделкина! » Темы » Советы » Простые часы на Arduino и матричном индикаторе

    Простые часы на Arduino и матричном индикаторе


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

    Признаюсь, идея на такое применение этого типа дисплея не моя, подобных проектов в интернете полно, но всё же. Основными требованиями были простота конструкции и доступность компонентов. Чтобы максимально упростить конструкцию решил в качестве мозгов применить платформу Arduino Nano, и готовый модули часов реального времени на точном чипе DS3231, а также для отображения температуры окружающей среды применил цифровой датчик температуры DS18B20.

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

    Остаточно схема начала выглядеть так:

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

    Итак, в последней версии часы умеют:
    • настраивать время и дату с кнопок
    • раз в минуту отображать окружающую температуру (только плюсовую).
    • При нажатии на определенные кнопки отображать кроме времени еще дату, или температуру
    • Автоматически регулировать яркость дисплея (четыре уровня яркости)

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

    До этого времени я постоянно делал платы методом ЛУТа, но в этот раз я решил попробовать сделать с помощью фоторезиста, и результатом был полностью доволен.


    Подробнее о фоторезистивном изготовлении платы полно материала в сети Интернет.
    Далее залудив плату в сплаве Розе, я установил все модули и компоненты кроме Arduino на свои посадочные места и запаял так как Arduino в свою очередь сначала нужно запрограммировать, а потом запаять. После пайки обязательно необходимо отмыть флюс с платы.
    Процесс прошивки стандартный для данного типа плат Arduino, который я очень коротко опишу:
    • Нужно открыть файл прошивки в программе Arduino IDE

    • В меню Инструменты – плата выбрать плату Arduino Nano

    • В меню Инструменты – порт выбрать свой COM порт к которому подключена Arduino
    Простые часы на Arduino и матричном индикаторе

    Далее нужно прошить контроллер нажав кнопку Загрузка.

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

    Далее нужно правильно установить индикатор, а именно - если смотреть на плату со стороны деталей, как показано на рисунке ниже, контакт Din должен быть справа.

    После соединения половинок должен получится вот такой «бутерброд»

    Если все собрано и прошито правильно часы должны заработать сразу после подключения питания. В качестве источника питания необходимо применять блок питания с выходным напряжением в 5В. Ток потребления часов в режиме максимальной яркости не более 200мА, что позволяет в качестве источника питания применить USB порт компьютера. Я применил отдельный сетевой блок питания на 5В с током в 1А.

    Для подключения блока питания я установил стандартный для этого разъем 5мм*2мм

    Далее следует настроить время и дату, специальными кнопками:

    Для этого необходимо на две секунды зажать копку «Настройка» после чего начнут мигать цифры отображающие часы, кнопками «Вверх» и «Вниз» выставить необходимое время, после чего кратковременно еще раз нажать кнопку «Настройка», и начнут мигать минуты, которые выставляются аналогично, и после окончательной настройки снова на две секунды зажать кнопку «Настройка», для перевода в режим отображения. Для установки даты необходимо в режиме показа времени кратковременно нажать кнопку «Настройка», после чего отобразится дата и еще на две секунды зажать кнопку «Настройка», после чего начнёт мигать дата, которую можно установить кнопками «Вверх» и «Вниз» по аналогии с установкой времени. В итоге получились неплохие часы, которые под силу собрать практически каждому. Часы работают стабильно, ход времени очень точен. В процессе прошивка для них ещё будет обновляться, и исправляться, так что следите…



    Все необходимые для сборки часов материалы Вы можете скачать с Гугл диска.
    Опрос
    Понравилась самоделка?
    Всего проголосовало: 24
    Подборки: Часы Arduino

    Прозвонка. Электроника, испытанная временем

    Digispark-подобная плата на одних выводных компонентах

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

      • smilesmilesxaxaokdontknowyahoonea
        bossscratchfoolyesyes-yesaggressivesecret
        sorrydancedance2dance3pardonhelpdrinks
        stopfriendsgoodgoodgoodwhistleswoontongue
        smokeclappingcraydeclarederisivedon-t_mentiondownload
        heatirefullaugh1mdameetingmoskingnegative
        not_ipopcornpunishreadscarescaressearch
        tauntthank_youthisto_clueumnikacuteagree
        badbeeeblack_eyeblum3blushboastboredom
        censoredpleasantrysecret2threatenvictoryyusun_bespectacled
        shokrespektlolprevedwelcomekrutoyya_za
        ya_dobryihelperne_huliganne_othodifludbanclose
    4 комментария
    Дмитрий Новоселецкий Автор
    ino53,
    Да можна, я тоже так планирую сделать в следующей версии прошивки. Так ничего сложного.
    ino53
    Я имел ввиду смену показаний - постояло время, уплыло, постояла дата, уплыла, потом температура... Хотя, как говорят, от хорошего хотеть лучшего:-)
    Дмитрий Новоселецкий Автор
    ino53,
    В принципе в функционал часов входит бегущая строка. При запуске часов пробегает название часов
    ino53
    А бегущую строку реализовать, или есть сложности?

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


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

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

    Войти

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

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

    Онлайн чат

    Опрос
    А Вы знаете, что на сайте оплачиваются отчеты о создании самоделок?

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

    Все комментарии