Мазмуну:

Multi-Timer W/ Тышкы башкаруу: 13 кадам
Multi-Timer W/ Тышкы башкаруу: 13 кадам

Video: Multi-Timer W/ Тышкы башкаруу: 13 кадам

Video: Multi-Timer W/ Тышкы башкаруу: 13 кадам
Video: 10 убеждений, от которых НЕОБХОДИМО отказаться 2024, Ноябрь
Anonim
Multi-Timer W/ Тышкы башкаруу
Multi-Timer W/ Тышкы башкаруу

Бул Instructable долбоору көп функциялуу Таймердин курулушу

Бул таймер төмөнкүдөй иштей алат:

  1. Тандалма убактысы 1 секунддан +90 саатка чейинки жалпы ойготкуч. Добуш берүү жана/же тышкы түзмөктү башкаруу менен аяктаганга чейин саноо бар, андан кийин сигналдан кийинки убакытты эсептөөчү көрсөткүч.
  2. Уйку таймери, тандалуучу 7 убакыт, артка саноо жана аяктоодо ойготкуч.
  3. 4 тандалма жолу бар медитация таймери, кайра эсептөө жана аяктоодо кыска чырылдоо, 5 мүнөттөн кийин башка чырылдоо менен эсептөө.

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

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

Мен такта түзгөндө, мен көбүнчө компоненттердин дизайнында же жайгашуусунда кемчиликтер бар экенин байкайм, мен курган такталар дагы эки өчүрүүнүн бири. Мындан тышкары, мен проектин башынан аягына чейин бардык аспектилерине катышкым келет. Бул Gerber файлдарын чет өлкөгө өндүрүш үчүн жөнөтүүнүн ордуна, өзүмдүн жеке такталарымды жасоонун бир нече себептери. Балким, мен карып калып, жолдорума такалып калгандырмын. Бул долбоор бул жактуулукту чагылдырат. Мен өздүк тактайларды жасагандыктан, менин дизайндарым жана Гербер файлдарым өндүрүш стандарттарына жооп бербейт, мен бул файлдарды кошкон жокмун. Тактайларды чийип, бүтүрүүнү каалабагандар өздөрүнүн дизайнын даярдап, комментарийлер бөлүмүнө Gerber файлдарын жайгаштыра алышат. Сураныч, постторуңузду өндүрүүдөн мурун текшерүүдөн өткөрүңүз.

1 -кадам: Аппараттык элементтерге сереп

Аппарат 4 AAA батарейкасы менен иштейт жана Arduino Pro Mini 5V менен башкарылат.

Кичинекей ызылдак/динамик үн сигналын берет.

Миниатюралык 5v релеси тышкы түзмөктөргө көзөмөл чыңалуусун камсыздайт. Ийкемдүүлүк бул көзөмөлдөө чыңалуусунун булагында камсыздалат.

Баскыч баскычы бар ротациялык кодер менюну тандоону камсыз кылат.

OLED дисплейи жана убактылуу баштоо/токтотуу которгучу колдонуучу интерфейсин толуктайт.

Кошумча электрондук жабдыктар тышкы түзүлүштөргө туташуу үчүн SPDT кубат которгучунан жана миниатюралык телефон уячасынан турат.

Мындан тышкары, бул долбоордо сизге жардам берүүчү файлдар берилет:

3D басылган проектинин STL файлдары.

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

Схемалык жана такта сүрөттөрү менин дизайнымды өзгөртүүнү каалагандар үчүн шилтеме катары.

Электрондук тактаны кантип жасоо мисалы катары эки тараптуу схемаларды түзүү боюнча менин Нускамамды карап чыгууну кааласаңыз болот.

2 -кадам: Программаны карап чыгуу

Arduino баштапкы файлдары менен бирге, пайдалуу болушу мүмкүн болгон кээ бир кошумча маалыматтар.

Жеткиликтүү болгондо аппараттык көзөмөл китепканалары колдонулат (баскычты түшүрүү, OLED көзөмөлү, айлануучу коддогучту окуу).

Программа цикл функциясында коммутатор катары коддун аткарылышын көзөмөлдөө үчүн жөнөкөй чектүү мамлекеттик машинаны (FSM) ишке ашырат.

Меню классы OLEDде көрсөтүлгөн варианттарды тандоого жана айлануучу коддогучту колдонуп тандоого мүмкүндүк берүү үчүн аныкталган.

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

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

Программа структурасынын элементтеринин ар кандай түрлөрү, анын ичинде:

  • Кээ бир аппараттык көзөмөлдөө функцияларын жана өзгөрмөлөрдү изоляциялоо үчүн бир нече код өтмөгү.
  • Мамлекеттик маанини (FSM) жана башкаруучу өзгөрмөлөрдү коюу үчүн билдирүүлөрдү которуңуз.
  • Структуранын аныктамасы
  • Мамлекеттик баалуулуктарды текст катары ыйгарууга уруксат берүү үчүн саноолор.
  • #аппараттык пин жана стандарттык баалуулуктар үчүн процессорго чейинки аныктамаларды аныктаңыз.

3 -кадам: Бөлүктөрдүн тизмеси

Корпусту түзүү
Корпусту түзүү

Мен бул кадамды кайда коюшум керек экенин билбедим, анткени аны дээрлик бардык убакта жасаса болот. Мен 3D басылган коробканы колдондум. Сиз 3D принтерге кире албайсыз же алюминий куту, лазердик пластик, колго оюлган жыгач же электрондук долбоорлоруңуз үчүн колдонгон башка түрдөгү корпустун башка түрүн артык көрүшүңүз мүмкүн. Мен STL файлдарын үстүнкү, астынкы, айлануучу коддогуч баскычы жана OLED алкагы үчүн коштум. Принтериңизге gcode файлдарын түзүү үчүн бул файлдарды жана сиз тандаган кескичти колдонуңуз.

Мен бардык бөлүктөрдү PLA жип менен басып чыгарам, үстүнкү жана астыңкы корпустун бир түсү, дагы бир туткасы менен капкагы үчүн карама -каршы (үстүнө жабыштырылган.) -бурчтук бурамаларды таптоого жана кесилген тамгаларды окууга "колдоо жок" орнотууга уруксат берүү үчүн алты бурчтукту кеминде 35% толтуруу. Мен кутучаны принтерлеримдин "нормалдуу" катмар бийиктиги менен басып чыгардым.

9 -кадам: Дизайн жана жазуу коду

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

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

Төмөндөгү комментарийлер бул процессти түшүнүүгө жардам бериши мүмкүн.

  • Комментарийлер- Сиз бара жатканыңызда кеңири комментарий жазыңыз - мен код жазардан мурун комментарийлерди көп жазам.
  • Бөлүү жана багынтуу - функцияларды, класстарды жана модулдарды колдонуу (өтмөктөр.) Синтаксисти текшерүү үчүн тез -тез компиляцияларды (Текшерүү) колдонуңуз. Мүчүлүштүктөрдү оңдоо - Протоколдорду колдонуп, агымды текшерип, баалуулуктарды жана аппараттык интерфейстерди текшериңиз. Кыйынчылыктарды чечүүдөн коркпоңуз, эч ким катасыз код жазбайт!
  • Туруктуулар - #define алдын ала компилятор көрсөтмөлөрү пин номерлерине аттарды ыйгарат. Комментарийлер менен Const өзгөрмөлүү аныктамалары "Сыйкырдуу" сандарды азайтат же жок кылат. Программанын же функциянын башында жайгашкан константаларды колдонуу кодду кайра жазбастан параметрлерди өзгөртүүгө мүмкүндүк берет
  • Алдын ала аныкталган китепканалар - Алдын ала аныкталган китепканаларды колдонуу программалоо жүгүн жана мүчүлүштүктөрдү оңдоо убактысын кыскартат.
  • Дизайн блоктору - Функциялардын жардамы менен түзүлгөн, кодду өзүнчө өтмөктөрдө (байланышкан программалар жана. Файлдар), саноолорду, класстарды жана структураларды бөлүү. Коддун калган бөлүгүнө карата кандай иштээрин түшүнүү үчүн ар бириңизге көңүл буруңуз.
  • Мамлекеттик машина (лар) - Бул Arduinos же чыгармаларды көзөмөлдөө же кириштерге жооп берүү үчүн колдонулган ар кандай программалар менен сонун иштеген программалоо үлгүсү. Мамлекеттик машиналардын бир нече даамдары бар. Бул код цикл функциясындагы switch операторуна негизделген мамлекеттик машинаны колдонот. Бул форманы түшүнүү жана оңдоо оңой.
  • Дисплей жана менюлар - OLED чыгарылышы эки ача, бирок жөнөкөй колдонуучулар үчүн жетиштүү пикир берет жана опцияны тандоону колдойт. Бул мамлекеттик машина менен жакшы интеграцияланган (дээрлик бардык штаттарда OLED экраны бар). Меню классы менюнун параметрлерин көрсөтүү жана тандоо үчүн кодду бөлүп алууга жардам берди

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

10 -кадам: Программаны орнотуңуз

Тиркелген файлды компьютериңизге көчүрүп, эскиздер каталогуна ачыңыз

Ардуинону компьютериңизге туташтырыңыз жана программанын кодун кадимкидей эле жүктөп алыңыз. Программанын иштеп жаткандыгын текшерүү жана мүчүлүштүктөрдү оңдоого жардам берүү үчүн Arduino IDE сериялык мониторун ачыңыз.

11 -кадам: Таймерди чогултуңуз

Таймерди чогултуңуз
Таймерди чогултуңуз
Таймерди чогултуңуз
Таймерди чогултуңуз
Таймерди чогултуңуз
Таймерди чогултуңуз
Таймерди чогултуңуз
Таймерди чогултуңуз

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

  1. OLED жана кабель
  2. Баштоо/токтотуу жана зымдарды которуу
  3. Ротари коддоочу жана кабель
  4. Динамик / Бузер жана зым
  5. Тышкы башкаруу уячасы жана зымдар
  6. Күйгүзүү/Өчүрүү слайд которгучу жана зымдары (эки жолу текшерүү, сиз каалаган багытта болушу үчүн

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

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

Корпустун асты ар бир бурчта 4-40 тегерек баштуу машинанын бурамаларын колдонуу менен чокуга туташат. Үстүнкү төрт тешикти 4/40 кран менен тапташ керек же эгерде 4-40 жип салынган болсо, аларды кабыл алуу үчүн тешиктерди бургулашыңыз керек болот. Негизги схеманын түбүнө орнотулуучу 4 тешикти да бургулоо керек. Бул тактаны батыраак батарейкага жабыштырып, тешиктердин жайгашкан жерлерин белгилеңиз. Монтаж бурамаларыңызга ылайыктуу түрдө бургулаңыз.

12 -кадам: Интеграциялык тестирлөө

Интеграциялык тестирлөө
Интеграциялык тестирлөө
Интеграциялык тестирлөө
Интеграциялык тестирлөө
Интеграциялык тестирлөө
Интеграциялык тестирлөө

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

13 -кадам: Акыркы ойлор

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

Бул долбоорду көрүүгө жана/же курууга убакыт бөлгөнүңүз үчүн рахмат.

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