Мазмұны:

Болашақ сағатқа оралу: 8 қадам (суреттермен)
Болашақ сағатқа оралу: 8 қадам (суреттермен)

Бейне: Болашақ сағатқа оралу: 8 қадам (суреттермен)

Бейне: Болашақ сағатқа оралу: 8 қадам (суреттермен)
Бейне: ЧУПАКАБРА ма, әлде ЖЫН ба?#тылсымдүние #td #төреденбірвидео 2024, Қараша
Anonim
Болашақ сағатына оралу
Болашақ сағатына оралу

Бұл жоба балам үшін оятар ретінде өмірді бастады. Мен оны «Болашаққа оралу» уақытша схемасына ұқсас етіп жасадым. Дисплей уақытты әр түрлі форматта көрсете алады, оның ішінде әрине фильмдер. Оны корпустың жоғарғы жағындағы түймелер арқылы, сонымен қатар Raspberry Pi Zero қызмет ететін веб -бет арқылы конфигурациялауға болады. Дисплей режимдерінің бірінде ол жергілікті ауа-райы (Arduino-мен жұмыс істейтін метеостанциямнан), сонымен қатар веб-интерфейс арқылы конфигурацияланған болжам мен кез келген күнделікті еске салғыштарды көрсетеді. Ол сонымен қатар DAC арқасында дыбысқа ие және AirPlay протоколы арқылы музыканы жібереді. Дабыл дыбысы сіз таңдаған кез келген аудио файл болуы мүмкін. Ол күндізгі уақытта дисплейді автоматты түрде күңгірт етеді және жарықтандырады (мысалы, таң мен қараңғы).

1 -қадам: Фон

Өткен жылы мен Arduino -ның жаңа жобасын іздедім, ол бірінші рет үйдегі метеостанцияны аяқтады. Менің 11 жасар ұлым «Болашаққа оралу» фильмін алғаш рет көрді, сондықтан мен оның туған күніне Делоредегі уақыт тізбегіне ұқсас оятқышты жасау қызықты болар еді деп ойладым. Бұл жаңа идея емес, ұқсас жобалар өте көп (мысалы, бұл), сондықтан мен басқалардан үйреніп, жаңа дағдыларды игеру жақсы жоба болар деп ойладым.

