Мазмуну:

Arduino Chessclock: 6 кадам
Arduino Chessclock: 6 кадам

Video: Arduino Chessclock: 6 кадам

Video: Arduino Chessclock: 6 кадам
Video: Just Wait For Level 100 😮 2024, Июль
Anonim
Arduino Chessclock
Arduino Chessclock

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

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

Бөлүктөр тизмеси
Бөлүктөр тизмеси

бул жерде сизге керектүү нерселер бар: Arduino nano (же ар кандай UNO түрү жасайт) ширетүүчү темир ширетүүчү ПХБ тактасы же веро тактасы 2 кош AA батарейка кармагычтары 3 X 10k OHM резисторлору сактандыргыч кармагыч 2 Улуук Британиянын сайгычтарынан 2 X 4 цифралуу 7-сегментте дисплейдин ызгары 1 которуштуруу 1 баскычы кичине (түрүн чыгаруу үчүн басыңыз) USB 1 кабели (же сиздин Arduinoңузга эмне туура келсе) микрофиттер жана гайкалар болттору. Бул үчүн мен ebayдеги меккано топтомун утуп алдым жана Casing (милдеттүү эмес) нан жана секирүүчү кабелдерин колдондум (милдеттүү эмес, бирок биринчи прототипке сунушталат), көп убакыт! Мен сүрөт коштум, бирок бул менин курулмамдан кийин тетиктеримде болгон, андыктан айрым компоненттер жок болуп кеткен.

2 -кадам: Прототиптөө

Прототиптөө
Прототиптөө
Прототиптөө
Прототиптөө

Бүтүндөй долбоорду бул бөлүктөргө бөлүүгө болот: 1. схеманы туура алуу 2. программа 3. физикалык жайгашуу Бул кадам милдеттүү эмес, анткени мен сизге схеманы берем, бирок мен сизге аны бир аздан кийин сунуштайм. Нан тактасы - бул сизге керектүү бардык бөлүктөрүңүз бар экенин тастыктайт (же жокпу) жана турак -жайдын же базанын бардык бөлүктөрүнүн физикалык жайгашуусу жөнүндө ойлонууга мүмкүнчүлүк берет. Мен бул жерге нан протоколумдун сүрөтүн жана схеманы тиркеп койдум. Райондогу кээ бир эскертүүлөр: 1. Электр схемасынын жогорку сол жагында дисплейдеги сегменттин (Катоддордун) же цифранын (Аноддор) туташкан пини көрсөтүлөт. 2. Сиз ар бир дисплейде сегменттер (катоддор) башка дисплейдеги тиешелүү сегментке туташкандыгын байкайсыз. Бул дисплей туура цифраларды көрсөтүү үчүн мультиплекстелгендиктен. 3. баскычын кайтаруу жана рокер тийиштүү баскыч басылбаган кезде кирүүнү ТӨМӨН кармап туруу үчүн каршылаштарды ылдый түшүрүү үчүн зым менен жабдылган. бул тууралуу көбүрөөк маалымат алуу үчүн https://www.arduino.cc/en/tutorial/button кара. 4. электр схемасы толугу менен өзүнчө, бирок жөнөкөй. Бул 4 АА батарейкасы өчүргүч менен USB жана USB кабелинин кызыл жана кара түстөрүнө кошулган. USB кабели анда arduinoго кирет.

3 -кадам: Программа

Программа
Программа
Программа
Программа

Аны нан тактасында болгондон кийин контроллерди жазышыңыз керек. Бактыга жараша, мен бул жерге кодумду тиркеп койгом, бирок бул кодду оңдоп -түзөөгө чакырам. Эгерде сиз муну нөлдөн баштап жазгыңыз келсе, адегенде бардык 10 цифраны эмне кылыш керек экенин белгилеңиз, мен андан кийин кошумча 2 моделди коддоп койдум, бири убакыт бүткөндө, бири 10до бирөө сан (сүрөттү караңыз). Кийинки кадам - цифраларды көбөйтүү, андыктан 8 цифранын ар биринде башка номерди же өрнөктү көрсөтө аласыз. Мен мультиплекстин ылдамдыгын туура, өтө тез көрүнгөнгө чейин өзгөрттүм жана сандар коңшу сандар менен өтө жай аралашып кетти жана жөнөкөй көз мультиплекстөөнү байкады. Кийинки кадам - бул сандарды 2 саноону билдирген 4 сандын 2 топтому катары эсептөө. Мен биринчи цифраны мүнөттөргө, кийинки 2 секундага жана акыркы ондуктар үчүн колдонууну чечтим, бирок сиз 2 мүнөткө жана 2 секундага ээ болууну тандасаңыз болот. Артка саноону эч нерсе кылбаган жөнөкөй цикл менен калибрлесе болот, андыктан дисплейдеги "секунда" белгиси чыныгы секунд болот. Мен өзүмө абдан жакындап калдым, бирок ар бир оюнда бирдей бирдик болсо, расмий эмес шахмат оюну үчүн анча деле маанилүү эмес экенин түшүндүм. Мен ойлойм, эгерде шахмат саатын турнирге же жумуртканы убакытка колдонууну кааласаң, тагыраак кылгың келет окшойт! Саат күйгүзүлгөндө баштапкы абалга келет. Андан кийин рокерлердин эки тарапка урулушун күтөт жана (демейки) 5 мүнөттөн баштап эсептейт. Рокер салмактуу болгондо, код баштапкы абалга келтирүү баскычын угат. эгер ал басылса, саат кайра баштапкы абалга келет. Бул учурда, баштапкы абалга келтирүү баскычы 1ден 10го чейин ар бир оюн үчүн каалаган мүнөттөрдү айландыруу үчүн колдонулушу мүмкүн. Каалаган убакыт көрсөтүлгөндө рокерди кайра баштоо үчүн саатты баштоого болот. акырында сизге убакыт бүткөнүн көрсөтүү үчүн бир нерсе кылышыңыз керек, менин учурда ал бардык сызыктарды көрсөтөт (-) жана бир катар биптерди ойнотот, андан кийин бир жагын 0000 (утулган), экинчи жагын каалаган убакта көрсөтөт жеңүүчү тарабынан колдонулган эмес.

