Съдържание:
- Консумативи
- Стъпка 1: Прототип и тестване на веригата
- Стъпка 2: Основна програма
- Стъпка 3: 3D отпечатване на куба
- Стъпка 4: Монтаж
- Стъпка 5: Качете и сте готови
Видео: Позиционен многофункционален куб часовник: 5 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Проекти на Fusion 360 »
Това е часовник, базиран на Arduino, с OLED дисплей, който функционира като часовник с датата, като таймер за дрямка и като нощна лампа. Различните „функции“се управляват от акселерометър и се избират чрез завъртане на кубния часовник.
Исках нов часовник за нощно шкафче, но не исках да харча пари за луксозен часовник, който имаше много функции, които не бих използвал. Освен това събирах компоненти и сензори, които току -що лежаха наоколо, затова реших да ги използвам, за да си направя часовник!
Имах няколко цели за този проект:
- Показва това време с опция за изключване
- Включете функция за нощна светлина
- Включете 15 -минутен таймер за дрямка с аларма
- Възможност за показване на датата
Консумативи
- Arduino Pro Mini 5V
- ADXL335 3-осен акселерометър
- DS3231 AT24C32 IIC прецизност Часовник в реално време
- Мини високоговорител
- OLED дисплей SSD1306 IIC 0.96in
- 5V DC захранване
- LED x 2
- Резистори 220ohm x 2
- Вал с постоянен ток DC
- Тел
-
Инструменти
- Резачки/стрипери за тел
- Поялник/спойка
- 3D принтер (по избор)
- FTDI програмист за интерфейс между Pro mini и Arduino IDE
Стъпка 1: Прототип и тестване на веригата
Свържете компонентите към Arduino. Оформлението на схемата или схемата са показани по -горе. RTC и OLED използват I2C протокол за взаимодействие с Arduino и използване на A4 и A5 щифтове. Акселерометърът използва 3 аналогови щифта. Използвах A0, A1, A2. Светодиодите и Piezo могат да използват всеки от цифровите пинове, използвах съответно 4 и 8.
Интерфейс с всеки компонент. Трябваше да инсталирам някои библиотеки на Arduino, за да взаимодействам с всеки компонент. Те са показани на горното изображение.
Код с помощта на Arduino IDE. Прегледах някои примерни скици, предоставени от всяка библиотека, за да разбера правилния синтаксис за всеки компонент въз основа на това, което искам да направят. Измислих скица за всеки компонент, за да ги тествам поотделно. Те са предоставени по -долу. Започнах с пиезо високоговорителя, защото беше най -лесният. Всъщност не се нуждаеше от специална библиотека, а само от специфична функция, която задава честотата и звука. За да работят светодиодите, е необходимо само да издърпате един от цифровите щифтове високо и ниско. След това преминах към OLED и това също беше доста лесно за настройка. Скицата по -долу е демонстрация на Adafruit, която преминава през всички анимации/текстове, които могат да бъдат показани. След това се опитах да накарам RTC да работи. Скицата, която предоставих, беше част от пример в библиотеката, който получава текущото време и го отпечатва на серийния монитор. Накрая използвах предоставения пример за тестване на акселерометъра. Изходите на всяка ос се отпечатват на серийния монитор.
Сега е време да съберем всичко заедно!
Стъпка 2: Основна програма
Сега, когато знам, че всичко работи индивидуално, мога да започна да измислям програма, която обединява всичко. Ще обсъдя моя процес за писане на програмата по -долу, но не се колебайте просто да изтеглите пълния код по -долу, който да използвате за вашия собствен проект. Опитах се да оставя конкретни коментари, за да можете сами да преминете през кода.
Трябваше да покажа часа и датата на OLED, което беше доста просто. Просто трябваше да отпечатам текущото време на дисплея вместо на серийния монитор. Имаше няколко неща за форматиране, които трябваше да отчета, за да покаже 12 -часов формат вместо 24 и да добавя/премахва 0, където е подходящо. Датата беше подобна с добавянето на показване на месеца и деня в правоъгълниците, изчертани на екрана. Използвах вложен FOR цикъл, за да създам таймера и пуснах пиезото след края на цикъла. Реших да накарам екрана да мига, докато зумерът се изключваше, което беше основна анимация, взета от демонстрацията на Adafruit. Направих завъртането на куба обратно в часовника, като единственият начин да изключите зумера. И накрая, исках начин да изключа екрана, което беше постигнато само чрез изчистване на дисплея. Сега имах нужда от всички тези функции, за да работя въз основа на изходите на акселерометъра. Използвах скрипта Accel_Test, за да определя координатите на оста на всяка позиция, която исках да изпълнява всяка функция. Ръчно преместих чипа на акселерометъра и записах показанията на серийния монитор. Диаграмата по -горе дава изходните координати на всяка позиция в СИВ. Координатите в RED са границите между всяка позиция и аз използвах тези числа за моята програма. В четирите позиции на дисплея са необходими само координатите на оста X и Y. Петата позиция за нощната светлина използва оста Z. Използвах прости оператори IF за позициите на акселерометъра преди всеки функционален блок. Ако използвате различен акселерометър, тези координати могат да варират и ще трябва да бъдат коригирани в програмата.
Стъпка 3: 3D отпечатване на куба
Реших, че кубът ще бъде най -добрият дизайн, който да приспособи как искам часовникът да функционира. Използвах fusion360 за направата на модела. Имах нужда от изрез за OLED и жака. Исках също лесен достъп за смяна на клетъчната батерия в RTC, след като всичко беше свързано. Имах нужда от слот, за да поддържам Arduino в ориентация, която би била лесна за препрограмиране, ако е необходимо. Освен това корпусът трябваше да бъде лесно сваляем, за да мога да получа достъп до Arduino. Можете да видите CAD модела по -горе, а STL файловете са по -долу.
Отпечатах тялото в черен PLA с 20% пълнене, разделителна способност 0,2 мм.
Корпусът или втулката са отпечатани в гъвкава нишка Solutech със 100% пълнеж, разделителна способност 0,3 мм. Използвах този материал, защото има известна гъвкавост, която улеснява разтягането по тялото. Той също така има по -меко усещане при завъртане на часовника. И накрая, избрах чиста нажежаема жичка, така че светодиодите за нощните лампи да светят.
Стъпка 4: Монтаж
Свързах всичко заедно, използвайки схемата от Стъпка 1. Използвах малко парче перфорирана дъска, за да свържа всички обикновени проводници, така че да не се налага да запоявам няколко проводника към един щифт на Arduino. Беше използвано горещо лепило, за да се осигури всичко на съответното място, с изключение на Arduino. Току -що беше натиснато в определеното му гнездо. Уверих се, че платката на акселерометъра е перпендикулярна и равна в долната част на тялото, така че координатите в кода да не се налага да се променят.
Стъпка 5: Качете и сте готови
Сега окончателната програма може да бъде качена в часовника, за да зададете правилното време. Клетъчната батерия трябва да запазва времето дори когато захранването е изключено. Плъзнете 3D отпечатаната втулка по тялото, за да скриете всички компоненти и имате пълен часовник с куб!
Надявам се да ви хареса да правите този проект и да го намерите толкова полезен, колкото и аз. Хубавото на този проект е, че той е много персонализиран. Чувствайте се свободни да добавяте свои собствени различни функции като функция за аларма, да използвате различни компоненти като по -голям OLED, FM радио приемник и т.н.
Препоръчано:
Направи си сам многофункционален електромер V2.0: 12 стъпки (със снимки)
Направи си сам многофункционален измервател на енергия V2.0: В тази инструкция ще ви покажа как да направите многофункционален измервател на енергия, базиран на Wemos (ESP8266). Този малък измервателен уред е много полезно устройство, което следи напрежението, тока, мощността, енергията и капацитета. Освен тях той наблюдава и атмосферата
Многофункционален измервателен уред за енергия Arduino V1.0: 13 стъпки (със снимки)
Направи си сам Arduino многофункционален енергиен измервател V1.0: В тази инструкция ще ви покажа как да направите многофункционален измервателен уред на базата на Arduino. Този малък измервателен уред е много полезно устройство, което показва важна информация за електрическите параметри. Устройството може да измерва 6 полезни електрически параметъра
Магически куб или куб за микроконтролер: 7 стъпки (със снимки)
Магически куб или куб за микроконтролер: В тази инструкция ще ви покажа как да направите магически куб от дефектен микроконтролер. Тази идея идва от момента, в който вземам дефектен микроконтролер ATmega2560 от Arduino Mega 2560 и направя куб .За хардуера на Magic Cube трябва да направя
Направи си сам многофункционален робот с Arduino: 13 стъпки (със снимки)
Направи си сам многофункционален робот с Arduino: Този робот е създаден главно за разбиране на Arduino и комбиниране на различни проекти на Arduino за формиране на многофункционален робот Arduino. И освен това, кой не иска да има робот за домашни любимци? Затова го нарекох BLUE ROVIER 316. Можех да си купя красив
Многофункционален цифров термометър: 5 стъпки (със снимки)
Многофункционален цифров термометър: Тази инструкция ще ви покаже как да създадете многофункционална платформа с термометър, хронограф (таймер за обратно броене), таймер за обратно броене и светлинен дисплей. Той също така е предназначен да бъде платформа за други аналогови сензори или други функции, които можете