HandMade32.ru - сделай своими руками

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

Маленькие симпатичные часы с подсветкой и термометром
Добрый день. Я хочу поделиться инструкцией по изготовлению симпатичных часиков. Они будут выполнены из молочного пластика. Будут иметь подсветку. Яркий Oled экран. А сердцем будет Attiny 85, а точнее плата Digispark Attiny 85. Также мы подключим датчик температуры. Питание через USB. Можно будет подключить к компьютеру и поставить где-нибудь рядом с монитор. А можно использовать зарядка для телефона с USB, и разместить в любом месте где есть розетка. Ну и как всегда, мы обойдемся без модуля RTC (Real Time Clock). Лишнее нам не нужно, да и ножек контролера не так много.

Начнем со списка необходимого:
— Плата Digispark Attiny 85
— Цифровой датчик температуры ds18b20
— Oled экран (разрешением 128х64, работа по протоколу I2C)
— Резистор 4.7 КОм (можно 3.3 КОм), 0.25 Вт
— Резистор 150 Ом или подобрать под ваш светодиод
— Транзистор SS8050 (или аналог)
— Светодиод 5 мм или SMD 5050
— Пластик толщиной 1-3 мм. (полупрозрачный, молочного цвета)
— ISP программатор (можно заменить любой Arduino плата)
— Кнопка (понадобиться для установки времени)
— Dupont 2.54 мм разъемы («мама», «папа»)
— Термоклей или любой другой, подходящий для пластика
— Соединительный провода
— Паяльник, канифоль, припой
Шаг 1 Модификация Digispark Attiny 85.
Итак, у нас есть отличная плата Digispark Attiny 85. На борту у нее стоит (как вы уже догадались) Attiny 85. Покупать надо версию платы с микро USB. Полноценное USB в этот корпус не поместиться. Но, даже если у вас версия с полным USB, можно отпилить выступающую часть платы, USB мы использовать не будем. Так же там есть стабилизатор напряжения и вся необходимая обвязка. Можно, конечно взять, голую Attiny 85, но тогда процесс пайки и сборки будет сложнее.
Маленькие симпатичные часы с подсветкой и термометромМаленькие симпатичные часы с подсветкой и термометром
Плата, как я уже говорил отличная, но не лишена недостатков (недостатков для этого проекта, в другом это, возможно, будет достоинством). В данном случае нам будут мешать резистор, подтяжка к земле, PB4 (3 нога Attiny 85), и светодиод с резистором на PB1 (6 нога Attiny 85) отметил их на схеме:
Маленькие симпатичные часы с подсветкой и термометром
Забегая вперед, скажу, что все выше названное будет нам мешать. К PB4 будет подключен транзистор включения подсветки. И с резистором подтяжки он не будет открываться (проверено на личном опыте). К PB1 будет подключена кнопка, которая также не будет работать нормально с висящим на линии светодиодом. На практике вам необходимо выпаять или просто выковырять (только аккуратно, чтобы не повредить дорожки) обозначенные на схеме резисторы и светодиод.
Маленькие симпатичные часы с подсветкой и термометром
Откладываем в сторону плату и займемся корпусом.

Шаг 2 Корпус.
Корпус наших будущих часов будет выполнен из полупрозрачного пластика. Этот пластик можно заказать в интернет магазине или купить в обычном магазине (если найдете). Лично я его взял из старого жидкокристаллического телевизора или монитора. Найти его можно разобрав матрицу. Листик такого пластика, как правило, используется в качестве светорассеивателя, и находится между светодиодной подсветкой и непосредственно жидкокристаллическим слоем. Добыв такой пластик приступим к сборке корпуса. Наш корпус будет иметь форму куба (простенько, но со вкусом). Внутри корпуса должно быть пространство 30х30х30 мм. Вырезаем лицевую сторону часов, если вы берете пластик толщиной 2 мм, то квадрат для лицевой стороны должен быть 34х34 мм. Этот квадрат будет задавать все остальные размеры, и клеить стенки будет, как бы, сзади него. Вырезав лицевой квадрат, делаем в нем прорезь для экрана. Отступаем сверху 8 мм, по бокам получается по 5 мм, сама прорезь должна быть размером 24х13 мм.
Маленькие симпатичные часы с подсветкой и термометром
Далее вырезаем верхнюю и нижнюю части, они будут размером 34х30 мм (напоминаю, размеры даны для пластика толщиной 2 мм). А также две боковых размером 30х30 мм, и одну заднюю 34х25мм. Затем, используя термоклеевой пистолет, склеиваем лицевую, нижнюю и одну боковую стороны.
Маленькие симпатичные часы с подсветкой и термометром
На этом корпус пока откладываем в сторону. Остальные части будем клеить уже после установки всех внутренностей.

Шаг 3 Электрика и сборка часов.
И самое интересное впереди. Берем наш симпатичный «экранчик». OLED (organic light-emitting diode) — графический дисплей, каждый пиксель которого – это независимый от других светодиод. Диагональ — 0.96 дюйма. Коммуникация — I2C шина. Разрешение 128х64. Для вывода изображения достаточно подключить два провода к контролеру, что для Attiny 85 очень важно. Экраны бывают с разным цветом пикселей, выбирайте на свой вкус. Наиболее интересным мне показался синий с желтой полосой сверху.