4 -кадам: Физикалык курулуш

Физикалык курулуш
Физикалык курулуш

Кийинки этап - бул физикалык курулуш. Рокер алмаштыргыч Биринчи бөлүк рокер алмаштыргычты куруу. Бул которуштуруучу эки байланыштын бирин жабышы керек, бирок экөө тең эч качан. Ошондой эле ал эч кандай байланышты жаппаган ортосунда тең салмакта болушу керек. Бул саатты тындырат. Бул жерде мен кичинекей узундуктагы жыгачты колдонуп, Улуу Британиянын жерге төөнөгүчүн эки четине бурап алдым. Андан кийин рокерди тактан көтөрүү үчүн ортосуна бурулуш курулат. Дагы мен бул үчүн ebay мекканомду кеңири колдондум. Рокер тактага орнотулганда, жерге туташтыргычтар туташууну жабуу үчүн сактандыруучу кармагычтын клиптерине кириши керек. Муну жылмакай сезүү үчүн, мен жер казыктарынын четтерин түшүрдүм, ошондуктан сактандыргыч кармагычка кирип кетүү оңой болот (сүрөттү кара). которуу. Андан кийин мен аны кайра чечип, ошол эле боштук менен тетиктерди жана зымдарды туташтырдым. Эгерде сиз муну жасабасаңыз, анда пайда болгон такталарды базанын перспективасына кайра бекитүү кыйын болуп калышы мүмкүн. Макетти алгач кагазга түшүрүп, эсиңизде болсун: - корпустун ар бир рокеринин "өйдө" жагы канчалык бийик болорун - батарейка кармагычтар жана Arduino USB порту сыяктуу кээ бир компоненттер аяктагандан кийин жеткиликтүү болушу керек - Эгерде которгучтар корпустун капкагына орнотулушу керек, андан кийин капкагын толугу менен алып салуу үчүн зымдарын бириктиргичтерге туташтырыңыз. (меники гана шарнирге ээ, бирок мен муну баары бир жасадым) - Мен 7 -сегментти дисплейлерди бир жагындагы казыктарды зым менен узартуу менен кыйшайтып койдум. аягында менде жетиштүү убакыт болгон жок жана перспективаны кесүү кыйын, ошондуктан мен керектүү өлчөмдөгү кутуну сатып алдым жана аны бир аз өзгөртүп койдум. Менимче, тунук корпустун болушу жакшы, ошондуктан иштөөнү көрүүгө болот, бирок батарейкалар менен USB порту программаны өзгөртүү үчүн жеткиликтүү бойдон кала беришин текшериңиз. Мына ошондо көңүл ачып, ийгилик каалайбыз!

5 -кадам: Башка параметрлер …

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

6 -кадам: 2019 жаңыртуу

2019 жаңыртуу!
2019 жаңыртуу!
2019 жаңыртуу!
2019 жаңыртуу!
2019 жаңыртуу!
2019 жаңыртуу!

Ошентип, мен биринчи инструктажыма кайтып келдим жана бул chessclockту кайра жасадым!

Мен ошол эле кадамдарды аздыр -көптүр аткардым, бирок төмөнкү жакшыртуулар менен:

Физикалык курулуш

  • Бүтүндөй түзүлүш жыйнак жана жыгач базада (сүрөттөрдү караңыз)
  • VIN жана GNDге түздөн -түз туташтырылган бир 9v батареясына которулду
  • Рокердик которгуч - бул meccanno, анда супер күчтүү магниттер басылганда, ар бир тарап кармалат.

Code

Мен бул жерде тиркелген кодду дагы жакшырттым. жакшыртуулар болуп төмөнкүлөр саналат:

  • Секунддун 10ун көрсөтүүнү өчүрүп, сандарды оңго жылдырды
  • Артыкчылыктар кошулду. Опциялар катары 5 мүнөт плюс 5 сек/күн жана 10 мүнөт плюс 5 сек кошулду

Дисплейлерди которуштуруу үчүн купе линиялары кошулду (L R), эгер сиз куруудан кийин рокер которгучунун туура саатты баштай албастыгын тапсаңыз

Circuit

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