Радвам се да ви приветства отново. Много харесвам дисплеи за Arduino тип OLED. Конкретно малка с диагонал от 0,96 инча с резолюция 128 на 64 пиксела. Ако погледнете моята страница в този сайт, можете да намерите много различни проекти с този дисплей. Устройства като волтметър или амперметър с такъв дисплей, разбира се, са компактни, но рядко се използват и е по-удобно да използвате готов мултицет, продаван във всеки радио магазин. И аз искам моето домашно приготвени продукти застана на масата и зарадва окото, с всеки поглед към нея, всеки ден. Следователно часовникът е най-доброто решение за това. Имах много опции за часовници с този дисплей, на Arduino, на Attiny85, на батерии, захранвани от USB, с подсветка, с термометър и т.н., и т.н. Но всички те имаха някои недостатъци: нестабилна храна, грозен случай, недостатъчно памет за изпълнение на функцията за показване на дата (Attiny85). Но в резултат на много опити и грешки намерих оптималното решение за моите искания. Този път ще използваме:
- пишеща машина Modarri
- Arduino Pro Mini 5v 16 Mhz
- DS28B20 (цифров сензор за температура)
- WS2812 (Адрес LED лента)
- USB-TTL (За попълване на скицата)
- OLED 0,96 128x64
- Бутони
- платка
- Резистор 4.7 kOhm
- Керамичен кондензатор 104, 2 бр
- Лист пластмаса с дебелина 1-2 мм
- свързващи проводници
- USB проводник
- Пистолет за лепило
- Маслено уплътнение и всичко необходимо за запояване
Стъпка 1 Избор на жилище.
След дълги и болезнени опити да направя калъф за часовник, така че да ми хареса, реших да потърся основата за случая на моите (и не само на собствените си) рафтове. Видях коли, които харесвам. Това са малки, добре изработени, с гумени колела и амортисьори Модари колички за играчки
Тази компания разполага с широка гама от продукти. Автомобилите са за всеки вкус и цвят. И най-важното за нас, те имат място за контрол на пръста. И е чудесно за малкия ни екран. Намерих три модела:
Можете да направите такъв часовник от всеки, но най-много ми допадат черните. Също така много части на машината са взаимозаменяеми, можете да сглобите както искате.Според мен това е отличен случай, направен спретнато, изглежда красив и има достатъчно място за електроника.
Стъпка 2 Подготовка на екрана.
Нашият екран е малък, но сладък е графичен дисплей. От характеристиките си струва да се подчертае, че всеки пиксел е независим светодиод. OLED означава органичен светодиод. За свързване се използват 4 проводника. VCC (проводник с положителна мощност, може да се захранва от 5 или 3,3 волта), GND (проводник с отрицателна мощност), SCL и SDA (свързан с Arduino). Връзката с Arduino е чрез I2C серийна асиметрична комуникационна шина. Самият дисплей изглежда така:
Полейте проводниците към всички 4 контакта, по-добре е да използвате многоцветни проводници и да запишете, което води до кой контакт:
Така че външният екран да не разваля цялостния вид, ще направим малък случай за него. Малък лист от тънка пластмаса е подходящ за случая. В продължение на часове жертвах канцеларски таблет:
Той беше идеален за изработка на случая. Според следната схема изрязваме малък калъф от пластмаса:
Вътрешният правоъгълник трябва внимателно да бъде изрязан и огънат по пунктираните линии:
Поставяме дисплея си вътре, фиксираме екрана и страничните стени с горещо разтопено лепило, също така е по-добре да напълнете проводниците с лепило, за да не ги разкъсате, ако изведнъж, случайно закачите:
Отвън трябва да е така:
Стъпка 3 Подгответе сензора за температура.
Е, какъв часовник без температурен датчик! Най-добрият избор е цифров сензор. Най-достъпният е DS28B20. За неговите предимства можете да говорите безкрайно, така че накратко. Той не използва процесор Arduino за изчисляване на температурата, той свързва само един проводник към Arduino (работи с помощта на протокола OneWire). DS28B20 може да бъде свързан по много начини. Използвайте външно захранване, като го захранвате от 5 волта през VDD щифта, бездомно захранване чрез свързване на контактите VDD и GND или можете да намерите подобрена верига за бездомни захранвания. Всички опции имат своите плюсове и минуси. Ще се съсредоточим върху външното захранване, ще свържем VDD към +5, GND към GND, DQ към щифта Arduino, също трябва да използваме резистор от 3,3 kOhm, за да затегнем DQ към захранването. Схемата е следната:
Резисторът е най-удобно поставен до сензора, споен между краката. Пускам DS28B20 в различни случаи, най-добре е да вземете в случая TO-92. Изкълчването на сензора е както следва:
Средният контакт е DQ - шина за данни, спойка жицата към него и един от резисторните контакти (4.7 kOhm):
Изолираме средния контакт от страничните с помощта на електрическа лента. Ние огъваме втория крак на резистора и заедно с жицата запояваме към щифта Vdd. Задайте третия GND щифт, запишете цветовете на проводниците и изолирайте всички останали контакти.
Стъпка 4 Подготовка на контролните бутони.
Задаването на час и дата ще бъде възможно по два начина. Чрез порт порт или бутони. В скицата на часовника е предвидено използването на три бутона (Set, Plus, Minus). Но можете да се справите с две, като изключите бутона минус. Спойка бутоните на платката:
Не забравяйте да запишете цветовете на проводниците, за да знаете до кои води. Бутоните имат един от общите проводници, той ще се свърже с GND. Успоредно с бутоните спояваме керамичните кондензатори с маркировка 104 (елиминираме ефекта от тракане на контактите).
Поядените проводници са по-добре да се напълнят с горещо лепило.
Стъпка 5 Подгответе WS2812.
Адресната лента WS2812, или по-скоро само един светодиоден WS2812, ще използваме, за да подчертаем машината. Отрязах един светодиод от лентата, но можете да ги закупите отделно. Ние лепим WS2812 от дъното на машината и спояваме следните проводници към нея: +5 (проводник с положителна мощност), GND (отрицателен захранващ проводник), Din. Моля, обърнете внимание, че адресната лента има посока на сигнала. Следователно сигналния проводник трябва да бъде запоен към терминала Din (вход на сигнал), Не оставяйте без спомен:
LED е необходим за декорация. По желание е часовникът да работи без него. Малко напред, снимка на подсветката:
В скицата има 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 Бутон за настройка - D2 Arduino
2 плюс бутон - D3 Arduino
Бутон минус 3 - D4 Arduino (незадължително)
WS2812 Din - D5 Arduino
DS28B20 DQ - D10 Arduino
Цифровите номера могат да се променят в скицата. След запояване на всички проводници можете да започнете да сглобявате калъфа:
Стъпка 6 Редактирайте и попълнете скицата.
Както обикновено се нуждаем от средата за програмиране на Arduino IDE. Продължаваме официален уебсайт и го изтеглете.
Ние го правим по-удобно за вас. Можете да изтеглите инсталатора или просто да го архивирате, няма разлика.
Сега имаме нужда от библиотеките:
OLED_I2C - идва с ID на Arduino
OneWire - връзка за изтегляне по-долу
Adafruit_NeoPixel - Линк за изтегляне по-долу
Можете да инсталирате тези библиотеки, като отидете в секцията "Управление на библиотеките" на самия ID на Arduino. Намерете ги по име и инсталирайте. Ако имате проблеми с Интернет, изтеглете архивите по-долу и го разархивирайте в папката „библиотеки“, намираща се на мястото, където сте инсталирали Arduino IDE.
Имам две скици за този часовник. Първо със секунден дисплей:
И втората опция без секунди:
Изберете по ваш вкус от файловете по-долу.
Изтеглете файлове на проекта