Датчик температуры я выбрал цифровой, чтобы освободиться Attiny от лишних вычислений. ds18b20 подключается одним проводом и работает по протоколу OneWire. Линии данных этого датчика нужна подтяжка к линии питания. Рекомендованный номинал 4.7 КОм, но у меня он нормально работает и при 3.3 КОм. Схема подключения его такова:
Маленькие симпатичные часы с подсветкой и термометром
Его можно подключить и другими способами, например, в режиме паразитного питания, но в данном случае, я считаю, лучше использовать внешнее и подключать по приведенной выше схеме.

Далее по списку – светодиод. Он нужен для подсветки. Вы можете выбрать любого цвета. Подойдет любой 5 мм светодиод. Для равномерности свечения всего корпуса, лучше брать два светодиода. Также можно впихнуть один 10 мм. Или трёхцветный. Это как вам больше нравиться. Я вначале делал вариант с двумя 5 мм диодами, зеленого цвета. Но потом мне захотелось поменять цвет подсветки. Поэтому я использовал трехцветный в корпусе SMD 5050. Резисторы необходимо подбирать под выбранный вами диод. Я покажу оба варианта, как делать вам – вам и решать.

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

Собираем все это по схеме:
Маленькие симпатичные часы с подсветкой и термометром
А теперь в живую проведем процесс сборки:
Берем вначале экран.
Маленькие симпатичные часы с подсветкой и термометромМаленькие симпатичные часы с подсветкой и термометром
Припаиваем к нему провода, если на месте контактов были «штырьки», их необходимо выпаять. Тоже самое делаем и с модифицированной Digispark Attiny 85.
Маленькие симпатичные часы с подсветкой и термометром
Теперь, используя двусторонний скотч или термоклей склеиваем Attiny и экран вместе.
Маленькие симпатичные часы с подсветкой и термометром
Спаиваем все остальные компоненты (ds18b20, SS8050, светодиод и прочие мелочи). Итак, первый вариант 5 мм диоды:
Маленькие симпатичные часы с подсветкой и термометром
Транзистор монтируем «навесным методом», для прочности можно залить термоклеем:
Маленькие симпатичные часы с подсветкой и термометром
Кнопку для настройки часов, припаиваем к поводам, очень желательно, параллельно кнопке припаять маленький конденсатор (снижает эффект «дребезга» контактов):
Маленькие симпатичные часы с подсветкой и термометром
Начинаем упаковку всего этого в корпус. Вначале вклеиваем экран с Attiny:
Маленькие симпатичные часы с подсветкой и термометром
Немного опишу второй вариант подсветки. SDM диоды вместе с резисторами необходимо припаять на небольшой монтажной плате. Делаем два одинаковых таких модулей:
Маленькие симпатичные часы с подсветкой и термометром
Склеиваем два таких модуля вместе и припаиваем на место:
Маленькие симпатичные часы с подсветкой и термометром
Если вы хотите один цвет, просто припаиваем провод от транзистора через резистор к ножке светодиода, соответствующую нужному цвету.
Для прошивки наших часов необходимо вывести провода и соединить их в одну колодку. В колодке должны быть следующие контакты, в такой последовательности:

-PB0- — PB1- -PB2- — PB5- -VCC- -GND-

Выводим эти провода в единую колодку и приклеиваем ее в задней части корпуса, внизу:
Маленькие симпатичные часы с подсветкой и термометром
С другой стороны, от колодки прошивки приклеиваем кнопку, между ними выводим USB провод для питания. Также для осуществления выбора цвета подсветки, можно сделать еще одну колодку. В ней должны быть выведены следующие провода: провод от красного, синего и зеленого цвета светодиода, а рядом с этими контактами, контакт от транзистора. Управление происходит замыканием (перемычкой) соответствующих контактов:
Маленькие симпатичные часы с подсветкой и термометром
Приклеиваем вначале второую боковую стенку часов:
Маленькие симпатичные часы с подсветкой и термометром
Перед заклеиваем остальных частей корпуса, убедитесь, что все работает. Лучше перейти сейчас к прошивке. Проверить чтобы все работало как надо и только после этого заклеивать верхнюю и заднюю части корпуса.

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

Arduino.cc

Затем добавляем поддержку контролеров серии Attiny в Arduino IDE. Запускаем среду разработки и заходим в «Файл» — «Настройки» — «Additional Boards Manager URLs». Вставляем следующую ссылку:

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

Теперь еще пару действий. Идем в «Инструменты» — «Плата» — «Boards Manager» в строке поиска вводим «Attiny» и выбираем «attiny by David A. Mellis» — «Install» и дожидаемся окончания установки.

Теперь пора добавить нужные библиотеки.

Для экрана

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

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

byte addr[8]={0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};

Часы без RTC, поэтому для корректировки хода часов нужно использовать строку:

if (micros() — prevmicros >497000)

Меняем выделенное значение. Чем больше это значение, тем медленнее идут часы. И наоборот.
Если у вас есть ISP программатор, используя его заливаем скетч в часы.

Если программатора нет – берем любую Arduino плату, заливаем в нее скетч из примеров «Arduino ISP». Подключение колодку для прошивки:
D11 – P0
D12 – P1
D13 – P2
D10 – P5
VCC – +5
GND – GND

И заливаем скетч.
Для питания можно использовать USB порт компьютера или зарядка телефона с USB:
Маленькие симпатичные часы с подсветкой и термометром
Фото напоследок:
Маленькие симпатичные часы с подсветкой и термометромМаленькие симпатичные часы с подсветкой и термометромМаленькие симпатичные часы с подсветкой и термометромМаленькие симпатичные часы с подсветкой и термометром

administrator

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.