Бірінші нұсқа өте жақсы жұмыс істеді (бұл оның туған күніне дайын емес еді: мен оны Рождествода жасадым), бірақ мен қалағанымдай өршіл болдым және менің эскизім Arduino жадының шегіне жететінін байқадым. Менде бірнеше шағын сыртқы аппараттық модульдер болды (WiFi, MP3 ойнатқыш, аудио күшейткіш, RTC және т. Ақырында, мен Raspberry Pi платформасына көшуді шештім, бұл аппараттық құралдарды жеңілдетіп, көптеген мүмкіндіктер мен мүмкіндіктерді жинауға мүмкіндік берді.

2 -қадам: аппараттық құралдың негізгі компоненттері

Қораптың ішінде

Міне мен қолданған электронды компоненттер. Олардың көпшілігі Австралиядағы Core Electronics көздері болды, бірақ, әрине, олар басқа жерде де қол жетімді:

  • 4 x төрт әріптік -сандық дисплей -сары -жасыл
  • Raspberry Pi Zero W
  • Raspberry Pi Zero үшін Pimoroni pHAT DAC
  • Аудио күшейткіш (PAM8403 IC)
  • Raspberry Pi 3+ қуат көзі
  • 4 x өтпелі сым - 0,1 дюйм, 5 істікшелі, 12 дюймдік
  • 40 істікшелі (2 x 20) таспалы кабель
  • Raspberry Pi GPIO ерлер тақырыбы
  • Raspberry Pi Model B - GPIO жабық тақырыбы (2X20)
  • Pi A+/B+/PI 2/PI 3 үшін GPIO стекинг тақырыбы - қосымша ұзын 2X20
  • 4 x 5 істікшелі еркек басы
  • 3 Вт шағын 2 динамик
  • 2 x коаксиалды кабель DAC аналогты дыбыс қосылымына арналған
  • Verpi тақтасы немесе Rpi -ді күшейткішке, светодиоды, түймелерге өңдеуге арналған реттелетін ПХД
  • 5 x батырмалы қосқыштар
  • 4 х ПХД-ге орнатылатын бұрандалы терминалды блоктар

Қорап

  • МДФ бөлшектері мен бөліктері, «шасси» жасауға арналған бұрандалар мен болттар
  • Жасыл түсті перспекс, жергілікті жеткізуші
  • Стирол, модельдеу желімі, спрей бояуы (алюминий түсті) жергілікті хобби дүкенінен
  • Жапсырмалар (файл сұраныс бойынша қол жетімді - Redbubble басып шығарған)

3 -қадам: Барлығын біріктіру

Барлығын біріктіру
Барлығын біріктіру

Сағаттың жарықдиодты дисплейі 16x14 сегменттен тұратын әріптік-цифрлық дисплейден тұрады, бақытымызға «Болашаққа оралу» уақыт схемасы сияқты символдар саны. Алғашқы үш таңбаның тек әріптік-цифрлық болуы керек, ал қалғаны фильмнің реквизитіне еліктеу үшін 7 сегментті сандық дисплей болуы мүмкін, бірақ мен олардың барлығын әріптік-цифрлық етіп көрсетуге болатын нәрсеге икемділік беруді шештім. бірдей Adafruit төрт рюкзактары мұнда тамаша шешім болып табылады және оны Raspberry Pi I2C автобусында жүргізуге болады. Бұл қондырғылар туралы және оларды жалғау туралы қосымша ақпаратты Adafruit веб -сайтынан табуға болады. Біраз стандартты емес нәрсе-олардың үшеуінің мекен-жайын өзгерту болды, сондықтан әр рюкзак бірегей болды.

Аудионы ойнату үшін (стерео түрінде) мен Pimoroni pHAT DAC пен PAM8403 чипіне негізделген 2 x 3W стерео дыбыс күшейткішін қостым. PHAT DAC Pi -ге қосылу өте оңай. Мен Pi -ге 2 x 20 істікшелі ерлер тақырыбын және DAC -ке GPIO стекинг тақырыбын қойдым, осылайша оларды бір -біріне қосуға болады. Еркек тақырыптық түйреуіштер DAC жоғарғы жағынан өтеді, бұл маған әйел коннекторлары бар таспалы кабельді іске қосуға мүмкіндік береді, бастапқыда Raspberry Pi-ді сынақтан өткізу үшін, бірақ сайып келгенде дайындалған ПХД-ге жабылған тақырыпқа дейін.

Дыбыс күшейткіші үшін көптеген нұсқалар бар (оның ішінде чипті алу және оны өзіңіз жинау). Бұл түйреуіштердің біреуінің күйін өзгерту арқылы шығуды өшіру мүмкіндігіне ие (жоғары қосулы, төмен сөндірулі) және мен оны Pi арқылы басқаруға болатындай етіп қостым. Мұны қосуға тырысқан кезде мен аудио қосылған кезде көптеген фондық шуды таптым. Жерлендірумен көп ойнағаннан кейін мен ақырында кіріс кернеуін Pi 5В -тан 3.3В -қа ауыстыруға тырыстым және ол бекітілді. Менің ойымша, әр түрлі цифрлық сигналдар шығаратын шу көп, бірақ 3.3В кернеуі қандай да бір түрде оқшауланған сияқты.

Басқа қосылымдарға DAC -тен күшейткішке арналған аналогты дыбыс кіреді (мен шуылдарды басқаруға көмектесу үшін коаксиалды кабельді қолдандым) және аудионы корпусқа сәйкес келетін 3 Вт шағын динамиктерге шығарады. Сонымен қатар қораптың жоғарғы жағындағы төрт лездік қосқыштар үшін GPIO қосылымдары бар және мен «RUN» қатты қалпына келтіру түйреуіштеріне бір сәттік түймені қостым (осы беттегі Қосымша қосылымдар бөлімін қараңыз). Қалпына келтіру түймесі корпустың артқы жағында көрінбейтін жерде орнатылады. Міне, қосылымдарды көрсететін диаграмма:

4 -қадам: теңшелетін ПХД

Теңшелетін ПХД
Теңшелетін ПХД

Схемада тым күрделі ештеңе болмаса да, сымдар жеткілікті және нан тақтасы спагеттиге өте тез ұқсайды. Сондықтан мен бәрін бақылауда ұстау үшін ПХД жасадым. Бұл үйде дайындалған бір жақты тақта, мен оны жасауға көмектесетін досымды алдым. Ол жасалып, қосылғаннан кейін мен аудио терминалдарының қосылымдарын қосуды ұмытып қалғанымды түсіндім, кейін аудио күшейткішті 5В -тан 3.3В -қа ауыстыруды өзгерттім, сондықтан бұл өте жақсы емес, мен оны жалғастыруға тура келді. аудио қосылуға рұқсат беру үшін кейбір Veroboard. Сондай-ақ, дыбыс күшейткіш тақтасының түйреуіштері стандартты емес ажыратылады (олар түйреуіштер арасында да өзгереді), сондықтан негізгі ПХД-мен қосылу 11 ~ 1см қысқа қосылым сымдарымен өте қорқынышты.

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

5 -қадам: қоршау

Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау

Мен фильмнің уақыт тізбегінің бір қатарына ұқсас қоршау жасағым келді. Светодиодты дисплейлердің үш қатары оятқыш үшін тым көп болар еді және оның құнын едәуір арттырар еді. Мен қоршауды алюминийден жасауды ойладым, бірақ бұл салада менің дағдыларым жоқ. Мен өмірімде бірнеше пластикалық модельдер жасадым және ағаш өңдеу тәжірибесі бар, сондықтан жарықдиодты және динамиктерді орнату үшін перспективаны алдыңғы жағына бекіту үшін MDF көмегімен жақтау жасауға шешім қабылдадым, содан кейін оны 5 жақты стиролмен жабыңыз. алюминий металл бүріккіш бояумен боялған, алдыңғы беті бар қорап. Пластмасса мен бояу жергілікті модельдер дүкенінен алынды. Мен фильмнің реквизитіндегі жапсырмаларды мұқият қарап шығып, түстерді, қаріп түрі мен өлшемін көшіру үшін барымды салдым. Мен жапсырмаларды жасау үшін Photoshop -ты қолдандым және оларды Redbubble -ден стикерлер ретінде басып шығардым.

Жоғарыдағы суреттер мыналарды көрсетеді:

  1. MDF шассиінің алдыңғы жағы. 4 жарықдиодты рюкзактар алдыңғы жағына жасыл түсті перспективамен бекітілген
  2. Қораптың ішінде. Барлық рюкзактар орнатылған және реттелген, Raspberry Pi және реттелетін ПХД, екі жағында динамиктер.
  3. Сымдар орнатылған және сыртқы қабық жалғастыруға дайын. Бұл аздап қысылу болды!

6 -қадам: Raspberry Pi орнату

Менде Raspbian Stretch -пен кейбір үйлесімділік мәселелері болды (егер мен оны жалғастыра алсам шешілетін болар еді), бірақ Джесси онымен жақсы жұмыс істейді, сондықтан мен онымен баруды шештім.

Мен Pi -ді VNC және SSH қатынасы бар басы жоқ қондырғы ретінде орнаттым. Бұл пернетақтаны немесе мониторды қоспай -ақ жасалуы мүмкін еді, бірақ мен жай ғана теледидарды қарызға алып, пернетақтаны айналдырдым және оны тез бассыз қалдырдым. Содан бері мен VNC -ді көп қолдандым.

Менің сағат коды Python 2.7.9 пайдаланады және төменде көрсетілген бірнеше кітапханаға сүйенеді. Сонымен қатар, мен Flask веб -сервері мен қашықтан басқару пультіне арналған MQTT және музыкалық ағынға арналған Shairplay жұмыс жасаймын. Мен осының барлығына арналған онлайн-ескертулерді орындадым және ешқандай проблемалар болмады. Міне, python кітапханалары мен басқа да пакеттер және т.

Python кітапханалары

  • Adafruit_LED_Backpack
  • Rpi. GPIO (apt-get install python-rpi.gpio)
  • алсаудио
  • paho.mqtt.client (paho-mqtt орнатыңыз)
  • колба (apt-get install python-flask)

Басқа пакеттер және т

  • маса (apt-get moschito орнату)
  • shairport
  • Pimoroni веб -сайтында DAC орнату туралы жақсы құжаттар бар, сондықтан мен онымен жүгірдім.

7 -қадам: Бағдарламалық қамтамасыз ету

Image
Image
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Сағат коды Python тілінде жазылған және дисплей жаңартуларына кедергі жасамай, дабыл мен мезгіл -мезгіл фонда ойнату үшін ағынды пайдаланады. Мен ConfigParser кітапханасын қолдандым және ол конфигурация файлын сағат кодымен, сондай -ақ Flask веб -қосымшасымен оқиды және жазады, осылайша конфигурация веб -интерфейс немесе сағат арқылы өзгерген кезде ол синхрондалады. Сағат бағдарламалық жасақтамасы сонымен қатар дисплей режимін басқаруға және дыбысты өшіруді қашықтан басқаруға мүмкіндік беретін MQTT брокерін қамтиды. Менің басты мақсатым - қашықтан басқару пультіне арналған iOS қосымшасын жазу, бірақ веб -интерфейс әзірше жақсы жұмыс істейді.

Жоғарыдағы бірінші сурет сағаттың әр түрлі дисплей режимінде қалай көрінетінін көрсетеді және оны айналдыру режимінде көрсететін қысқа бейне бар.

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

Веб қосымшасы

Келесі суретте сағат интерфейсі қалай көрінетіні көрсетілген. Сондай-ақ, конфигурация және басқару беттері бар, олар батырмаларды баспай-ақ сағатпен ойнауды едәуір жеңілдетеді:-).

8 -қадам: Әрі қарай не болады?

Әрі қарай не?
Әрі қарай не?

Python бөлісу метадеректерінің декодері бар, сондықтан мен музыка ойнатылып жатқанда тақырып пен суретші сияқты ақпаратты көрсету үшін код қосамын деп ойлаймын. Қолмен орнатудың орнына дисплей автоматты түрде жарықтандырылып, күңгірттенуі үшін күннің шығуы мен бату уақытын есептеу өте оңай болар еді. Мүмкін, интернет -радио функциясын қосу да қызықты болар еді. Айналдыратын дисплей де конфигурациялануы мүмкін.

Ұсынылған: