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

    Часы на Attiny88, с термометром, и настройкой пультом


    Добрый день или вечер, это у кого как. В любом случае, рад приветствовать всех читателей моей статьи и посетителей сайта usamodelkina.ru. Я давно не писал инструкций. Это не значит, что я ничего не делал, просто не было времени написать инструкцию по изготовлению. И вот, наконец-таки, я нашел время, и сегодня я поделюсь инструкцией по изготовлению часов из Attiny88 и семи сегментного четырехразрядного индикатора. Мои часы, как обычно, будут работать без модуля часов реального времени и будут оснащены цифровым термометром. Если вы посмотрите на мою страничку с инструкциями, вы поймете, что я люблю делать часы на основе программируемых микроконтроллеров. Изготавливать разного рода корпуса или брать за основу какой-то готовый объект. На мой взгляд, это интересно и всегда пригодиться в хозяйстве. Отличительной чертой этих часов, кроме использования семи сегментного четырех разрядного индикатора (и это будет не модуль, который легко подключается двумя проводами), будет установка времени часов инфракрасным пультом от бытовой техники.  Итак, начнем. 


    Собираем все необходимое:

    1. Плата MH-Tiny Attiny88
    2. Arduino Uno
    3. Семи сегментный четырехразрядный индикатор
    4. DS28B20 (Цифровой датчик температуры)
    5. Модуль зарядки литиевых аккумуляторов TP4056
    6. Аккумулятор 
    7. Резистор 4.7 кОм
    8. Резистор 130 Ом, 9 шт.
    9. Инфракрасный приемник TL1838 (или подобный TSOP4838, TSOP1736, SFH506)
    10. Инфракрасный пульт (подойдет любой от бытовой техники)
    11. Соединительные провода
    12. USB провод
    13. Темроклеевой пистолет
    14. Пальник и все что нужно для пайки
    15. Полоска ковролина
    16. Тонкий прозрачный пластик
    17. Прямые руки или страстное желание научиться ими что-то делать

    Шаг 1. Выбор пульта и запись кодов кнопок.

    Прежде чем начать изготавливать часы нам необходимо определиться с пультом, который мы будем использовать для настройки времени часов. Сделать это в первую очередь необходимо по двум причинам. Во-первых, в MH-Tiny Attiny88 нет аппаратного Serial порта. Это значит, что micro-USB на плате используется только для заливки скетча, пользовать монитором порта не получиться. Во-вторых, коды кнопок нужны чтобы записать их в скетч часов, и настроить их на соответствующее действие или цифру. Я нашел не нужный, но удобный для наших целей пульт:


    Это пульт от китайской гирлянды. Я его не использую, так как гирлянда при включении по очереди включает все режимы работы. Меня это устраивает и желания переключать их вручную нет. А удобный он потому, что у него на кнопках есть цифры, что как раз будет использовать при настройке времени часов. Вы можете выбрать любой пульт от бытовой техники, который вам понравиться. 

    С пультом определись, теперь нужно скачать коды кнопок от выбранного вами пульта. Для этого нам понадобиться вначале скачать Arduino IDE с официального сайта:

    https://www.arduino.cc/en/software

    Затем скачиваем библиотеку для работы с инфракрасным датчиком и чтения кодов пульта:

    arduino-irremote-master.rar [803.16 Kb] (скачиваний: 79)

    Устанавливаем библиотеку в Arduino IDE. Делается это легко, распаковываем архив и переписываем его содержимое в папку libraries. 

    Скачиваем скечт для чтения кодов пультов:

    ir_priem.rar [1.59 Kb] (скачиваний: 72)

    Подключаем Arduino Uno по следующей схеме:


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

     

    Шаг 2. Паяем индикатор.

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


    Индикатор состоит из светодиодов с условным обозначение:


    И подключенных по следующей схеме:


    Ножки индикатора подгибаем для их соответствия контактным площадкам MH-Tiny. Также не забываем, что на каждый анод необходимо подпаять резистор номиналом 130 Ом. Должно получиться примерно так:


    С обратной стороны индикатора:


    Как видно на фото, индикатор занимает большую часть контактов Attiny88. Подключения индикатора осуществляется к контактам с D4 по D11, и c D17 по D25 на другой стороне



    Шаг 3. Паяем инфракрасный приемник.

    Мы уже подключали приемник к Arduino Uno. Так что примерно уже знаем схему подключения. 


    Берем инфракрасный приемник (второй или отключаем от Arduino Uno). Нам необходимо согнуть его ножки так, чтобы они находились под приемником и шли в ряд в следующем порядке: Data, VCC, GND. В живую будет выглядеть так:


    Таким образом, мы припаиваем приемник сразу к плате Attiny88. 


    Шаг 4. Паем цифровой датчик температуры.

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


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


    В нашем случаем не удобно будет подпаивать питание к контакту +5 на Attiny88. Поэтому мы подключаем следующим образом: VDD к D13, Data к D12, GND к GND. Такое подключение удобнее всего в нашем случае:


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


    Для программирования и работы этого датчика необходимо установить библиотеку DallasTemperature. Для работы также необходима библиотека OneWire, она уже должна быть установлена в Arduino IDE.

    onewire.rar [19.39 Kb] (скачиваний: 46)

    Скачиваем и устанавливаем недостающие библиотеки.

     

    Шаг 5. Корпус.

    Следующим шагом будем изготавливать корпус для наших, будущих часов. Отрезаем полоску шириной 7 см и длинной 25 см от ковролина. В действительности можно взять и другой материал, например, линолеум. Можно нарезать и склеить подобный корпус из тонкой фанеры или пластика. Все зависит от вашей фантазии. У меня был небольшой обрезок ковролина, его я и использовал


    Теперь вырезаем из тонкого, прозрачного пластика прямоугольник размерами, равными плате MH-Tiny. Можно плату использовать как трафарет. Оборачиваем плату ковролинов, перед индикатором приклеиваем вырезанный прямоугольник.

     

    Шаг 6. Питание и автономность.

    Для питания используем обычный USB провод. Это удобно и универсально. Можно подключать часы как к зарядке телефона с USB портом, так и к компьютеру непосредственно к USB порту, а также в машине через автомобильное зарядное на 5 вольт, или от магнитолы через USB порт. Думаю, ничего сложно в этом нет, красный провод от +5 на USB паяем к +5 на плате MH-Attiny, GND к GND соответственно. Для автономности нам потребуется модуль зарядки для литиевых аккумуляторов TP4056 и небольшой аккумулятор, литиевый соответственно. Аккумулятор можно взять из одноразовых электронных сигарет. Он небольшого размера и как раз подойдет для наших часов. Припаиваем аккумулятор к модулю зарядки, изолируем модуль и приклеиваем на двусторонний скотч к нему аккумулятор. Помещаем к полученную конструкцию внутрь часов, не забыв при этом подпаять питание самой платы MH-Tiny. В данном случаем мы припаиваем провод USB ко входу модуля зарядка, а провода от аккумулятора к +5 на плате Attiny88:


    Чтобы лучше рассмотреть, фото ближе:


    Закрываем часы прямоугольником, вырезанным из непрозрачного или темного пластика. Трафаретом также служи плата MH-Tiny:


     

    Шаг 7. Заливка скетча.

    Осталось залит написанный мною скетч в часы.

    clock_ir_temp_autoseach.rar [2.74 Kb] (скачиваний: 157)




     

    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    Красиво, интересно, полезно?
    Оцените сомаделку
    Всего проголосовало: 65

    Часы + термометр на Arduino

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

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

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


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

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

    Войти

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

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

    Онлайн чат

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

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