Мазмуну:

Эски Ойготкучту жана Ардуинону колдонуу менен аба ырайынын сааты: 13 кадам (сүрөттөр менен)
Эски Ойготкучту жана Ардуинону колдонуу менен аба ырайынын сааты: 13 кадам (сүрөттөр менен)

Video: Эски Ойготкучту жана Ардуинону колдонуу менен аба ырайынын сааты: 13 кадам (сүрөттөр менен)

Video: Эски Ойготкучту жана Ардуинону колдонуу менен аба ырайынын сааты: 13 кадам (сүрөттөр менен)
Video: НОВИНКА!!! Радиоприемник TECSUN PL320 #tecsun 2024, Ноябрь
Anonim
Эски Ойготкучту жана Ардуинону колдонуу менен Аба ырайы Сааты
Эски Ойготкучту жана Ардуинону колдонуу менен Аба ырайы Сааты
Эски Ойготкучту жана Ардуинону колдонуу менен Аба ырайы Сааты
Эски Ойготкучту жана Ардуинону колдонуу менен Аба ырайы Сааты

Менде ойготкуч саат сынган болчу жана аны саатка жана аба ырайын божомолдоочу станцияга айландыруу идеясы келди.

Бул долбоор үчүн сизге керек болот:

  • Эски тегерек ойготкуч саат
  • Arduino Nano
  • BME280 сенсор модулу (температура, нымдуулук, басым)
  • ЖК дисплей модулу Nokia 5110дон
  • DS1307 RTC сааты
  • TP4056 литий батарейкасы
  • Эски Li-ion батарейкасы уюлдук телефондон алынган
  • Чакан 3.7V - 5V Booster модулу
  • Жарыкка көз каранды резистор (LDR - жарык эсептегич)
  • Buzzer (эски компьютерден сакталган)
  • 3 баскычтар
  • Бир топ резисторлор (2x10k, 270 Ом) жана транзистор (2N2222A же окшош)
  • Кээ бир кенен түтүк
  • сынык PCB алдыңкы табак жасалгасы катары колдонуу
  • Micro-USB узартуу кабели (аял жана эркек тарап Micro-USB болуп саналат)
  • 2x8 см прототип тактасы жана кээ бир зымдар

1 -кадам: Баарын ажыратыңыз

Баарын ажыратуу
Баарын ажыратуу

Алгач эски саатты демонтаждадым. Коңгуроолор, мотор, сынган саат механизми…

2 -кадам: Санарип жөндөөлөрдүн баскычтары

Санарип жөндөөлөр үчүн баскычтар
Санарип жөндөөлөр үчүн баскычтар
Санарип жөндөөлөр үчүн баскычтар
Санарип жөндөөлөр үчүн баскычтар
Санарип жөндөөлөр үчүн баскычтар
Санарип жөндөөлөр үчүн баскычтар
Санарип жөндөөлөр үчүн баскычтар
Санарип жөндөөлөр үчүн баскычтар

Жаңы сааттын ичинде толугу менен санарип болгондуктан, ичиндеги мини-компьютер бар, мен капталына 3 жөнөкөй жакшы көрүнгөн баскычты коштум.

Алюминийдин сыныктарын колдонуп, этикетканы түзүү үчүн үстүнкү катмарын кесип алдым. Энбелгилердин тамгалары тамга-сокку жана кара маркердин жардамы менен түзүлгөн.

3 -кадам: Мотор үчүн конденсатор

Мотор үчүн конденсатор
Мотор үчүн конденсатор

Мен мотор менен сигналды иштетүү үчүн эски коңгуроолорду сактап калам. Эски сынган саат механизминде 104. этикеткасы бар керамикалык конденсатор бар болчу. Мен аны схемадан алып таштадым жана түз эле моторго коштуруп койгом - бул сигнализация учурунда моторду күйгүзүүдө кубаттуулуктун өсүшүнүн алдын алууга жардам берет. Белгилей кетчү нерсе, мотор транзистор аркылуу башкарылат, бирок бул тууралуу кийинчерээк.

4 -кадам: Саат үчүн жаңы жүз

Саат үчүн жаңы жүз
Саат үчүн жаңы жүз
Саат үчүн жаңы жүз
Саат үчүн жаңы жүз

Мен саат үчүн жаңы жүз жасоону чечкенден бери - мен таштанды челегимден электр тактасын алып, бардык компоненттерди тез арада алып салуу үчүн куруучу мылтыкты колдондум. Ортодогу тешик жаңы сааттын санариптик экраны үчүн жасалган.

5 -кадам: Эски мобилдик телефондон санариптик дисплей

Эски мобилдик телефондон санариптик дисплей
Эски мобилдик телефондон санариптик дисплей
Эски мобилдик телефондон санариптик дисплей
Эски мобилдик телефондон санариптик дисплей

Бул долбоор үчүн мен эски Nokia 5110 уюлдук телефонунан ЖК экранды колдонууну чечтим. Бул экрандар модул катары сатуу үчүн кеңири таралган, алар өтө аз кубат тартат жана Arduino үчүн жакшы китепканалар бар. Эгерде сиз 5110 экраны бар жаңы модуль сатып алсаңыз - планетаны сактап жатасыз, анткени бардык жаңы модульдер куткарылган 5110, 3110 жана 3210 телефондорунан жаратылган!

6 -кадам: Райондорду туташтыруу

Микросхемаларды туташтыруу
Микросхемаларды туташтыруу
Микросхемаларды туташтыруу
Микросхемаларды туташтыруу
Микросхемаларды туташтыруу
Микросхемаларды туташтыруу

Сиз бул саатты көзөмөлдөө үчүн Arduino тактасын колдонууну пландап жатканымды мурунтан эле болжолдогон чыгарсыз. Долбоор башталгыч Arduino күйөрмандары үчүн да оңой кайталанат, анткени мен өзүмдүн тактайчамды жараткан жокмун. Бул Arduino Nano тактасы, ага модулдары туташкан - BME280 температурасы, басымы жана нымдуулугу сенсору, DS1307 RTC сааты, TP4056 литий батарейкасы, кичине 3.7vдан 5v чейин күчөткүч модулу, Light Dependent Resistor (LDR - жарык эсептегич) жана зумзер (эски компьютерден алынган).

Эскиздерди да карап көрүңүз - алар бардык байланыштарды көрсөтөт. Менимче, баарын окуу жана түшүнүү абдан оңой, бирок кандайдыр бир суроолор болсо, төмөндөгү комментарийлерде сураңыз.

Орнотуу жөнүндө бир нече эскертүүлөр:

  • Мотор транзистор аркылуу батареядан түз туташат. Arduino транзисторду резистор жана PWM пин D5 аркылуу башкарат.
  • P7 D7-12 LCD туташтыргычы үчүн колдонулат. Жер жана VCC бириктирүүчү тактадагы темир жолго туташкан.
  • LDR сааттын бетине орнотулган жана резистор + 3 чыгуучу зымдар сааттын арткы бетине туташкан.
  • Баскычка туташуу үчүн мен Arduino ичиндеги ички PULLUP функциясын колдондум. Меню баскычы үзгүлтүккө тиркелет жана мен кийинчерээк түшүндүм, сиз дагы үзгүлтүккө ички PULLUP колдоно аласыз. Меню баскычы үчүн үзгүлтүк код дайыма баскычтардын абалын сканерлебеши үчүн талап кылынат.
  • Саат батарейканын абалын көзөмөлдөйт жана көрсөтөт, ошондуктан батарея A0 пинине туташкан. Батареянын чыңалуусу эч качан 4.2Vдан жогору болбойт, андыктан батарейканы Arduino аналогдук пинге туташтыруу коопсуз.
  • Buzzer түздөн -түз PWM пин D6 менен туташкан. Бул жакшы практика болбосо да, мен андан кутулуп кеттим, анткени Arduino Nano айтылгандан жогору спецификаны көтөрө алат, ошондой эле ызы -чуу үзгүлтүксүз иштебейт. Ошол эле орнотуу ESP такталарындагы казыктарды оңой эле өрттөп жиберет, ошондуктан мен мындай учурларда транзистордук башкарууну колдонууну сунуштайм.
  • Сааттын которгучу бар болчу, ошондуктан мен аны колдонууну чечтим. Бул арт жагында табигый көрүнөт.

7 -кадам: Оңой туташуу үчүн Junction Board

Оңой туташуу үчүн Junction Board
Оңой туташуу үчүн Junction Board
Оңой туташуу үчүн Junction Board
Оңой туташуу үчүн Junction Board

Бардык модулдар оң жана жер байланыштарын талап кылат, ошондуктан мен 2x8 см прототип тактасын колдонууну чечтим жана ага 5В жана Жер рельсин кошту. Мен ошол жерде кичинекей I2C темир жолун жасадым, анткени менде I2C интерфейсин колдонгон бир нече модуль болгон.

Башка жагынан алганда, мен модулдарды туташтырып, ажыратуу үчүн стандарттуу төөнөгүчтөрдү туташтырдым.

Кошумча компоненттердин кээ бирлери ошол жерде, мисалы, транзистор жана моторду башкаруу үчүн резистор жана Меню баскычы үчүн резистор катары үзгүлтүккө учураган. Мен мурунку бөлүмдөгү схемаларды көрсөттүм.

btw Биринчи сүрөттө LDR сенсорунун сааттын бетине орнотулганын көрө аласызбы?

8 -кадам: Кубатты орнотуу

Кубатты орнотуу
Кубатты орнотуу

Мен бул саатты иштетүү үчүн уюлдук телефондон эски литий-ион батареясын колдондум. Көбүнчө алмаштырылган уюлдук телефондордун батарейкалары дагы эле жакшы кубаттуулукка ээ (жаңы болгонунун жарымынан кем эмеси). Алардын артыкчылыгы, аларда камтылган разряддан коргоо схемасы бар жана алар өтө ичке болгондуктан кичинекей космостук сценарийлерде колдонулушу мүмкүн.

Батареяны туташтыруу үчүн, зымдарды батарейканын + жана - түйүндөрүнө кошуңуз. Кабатыр болбоңуз, клетканы зыянга учуратпайсыз, анткени контроллер жана казыктар менен клетканын химиялык заттарынын ортосунда боштук бар.

Бул сүрөттө сиз батарейканы, ошондой эле TP4056 кубаттоочу контролерун, 5В күчөткүчүн жана батареяга кошулганын көрө аласыз. Баарын обочолонтуучу жана жыйнактуу кылуу үчүн бир аз кысылган түтүктөрдү колдондум.

9 -кадам: Камтылган программаны кубаттоо жана жаңыртуу үчүн Micro USB

Камтылган программаны кубаттоо жана жаңыртуу үчүн Micro USB
Камтылган программаны кубаттоо жана жаңыртуу үчүн Micro USB

Мен баарын ширеткенден кийин, арткы панелдеги ызылдагычты жана темп/басым/нымдуулук сенсорун чаптадым. Алардын баары эски сааттык тергичтердин учурдагы уячаларына жакшы орнотулган.

Эми артка Micro USB портун орнотууга убакыт келди. Нано Mini USB колдонсо, эмне үчүн Micro USB? Жөн эле үй тиричилигинде, USB кабелдеринин көбү уюлдук телефондордон алынгандыктан, саат да аны кабыл алса ыңгайлуу болмок.

Мен аны кубаттоо үчүн жана сааттын жана аба ырайынын станциясынын функцияларын жаңыртуу үчүн колдонгум келгендиктен - мен USB кабелин чечип, электр зымдарын TP4056 заряддагычы жана Data+/Data- зымдары аркылуу Arduino Nano USB розеткасына өткөрдүм. Муну мен мурунку бөлүмдөрдө көрсөткөн схемадан көрө аласыз.

10 -кадам: Акыркы жыйын

Акыркы жыйын
Акыркы жыйын
Акыркы жыйын
Акыркы жыйын
Акыркы жыйын
Акыркы жыйын

Эми бардыгын баштапкы саатка чогултуу убактысы келди. Мен компоненттерди жана модулдарды изоляциялоо үчүн shrink трубасын колдондум. Жада калса Arduino трубкага оролгон.

Ар бир компоненттин кайда жайгаштырылганын билүү үчүн, биринчи сүрөткө сүйрөңүз.

11 -кадам: Кодекс

Көрүнүп тургандай, саат ичинде толугу менен жыйналган. Бул, албетте, программалоо көндүмдөрү бар экенин эске алганда, менде эски саатка караганда татаалыраак нерсени түзүүгө мүмкүндүк берди. Мен баштапкы кодду жаздым, бирок досумдан жардам сурап кирди.

Азырынча, сааттан башка, бул долбоор буга чейин колдогон функциялар:

  • Убакыт жана датаны көрсөтүү (ошол эле экранда ойготкучтун убактысы жана активациясы)
  • Экран караңгы шартта же кыймыл аныкталганда күйөт (жарыктын өзгөрүшүнүн негизинде)
  • Аба ырайы (Күн ачык, Булуттуу, Жамгырлуу)
  • Температуранын, басымдын жана нымдуулуктун дисплейи (нымдуулук үчүн ал өтө кургак экенин көрсөтөт)
  • Орнотуулар үчүн меню: ойготкуч, убакытты өзгөртүү, датаны көрсөтүүнү иштетүү/өчүрүү, аба ырайынын өзгөрүшү жөнүндө үн билдирмелерин иштетүү/өчүрүү жана империялык жана метрикалык бирдиктердин ортосунда которулуу
  • Ойготкучтун жөндөөлөрү - күйгүзүү/өчүрүү, убакытты белгилөө, обонду жана/же коңгуроолорду билдирүүлөрдү коюу

Акыркы код:

Код келечекте жаңы мүмкүнчүлүктөр менен жаңыртылат, андыктан программалык камсыздоонун жаңыртууларын кайра текшериңиз:-)

Эгерде сиз Arduino дүйнөсүнө жаңыдан кирсеңиз, анда мен муну сунуштайт элем:

  • Тактаңызга USB драйверин орнотуңуз (мис. CH340)
  • Arduino IDE орнотуу
  • Бул долбоордо колдонулган китепканаларды орнотуңуз
  • GitHubдан жүктөп алыңыз жана Micro USB кабелин колдонуп сааттын акыркы долбоорунун кодун жүктөңүз (уюлдук телефондон колдонсоңуз болот)

Болжолдоо алгоритми төмөнкүчө:

Arduino Nano ар бир 12 мүнөт сайын BME280 сенсорунан жаңы маалыматтарды алат. Өлчөө цикли 3 саатты түзөт. 3 сааттан кийин басымдын мониторинг диапазону (3 сааттын ичиндеги максималдуу жана минималдуу мааниси) учурдагы диапазондогу жана учурдагы басымдын маанисиндеги орточо мааниге салыштырмалуу жылат. Учурдагы басымдын мааниси менен басымдын өзгөрүү багыты саат сайын сакталат. кПа бирдиги болжолдуу эсептөө үчүн колдонулат.

Нанонун эс тутумунун чектелишинен улам болжолдоо алгоритмин жөнөкөйлөштүрүүгө туура келди. Бирок жөнөкөйлөтүүлөргө карабастан, болжолдоо азыр пессимисттик болсо дагы, кийинки 12-24 сааттын ичинде жаан -чачындарды алдын ала айта алат - демейки мааниси "Булуттуу аба ырайы".

"Күнөстүү аба ырайы" - басымдын учурдагы мааниси нормадан 7 пунктка жогору, басым түшпөйт жана акыркы 3 саат ичинде мин жана максималдуу маанилердин ортосундагы айырма 2 баллдан ашпайт.

Мүмкүн болгон жаан -чачын "Жамгырлуу аба ырайы" - учурдагы басым нормадан 15 пунктка төмөн жана мин & максималдуу маанилердин ортосундагы айырма 2 баллдан жогору ЖЕ Басым түшүп жатат жана учурдагы маанинин нормадан айырмасы 3 - 30 балл.

Прогноздоонун сапатын жакшыртуу үчүн негизги код файлындагы "бийиктигиңизди" өзгөртүү сунушталат. Бийиктигиңизди бул жерден алсаңыз болот:

12-кадам: этап-этабы менен видео

Image
Image

Эгерде мен жогоруда кылгандарды аткаруу кыйын болсо, бул жерде көрсөтүлгөн бардык кадамдары бар видео версиясы.

13 -кадам: Акыркы сөздөр

Жалпысынан, менин көз карашымда, бул долбоордун кыйынчылык деңгээли жогору эмес жана аны эч ким жасай албайт. Эгерде сизде эски саат жок болсо, жергиликтүү барахолкадан арзан таба аласыз.

Бардык компоненттер арзан баада жана Sparkfun/Aliexpress/eBay/Amazonдо жеткиликтүү.

Бул окуу куралы сиз үчүн кызыктуу болду деп үмүттөнөм жана саатта биринчи көрсөтмөлүү конкурсумду колдоп берсеңиз ыраазы болмокмун.

Сааттар сынагы
Сааттар сынагы
Сааттар сынагы
Сааттар сынагы

Сааттар конкурсунда экинчи орунду ээледи

Сунушталууда: