Мазмұны:

Орналасқан көп функциялы текше сағаты: 5 қадам (суреттермен)
Орналасқан көп функциялы текше сағаты: 5 қадам (суреттермен)

Бейне: Орналасқан көп функциялы текше сағаты: 5 қадам (суреттермен)

Бейне: Орналасқан көп функциялы текше сағаты: 5 қадам (суреттермен)
Бейне: 1955 неміс MAW циклді мотор! Бөлшектеу, дизайнға шолу 2024, Қараша
Anonim
Image
Image
Орынға негізделген көп функциялы текше сағаты
Орынға негізделген көп функциялы текше сағаты
Орынға негізделген көп функциялы текше сағаты
Орынға негізделген көп функциялы текше сағаты

Fusion 360 жобалары »

Бұл OLED дисплейі бар Arduino негізіндегі сағат, ол күндізгі сағат, ұйқы таймері және түнгі жарық ретінде жұмыс істейді. Әр түрлі «функциялар» акселерометрмен басқарылады және текше сағатын айналдыру арқылы таңдалады.

Мен жаңа түнгі сағатты алғым келді, бірақ мен пайдаланбайтын көптеген функциялары бар сәнді сағатқа ақша жұмсағым келмеді. Сонымен қатар, мен жай ғана жатқан компоненттер мен сенсорларды жинадым, сондықтан мен оларды өз сағаттарымды жасауға шештім!

Мен бұл жобаға бірнеше мақсат қойдым:

  1. Бұл уақытты өшіруге болатын опциямен көрсетіңіз
  2. Түнгі жарық функциясын қосыңыз
  3. Дабыл бар 15 минуттық ұйқы таймерін қосыңыз
  4. Күнді көрсете білу

Жабдықтар

  • Arduino Pro Mini 5V
  • ADXL335 3 осьті акселерометр
  • DS3231 AT24C32 IIC дәлдігі Нақты уақыттағы сағат
  • Шағын динамик
  • OLED дисплейі SSD1306 IIC 0.96in
  • 5В тұрақты ток көзі
  • Жарықдиодты x 2
  • Резисторлар 220 Ом x 2
  • DC баррель ұясы
  • Сым
  • Құралдар

    • Сым кескіштер/тазартқыштар
    • Дәнекерлеуіш/дәнекер
    • 3D принтері (міндетті емес)
    • Pro mini мен Arduino IDE арасындағы интерфейс үшін FTDI бағдарламашысы

1 -қадам: прототип және схеманы тексеру

Прототип және схеманы тексеру
Прототип және схеманы тексеру
Прототип және схеманы тексеру
Прототип және схеманы тексеру
Прототип және схеманы тексеру
Прототип және схеманы тексеру

Arduino компоненттерін қосыңыз. Нан тақтасының орналасуы немесе схемасы жоғарыда көрсетілген. RTC және OLED Arduino интерфейсі үшін I2C хаттамасын қолданады және A4 және A5 түйреуіштерін қолданады. Акселерометр 3 аналогты түйреуішті қолданады. Мен A0, A1, A2 қолдандым. Светодиодтар мен Piezo кез келген сандық түйреуішті қолдана алады, мен сәйкесінше 4 және 8 қолдандым.

Әр компонентпен интерфейс. Әр компонентпен жұмыс жасау үшін маған кейбір Arduino кітапханаларын орнату керек болды. Олар жоғарыдағы суретте көрсетілген.

Arduino IDE көмегімен код. Мен әр кітапхана ұсынған мысал эскиздерді әр компонент үшін не істеу керектігін ескере отырып, дұрыс синтаксисті анықтау үшін сүздім. Мен оларды жеке тексеру үшін әр компоненттің эскизін ойлап таптым. Олар төменде берілген. Мен пьезо динамигінен бастадым, себебі бұл ең оңай. Ол үшін арнайы кітапхана қажет емес, тек жиілік пен дыбысты орнататын арнайы функция. Жарықдиодты жұмыс істеу үшін сандық түйреуіштердің бірін жоғары және төмен тарту қажет. Содан кейін мен OLED -ге көшіп кеттім және оны орнату өте қарапайым болды. Төмендегі эскиз - бұл көрсетуге болатын барлық анимациялар/мәтіндер арқылы өтетін Adafruit демо -нұсқасы. Содан кейін мен РТЖ жұмыс істеуге тырыстым. Мен ұсынған эскиз ағымдағы уақытты алатын және оны сериялық мониторға басып шығаратын кітапхананың үлгісі болды. Ақырында мен акселерометрді сынау үшін берілген мысалды қолдандым. Әр осьтің шығысы сериялық мониторда басылады.

Енді бәрін біріктіретін уақыт келді!

2 -қадам: Негізгі бағдарлама

Негізгі бағдарлама
Негізгі бағдарлама
Негізгі бағдарлама
Негізгі бағдарлама

Енді мен бәрі жеке жұмыс істейтінін білгендіктен, мен бәрін біріктіретін бағдарламаны шығара аламын. Мен төменде бағдарламаны жазу процесін талқылаймын, бірақ өз жобаңызда пайдалану үшін төмендегі кодты жүктеп алыңыз. Мен кодты өзіңіз жүргізе алу үшін нақты түсініктемелер қалдыруға тырыстым.

Маған OLED -де уақыт пен күнді көрсету қажет болды, бұл өте қарапайым. Маған сериялық монитордың орнына дисплейге ағымдағы уақытты басып шығару керек болды. Менде 24 емес, 12 сағаттық форматты көрсету үшін 0 форматын қосу/алып тастау үшін бірнеше форматтау керек еді. Күн экранда сызылған тіктөртбұрыштардың ішінде ай мен күнді көрсетумен ұқсас болды. Мен таймер жасау үшін кірістірілген FOR циклін қолдандым және цикл аяқталғаннан кейін пьезоны өшірдім. Мен Adafruit демонстрациясынан алынған негізгі анимация болатын дыбыстық сигнал шыққанда экранды жарқылдатуды шештім. Мен текшені сағаттық күйге қайтаруды дыбыстық сигналды өшірудің жалғыз жолы жасадым. Ақырында, мен дисплейді тазалау арқылы ғана экранды өшіруді қалаймын. Енді маған осы функциялардың барлығы акселерометрдің шығуына негізделіп жұмыс істеу үшін қажет болды. Мен Accel_Test сценарийін қолданып, әрбір функцияның орындалуын қалаған әр позицияның осьтік координаттарын анықтадым. Мен акселерометр чипін қолмен жылжытып, көрсеткіштерді сериялық мониторға жаздым. Жоғарыдағы диаграмма әр сұрақтың сұр координаттарын береді. ҚЫЗЫЛдағы координаттар әр позиция арасындағы шекаралар болып табылады және мен бұл сандарды өз бағдарламам үшін қолдандым. Дисплейдің 4 позициясында тек X және Y осінің координаттары қажет. Түнгі жарықтың бесінші позициясы Z осін қолданады. Мен әр функционалды блоктың алдында акселерометр позициялары үшін қарапайым IF операторларын қолдандым. Егер сіз басқа акселерометр қолдансаңыз, бұл координаттар әр түрлі болуы мүмкін және оларды бағдарламада реттеу қажет болады.

3 -қадам: текшені 3D басып шығару

Текшені 3D басып шығару
Текшені 3D басып шығару
Текшені 3D басып шығару
Текшені 3D басып шығару
Текшені 3D басып шығару
Текшені 3D басып шығару

Мен текшенің жұмыс істеуін қалайтын ең жақсы дизайн болатынын түсіндім. Мен модель жасау үшін fusion360 қолдандым. Маған OLED мен баррель ұясы үшін кесу қажет болды. Мен сондай -ақ барлық сымдар қосылғаннан кейін РТК ұялы батареясын ауыстыруға оңай қол жеткізгім келді. Ардуиноны қажет жағдайда қайта бағдарламалауға болатын бағытта ұстау үшін слот қажет болды. Сонымен қатар, Arduino -ға кіру үшін қоршау оңай алынуы керек. Сіз жоғарыда CAD моделін көре аласыз, ал STL файлдары төменде.

Мен корпусты қара PLA -да 20% толтырумен, 0,2 мм ажыратымдылықпен басып шығардым.

Қоршау немесе гильза Solutech икемді талшығында 100% толтырылған, ажыратымдылығы 0,3 мм. Мен бұл материалды қолдандым, себебі оның икемділігі бар, ол дененің үстіне созылуды жеңілдетеді. Сонымен қатар, ол сағатты айналдыру кезінде жұмсақ сезімге ие. Ақырында мен түнгі жарық диодтары жарқырауы үшін таза жіп таңдадым.

4 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Мен бәрін 1 -қадамдағы схеманы қолдана отырып сыммен байланыстырдым. Мен қарапайым сымдардың барлығын қосу үшін перфордалық тақтаның кішкене бөлігін қолдандым, сондықтан бірнеше сымдарды Arduino -да бір түйреуішке дәнекерлеуге тура келмеді. Ыстық желім Arduino -дан басқа бәрін өз орнында бекіту үшін қолданылды. Ол жай ғана белгіленген ұясына итерілді. Мен акселерометр тақтасы корпустың түбінде перпендикуляр және деңгейлі екеніне көз жеткіздім, сондықтан кодтағы координаталар өзгермейді.

5 -қадам: Жүктеу және сіз аяқталды

Жүктеу және сіз аяқталды!
Жүктеу және сіз аяқталды!
Жүктеу және сіз аяқталды!
Жүктеу және сіз аяқталды!
Жүктеу және сіз аяқталды!
Жүктеу және сіз аяқталды!
Жүктеу және сіз аяқталды!
Жүктеу және сіз аяқталды!

Енді соңғы бағдарламаны дұрыс уақытты орнату үшін сағатқа жүктеуге болады. Ұялы батарея қуаттан ажыратылған кезде де уақытты сақтауы керек. Барлық компоненттерді жасыру үшін 3D басып шығарылған жеңді денеге сырғытыңыз, сізде текше сағаты бар!

Сізге бұл жобаны ұнатасыз деп үміттенемін және оны мен сияқты пайдалы деп санайсыз. Бұл жобаның жағымды жағы - бұл өте ыңғайлы. Дабыл функциясы сияқты әр түрлі функцияларды қосуға болады, үлкенірек OLED, FM радио қабылдағышы және т.б. сияқты әр түрлі компоненттерді қолданыңыз!

Ұсынылған: