Мазмуну:
- 1 -кадам: 1 -кадам: Схемалар
- 2 -кадам: 2 -кадам: Breadboard прототипи
- 3 -кадам: 3 -кадам: Акыркы курулуш
- 4 -кадам: 4 -кадам: Дисплей үчүн сокетти түзүү жана ага бут берүү
- 5 -кадам: 5 -кадам: Райондук платанын зымдарын текшерүү жана калибрлөөгө даярдануу
- 6 -кадам: 6 -кадам: Райондук калибрлөө
- 7 -кадам: 7 -кадам: Arduino программасы
- 8 -кадам: 8 -кадам: PCBWay сунушу
Video: 60 Гц Arduino Сааты: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул Arduino негизделген санариптик саат 60 Гц электр линиясы менен синхрондоштурулган. Бул жөнөкөй жана арзан жалпы анод 4 цифралуу 7 сегменттүү дисплейге ээ, ал сааттарды жана мүнөттөрдү көрсөтөт. Бул 60 Гц синус толкуну нөл чыңалуу чекитинен өтүп, 60 Гц квадрат толкунун алганда аныктоо үчүн детекторду колдонот.
Кыска убакыт аралыгында электр линиясынан келген синус толкунунун жыштыгы жүктөмдөн улам өтө аз айырмаланышы мүмкүн, бирок узак убакыт ичинде орточо 60 Гцке чейин абдан так. Биз муну пайдаланып, саатыбызды мезгилдештирүү үчүн убакыт булагын ала алабыз.
1 -кадам: 1 -кадам: Схемалар
Трансформаторду борбордук кран менен колдонууну каалай тургандыгыңызга жараша схеманын эки версиясы бар, экөөнүн тең схемасы дээрлик бирдей. Бул курулуш үчүн мен 12В ACны чыгаруучу дубал адаптерин колдондум (борбордук кран жок). Мен бул дизайнды (Digital Clock1 Circuit Diagram) схеманы сүрөттөө үчүн колдоном. Белгилей кетүүчү нерсе, биз 12В AC эмес, 12V DC чыгаруучу дубал адаптерин колдонуу маанилүү, ошондуктан биз AC синус толкунуна убакытты киргизе алабыз. Сиз, балким, 9В ACны чыгаруучу трансформаторду колдонсоңуз болот, R19ду алып салат жана аны иштетет, бирок 12V абдан кеңири таралган. Бул схема кантип иштейт:
60 Гцтеги 120В AC трансформатор TR1 менен 12V ACга айландырылат. Бул диод D4 менен азыктанат жана C3 конденсатору аркылуу +вольтту гана вольт менен камсыздап, болжол менен DCге тегиздейт. C3 чыңалуусу R19 каршылыгы аркылуу 7805 чыңалуу жөндөгүчүнө (U6) берилет. R19 менин учурда болжол менен 15VDC ченелген C3 боюнча чыңалуусун азайтуу үчүн колдонулат. Бул 7805 тарабынан жөнгө салынышы мүмкүн, бирок бул деңгээлде 7805 болжол менен 10VDC түшүп кетиши керек жана натыйжада абдан ысыйт. Чыңалууну болжол менен 10VDCге түшүрүү үчүн R19ду колдонуу менен U6 өтө ысып кетишине жол бербейбиз. Ошентип, бул кубатты конверсиялоонун эффективдүү ыкмасы эмес, бирок биздин максаттар үчүн иштейт. ЭСКЕРТҮҮ: бул жерде жок дегенде 1/2W каршылыгын колдонуңуз. Район болжол менен 55 ма тартат, андыктан R19да электр энергиясынын таралышы P = I ** 2*R же P = 55ma x 55ma x 120 ohms = 0.363W негизиндеги болжол менен 1/3W түзөт. Кийинки U6 5V электр линиясындагы ар кандай ызы -чууну чыпкалоо үчүн C4 жана C5 менен таза 5V DC чыгарат. Бул 5V DC борттогу бардык ICлерди кубаттайт. TR1ден биз чыпкаланбаган AC сигналынын үлгүсүн алып, аны детектордун үстүнөн өтүү деңгээлин тууралоо үчүн колдонулган RV1 потенциометрине беребиз. R18 жана R17 AC чыңалуусунун деңгээлин андан ары төмөндөтүү үчүн чыңалуу бөлүштүргүчтү түзөт. Бул 12В ACда келип жатканын эстен чыгарбоо керек жана биз аны 5Втан төмөндөтүшүбүз керек, ал биздин детектор аркылуу гана иштейт. 5VDC менен иштейт. R15 жана R16 учурдагы чектөөнү камсыз кылат, ал эми D1 жана D2 оп-амп U5ти ашыкча айдоону болтурбоо үчүн арналган. Көрсөтүлгөн конфигурацияда U5тин 1 -пиндеги чыгышы +5V менен 0Vнын ортосунда алмашып турат, кирген синус толкуну оңдон терске өзгөргөн сайын. Бул U4 микроконтроллерине берилүүчү 60 Гц квадрат толкунду жаратат. U4 жүктөлгөн программа анда 60 Гц квадрат толкунду колдонуп, саатты мүнөтүнө жана саатына көбөйтөт. Бул кантип жасалат программалык камсыздоо бөлүмүндө жана программалык комментарийлерде талкууланат. U7 74HC595 сменалык реестри колдонулат, анткени бизде микропроцессордо санарип төөнөгүчтөрдүн саны чектелүү, ошондуктан ал өндүрүштөрдүн санын кеңейтүү үчүн колдонулат. Биз микропроцессордо 4 санарип төөнөгүчтү колдонобуз, бирок 74HC595 аркылуу дисплейдеги 7 сегментти башкара алабыз. Бул микроконтроллерде сакталган жана көрсөтүлө турган ар бир цифраны көрсөтүүчү биттердин алдын ала белгиленген үлгүлөрүн нөөмөт реестрине которуу аркылуу ишке ашат. Бул жерде колдонулган дисплей кадимки анод, андыктан сегментти иштетүү үчүн 74HC595тен чыккан сигналдын деңгээлин тескери бурушубуз керек. Сегментти күйгүзүү керек болгондо, 74HC595 чыгаруу түйүнүнөн чыккан сигнал +5В болот, бирок ал дисплей сегментин күйгүзүү үчүн анын дисплейде 0В болуп турушу керек. Андыктан муну жасоо үчүн бизге U2 жана U3 алты бурчтуу инверторлору керек. Тилекке каршы, бир инвертор IC 6 гана инверсияны башкара алат, ошондуктан биз экөөнө керекпиз, бирок экинчисинде биз 6 дарбазанын бирин гана колдонобуз. Тилекке каршы ысырапкорчулук. Сиз эмне үчүн бул жерде жалпы катод түрүндөгү дисплейди колдонуп, U2 жана U3 жок кылбайсыз деп сурашыңыз мүмкүн? Мейли, сиз кыла аласыз, менин бөлүктөрүмдө жалпы аноддун түрү бар. Эгерде сизде жалпы катоддук дисплей болсо же U2 жана U3 өчүрүлсө жана Q1 - Q4 кайра өткөрүлсө, транзистордук коллекторлор дисплей казыктарына туташып, транзистордук эмитенттер жерге туташат. Q1 - Q4 төрт 7 сегменттүү дисплейлердин кайсынысы активдүү экенин көзөмөлдөйт. Бул Q1 - Q4 транзисторлорунун базасына туташкан казыктар аркылуу микроконтроллер тарабынан көзөмөлдөнөт. Көбөйтүү жана орнотуу баскычтары, саатты иш жүзүндө колдонууга келгенде, туура сааттык убакытты кол менен коюу үчүн колдонулат. Орнотуу баскычы басылганда, көбөйтүү баскычын дисплейде көрсөтүлгөн сааттарда басуу үчүн колдонсо болот. Орнотуу баскычы кайра басылганда, көбөйтүү баскычы дисплейде көрсөтүлгөн мүнөттөрдү басып өтүү үчүн колдонулушу мүмкүн. Орнотуу баскычы үчүнчү жолу басылганда, убакыт коюлат. R13 жана R14 бул баскычтар менен байланышкан микроконтроллердин төөнөгүчтөрүн колдонбогондо төмөн тартып алышат. Белгилей кетчү нерсе, бул жерде биз U4 (Atmega328p) типтүү Arduino UNO прототип тактасынан алып, аны схеманын калган бөлүгү менен прототип тактасына койдук. Бул үчүн биз минимумда кристалл X1ди жана C1 жана C2 конденсаторлорун микроконтроллер үчүн саат булагы менен камсыз кылуу үчүн, 1 -пинди, баштапкы абалга келтирүүчү пинди, бийик жана 5VDC кубатын камсыз кылышыбыз керек.
2 -кадам: 2 -кадам: Breadboard прототипи
Сиз схеманы так схемада көрсөтүлгөндөй куруп жатканыңызга же бир аз башкача трансформаторду, дисплейдин түрүн же башка компоненттерди колдонуп жатканыңызга карабастан, анын иштешин камсыз кылуу жана анын кандай иштээрин түшүнүү үчүн биринчи кезекте схеманы панелге салыңыз.
Сүрөттөрдөн көрүүгө болот, баардык нерсени пансионатка алуу үчүн бир нече такталар, ошондой эле Arduino Uno тактасы талап кылынат. Ошентип, микроконтроллерди программалоо же эксперимент жүргүзүү же программалык камсыздоого өзгөртүүлөрдү киргизүү үчүн, адегенде микроконтроллер IC БУУнун тактайында керек болот, ошондо ага USB кабелин туташтырып, программаны жүктөө же программалык камсыздоону өзгөртүү үчүн. Сиз сааттын нандын үстүндө иштеп, микроконтроллериңизди программалагандан кийин, аны сууруп, прототип тактасындагы акыркы курулган туруктуу саатыңыздын розеткасына туташтырсаңыз болот. Муну аткарууда антистатикалык чараларды сактоону унутпаңыз. Микропроцессор менен иштөөдө антистатикалык билекти колдонуңуз.
3 -кадам: 3 -кадам: Акыркы курулуш
Район #30 AWG зым оролуучу зымды колдонуп, прототип тактасына жана зымдуу чекитке курулган. Бул катаал жана ишенимдүү натыйжаны камсыз кылат. Менде болгон трансформатор кабелдин учунда эркектин 5мм штепсели бар болгондуктан, мен тууралоо үчүн 1/2 дюймдук жалпак алюминий тилкесин кесүү, бүгүү жана бургулоо аркылуу тийиштүү ургаачыны тактанын артына орнотуп койгом. кичине 4-40 гайкалар жана болттор менен тактага бекиттиңиз. Сиз жөн эле туташтыргычты үзүп, калган электр зымдарын тактага кошуп, 20 мүнөттөн ашык убактыңызды үнөмдөсөңүз болот, бирок мен трансформатордун биротоло тиркелишин каалабадым. тактага.
4 -кадам: 4 -кадам: Дисплей үчүн сокетти түзүү жана ага бут берүү
Дисплейде 16 казык бар, алардын ар бир тарабында 8, стандарттуу 16 пиндүү IC розеткасынан кененирээк болгон, биз розетканын өлчөмүн дисплейге ылайыкташтырып тууралашыбыз керек. Сиз муну жуп кескичтердин жардамы менен, оюктун эки жагын бириктирген пластикти үзүп, бөлүп, дисплейдеги казыктардын аралыгына дал келген аралык менен тактага өзүнчө ширетүү менен жасай аласыз. Дисплей казыктарына түздөн -түз ширетип, дисплейди ашыкча ысыкка чыгарбоо үчүн муну жасоо пайдалуу. Жогорудагы сүрөттө тактанын үстүндө мен муну кылган розетканы көрө аласыз.
Дисплейдин туура турушу үчүн мен сүрөттөрдө көрсөтүлгөндөй прототип тактасынын астындагы эки бурчтук тешигине эки 1 болтту бекитип койдум. аны турукташтыруу үчүн болттун артына оор нерсе салгыңыз келет.
5 -кадам: 5 -кадам: Райондук платанын зымдарын текшерүү жана калибрлөөгө даярдануу
Райондук такта зымга туташтырылгандан кийин, бирок ICдерди же дисплейди туташтыруудан мурун, тактанын туташуусун DVM менен текшерүү жакшы. Көпчүлүк DVMлерди үзгүлтүксүздүк болгондо сигнал бере тургандай кылып орното аласыз. DVM'иңизди ушул режимге коюп, анан схемаңызга ылайык, мүмкүн болушунча көбүрөөк райондук байланыштарды текшериңиз. +5V менен Ground пункттарынын ортосунда ачык схеманы же ага жакын жерди текшериңиз. Визуалдык түрдө бардык компоненттер туура казыктарга туташтырылганын текшериңиз.
Андан кийин трансформаторуңузду чынжырга туташтырып, аны кубаттаңыз. Сизде кандайдыр бир IC же дисплейди туташтыруудан мурун, 5V электр рельсинде масштабы же DVM менен 5V DC бар экендигин текшериңиз. Кийинки плагинге кийинки кадамга даярдануу үчүн ТЕК OP-Amp U5 IC кошулсун. Бул жерде биз кайчылаш схемабыз төрт бурчтуу толкун жаратып жаткандыгын текшеребиз жана потенциометрди 60 Гц таза сигналга тууралайбыз.
6 -кадам: 6 -кадам: Райондук калибрлөө
Жалгыз калибрлөө - детектордун үстүнөн өтүүчү сигналдын туура деңгээлине RV1 потенциометрин тууралоо. Мунун эки жолу бар:
1. U5тин 1 -пинге масштабдуу иликтөөнү койгула жана масштабдуу зонддун зымын райондук жерге туташтыргыла. Кийинки сүрөттө көрсөтүлгөндөй таза квадрат толкуну пайда болгонго чейин RV1ди тууралаңыз. Эгерде сиз RV1ди өтө алысыраак туураласаңыз же анда квадрат толкуну же бурмаланган квадрат толкуну болбойт. Чарчы толкунунун жыштыгы 60 Гц экендигине ынангыла. Эгерде сизде заманбап масштаб болсо, анда ал сизге жыштыгын айтат. Эгерде сизде мен сыяктуу байыркы чөйрө болсо, анда квадрат толкун мезгили болжол менен 16.66ms же 1/60 сек. 2. Frequency режиминдеги жыштык эсептегичти же DVMди колдонуу U5тин Pin 1деги жыштыкты өлчөп, RV1ди так 60 Гцке тууралаңыз. Бул калибрлөө аяктагандан кийин, схеманы өчүрүп, схеманын курулушун аяктоо үчүн бардык ICлерди жана дисплейди сайыңыз.
7 -кадам: 7 -кадам: Arduino программасы
Программа толугу менен комментарийленген, андыктан ар бир кадамдын чоо -жайын биле аласыз. Программанын татаалдыгына байланыштуу ар бир кадамды сүрөттөө кыйын, бирок абдан жогорку деңгээлде ал кантип иштейт:
Микропроцессор 60 Гц келген төрт бурчтуу толкунду кабыл алат жана 60 циклди эсептейт жана ар бир 60 циклден кийин секунда сайын көбөйөт. Секунддардын саны 60 секундага же 3600 циклге жеткенде, мүнөттөрдүн саны көбөйтүлөт жана секунда саны нөлгө кайтарылат. Мүнөттөрдүн саны 60 мүнөткө жеткенде сааттардын саны көбөйтүлүп, мүнөт саны нөлгө кайтарылат. сааттын саны 13 сааттан кийин 1ге кайтарылат, ошондуктан бул 12 сааттык саат. Эгерде сиз 24 сааттык саатты кааласаңыз, программаны 24 сааттан кийин нөлгө кайтаруу үчүн өзгөртүү. Бул эксперименталдык долбоор, ошондуктан мен Set жана Increment баскычтарындагы секирүүнү басуу үчүн Do-while циклин колдонууга аракет кылдым. Бул абдан жакшы иштейт. Орнотуу баскычы бир жолу басылганда, көбөйтүү баскычын дисплейде көрсөтүлгөн сааттарга өтүү үчүн колдонсо болот. Орнотуу баскычы кайра басылганда, көбөйтүү баскычы дисплейде көрсөтүлгөн мүнөттөрдү басып өтүү үчүн колдонулушу мүмкүн. Орнотуу баскычы үчүнчү жолу басылганда, убакыт белгиленип, саат иштей баштайт. 7 сегменттүү дисплейде ар бир санды көрсөтүү үчүн колдонулган 0 жана 1 үлгүлөрү Seven_Seg деп аталган массивде сакталат. Учурдагы саат убактысына жараша, бул үлгүлөр 74HC595 ICге берилип, дисплейге жөнөтүлөт. Бул маалыматты алуу үчүн дисплейдин 4 цифрасынын кайсынысы болбосун бир убакта күйгүзүлөт, микропроцессор тарабынан Dig 1, 2, 3, 4 казыктары аркылуу башкарылат. Район күйгүзүлгөндө, программа адегенде Test_Clock деп аталган сыноо тартибин иштетет, ал туура сандарды ар бир дисплейди жарыктандыруу үчүн 0дөн 9га чейин санап турат. Ошентип, эгер сиз муну күйгүзгөндө көрсөңүз, анда сиз баарын туура кургандыгыңызды билесиз..
8 -кадам: 8 -кадам: PCBWay сунушу
Ушуну менен бул билдирүү аяктайт, бирок бул долбоордун демөөрчүсү PCBWay, ал учурда 5 жылдык юбилейин белгилеп жатат. Https://www.pcbway.com/anniversary5sales.html дарегинен текшерип көрүңүз жана алардын монтаждоо кызматы азыр 30 долларга чейин төмөн экенин унутпаңыз.
Сунушталууда:
DIY Arduino Christmas сааты: 4 кадам (сүрөттөр менен)
DIY Arduino Рождество сааты: Рождество! Жакында Elegoo мага Arduino R3 эң толук башталгыч комплекттери менен жаңы жылдык тематикалык долбоорду түзүү үчүн кайрылды. Алардын комплектиндеги компоненттердин жардамы менен мен жаңы жылдык тематикалык саатты түзө алдым
NEO-6M модулун колдонуу менен жергиликтүү убакыт менен Arduino GPS сааты: 9 кадам
NEO-6M модулун колдонуу менен жергиликтүү убакыт менен Arduino GPS сааты: Бул үйрөткүчтө биз спутниктерден arduino аркылуу учурдагы убакытты кантип алууну үйрөнөбүз. Видеону көрүңүз
Arduino 7 сегменттик сааты: 4 кадам
Arduino 7 Segment Clock: Бул үйрөткүч сизге Arduino 7 сегментинин саатын кантип жасоону көрсөтөт. Бирок, мен муну жөн эле программалоо үчүн жана көңүл ачуу үчүн жасадым. Эгер олуттуу саат жасоону кааласаңыз, сиз сактай турган rtc модулун колдоно аласыз. убакыттын рекорду. сиз колдоно аласыз
Өз алдынча Arduino 3.3V W / Тышкы 8 МГц сааты Arduino Uno аркылуу ICSP / ISP аркылуу программаланат (Сериялык мониторинг менен!): 4 кадам
Автономдуу Arduino 3.3V W / External 8 MHz Clock Arduino Uno программасынан ICSP / ISP аркылуу программаланат (Сериялык мониторинг менен!): Максаттары: 8 МГц тышкы сааттан өчүрүүчү 3.3Вда иштеген автономдуу Arduino куруу. Аны ISP аркылуу программалоо (ошондой эле ICSP катары белгилүү), Arduino Uno (5V менен иштеген) жүктөөчү файлды түзөтүү жана күйгүзүү үчүн
Gixie Сааты: Эң сонун Glow Tube Сааты: 4 кадам
Gixie Сааты: Эң сонун Glow Tube Сааты: Мага Nixie Tube абдан жагат, бирок ал өтө кымбат, мен аны көтөрө албайм. Ошентип, мен бул Gixie Саатын түзүүгө жарым жыл сарптадым. Gixie Сааты акрил жарыгын жасоо үчүн ws2812 жарыктандыруу аркылуу ишке ашат