Мазмуну:

Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонуу: 7 кадам
Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонуу: 7 кадам

Video: Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонуу: 7 кадам

Video: Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонуу: 7 кадам
Video: Python on Hardware weekly video 153 #CircuitPython #Python #MicroPython @Adafruit 2024, Июль
Anonim
Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонот
Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонот
Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонот
Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонот
Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонот
Handxold Arduino Paper Rock Scissors Game 20x4 LCD дисплейин I2C менен колдонот

Баарына салам же балким мен "Салам Дүйнө!" Деп айтышым керек.

Ардуинонун көптөгөн нерселерине менин киришим болгон проектти сиздер менен бөлүшүү абдан кубанычтуу болмок. Бул I2C 20x4 ЖК дисплейин колдонгон Arduino Paper Rock Scissors оюну. Мен билем, сиз: "Дагы бир кагаз рок кайчы оюну?" Бирок Arduino Paper Rock Scissors оюндарынын көпчүлүгүндө жөнөкөй светодиоддор колдонулат, мен дагы сервос көтөргөн кагаз символдорун колдонгонду көрдүм. Булар сонун. Бул долбоор 20х4 ЖК дисплейди колдонот жана I2C менен, экинчисин ансыз аткарган (бул жерде көрсөтүлгөн эмес). Нан тактайынын баш аламандыгы эмес, бүткөн көрүнүшү менен арзан баага муктаж болдум. Баары эле 3D принтерге кире албайт жана кимдир бирөөгө акча төлөгүсү келет. Жана мен башкалар менен ой бөлүшүү үчүн оңой болушун кааладым. Менин программалоо жөндөмүм жаңы деңгээлде болгондуктан, эскиз абдан жөнөкөй жана түшүнүүгө жана оңдоого оңой. Бул эскиз түзүү боюнча менин жеке билимим болчу. Сиз эскизде көптөгөн ноталарды таба аласыз жана ал туура деп эсептегенге чейин көптөгөн, 20 (20+) кайталоолорду басып өткөн. Долбоордун баасы 20 доллардан аз (I2C эмес).

Мен 2018 -жылы Arduino менен иштей баштадым жана алардын веб -сайтын карап чыгып, колумдан келгендин баарын окуп чыктым. Мисал проекттери менен курулган жана эксперимент жүргүзүлгөн жана көптөгөн инструктивдүү нерселерди окугандыктан, көп жылдар бою сиз бөлүшкөн. Аларды чындап баалайбыз жана баарыңыздардан көп нерсени үйрөндүм. Рахмат. Эми мен өзүмдүн чыгармачылыгымды кошуп үйрөнгөн нерселерим менен бөлүшкүм келет. Комментарийлер бөлүмү муну кантип жасоо керектиги жөнүндө көптөгөн суроолорду топтоодон мурун, муну Arduinoдо тажрыйбасы жок эле баштадым. Мен Arduino жана Instructables вебсайттарындагы мисал долбоорлорду куруу аркылуу үйрөндүм. Мен силерден үйрөндүм балдар. Тыгылып калганыңызда, бул сиздин чечүүнү табуунун эң тез жолу болушу мүмкүн.

1 -кадам: Долбоорго киришүү

Долбоордун киришүүсү
Долбоордун киришүүсү
Долбоордун киришүүсү
Долбоордун киришүүсү

Amazonдун LCD дисплейин тандап, I2C 20x4 ЖКны арзан баада (болжол менен $ 12 - $ 18) жана зым менен программалоонун оңойлугунан тандады. Кааласаңыз, I2C жок бирин колдонсоңуз болот жана 7 долларга арзан ала аласыз. Бирок сиз башка китепкананы жана зымдардын схемасын колдонуп, көбүрөөк Arduino казыктарын колдонушуңуз керек болот. Кабатыр болбо, бул эки жакка тең жетиштүү. I2C 20x4 сериясын куруу оңой болмок, азыраак зымдар түшүнүксүз. Бирок параллель 20x4 ЖК 5 долларга жакын арзан. Мен зымдардын экөөнүн тең схемаларын тарттым. Башка бөлүктөрдүн көбүн мен Amazonдон жана жергиликтүү дүкөндөрдөн сатып алдым. Менин кутуча бош каппучино ичимдик аралаштыруучу куту. Мага капкактын кубатты күйгүзүү/өчүрүү, каалаган компоненттерде иштөө же батареяны алмаштыруу оңой эле ачылып кетиши жагат. Жана "Эй!" кутуча бекер болчу жана мага капучино жагат. Пластикти кайра иштетүү айлана -чөйрөгө жакшы. Сиз каалаган нерсеңизди колдонсоңуз болот, баары проекттин кутусуна же нан тактасына туура келет. Мен арзан "долбоордун бүтүшүн" кааладым. Мен кимдир бирөө 3D басылган версиясын жаратат деп ишенем. Arduino сиз менен ЖКда Paper Rock Scissors оюнун ойнойт, упай сактайт, баскычтар менен киргизе аласыз, жана эгер сиз тандасаңыз, алдап кетүүгө мүмкүнчүлүк бар. Башында алдоо функциясы мүчүлүштүктөрдү оңдоо үчүн жазылган жана мен аны бүтүргөндөн кийин мен аны комментарийледим. Жөн эле көңүл ачуу үчүн кайра салып койдум.

2-кадам: Нан-стол

Нан-стол
Нан-стол
Нан-стол
Нан-стол

Мен өзүмдүн схемаларымды Arduino Uno менен нанга отургуздум, бирок анын баарын бириктиргенде Arduino Nano колдонулду, анткени ал кутуга жакшыраак туура келет. Ошентип, сиз муну экөөнүн бири менен кура аласыз. Бирок IDEдеги бир нече орнотууну өзгөртүүнү унутпаңыз. Нано ЖКнын арткы жагына Command Strips же эки тараптуу жабышчаак лента аркылуу орнотулган. Arduino Nano'ду I2C piggyback тактасынын жанына USB туташтыргычы сыртка (ЖКнын оң жагына) каратып кой. Сиз 9v же 4x AA (сизге 6v берет) батарея кутусун колдоно аласыз, ал SPST слайд алмаштыргычы бар, кутунун ичине Command Strips менен орнотулган. Аны эки жол менен курган Arduino, борттогу чыңалуу жөндөгүчүнө ээ, ал аны 5 вольтко түшүрөт. Эгер бул жөнүндө ойлонуп көрсөңүз, анда бул оюн чындыгында "негизинен өлгөн 9v батареяларын" кайра иштетип, жакшы иштей алат. (Сиз түтүн детекторунун батарейкаларын жылына эки жолу алмаштырасыз, туурабы?) 9v батарейканы колдонгон башка түзмөктөр 6-8 вольтто өлгөн деп айтышат; бирок ал "Arduino Dead!" чейин өлгөн эмес.

Долбоорду иштеп чыгууда мен кирүү үчүн 4 SPST баскычын колдондум. Бирок даяр оюнду кутуга салуу 5 SPST баскычын колдонуп, келечекте көбүрөөк баскычтарга муктаж болгон оюн жасоого аракет кылмакмын. Балким лабиринт оюну? Баскычтар үчүн резистордук чыңалуучу бөлүштүргүч протоколдун сыныктарына чогуу орнотулган, аларды Command Strips менен да орнотсо болот.

3 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Ассамблея:

4 негизги жыйын - бул I2C piggyback тактайы бар LCD, Arduino Nano, резисторлор жана өчүргүчтөр бири -бири менен байланышкан прото тактасына жана батарея кутусуна күйгүзүү/өчүрүү менен бекитилген.

Схемага ылайык протоколдун схемасын же катуу зымынан баштоо керек. Мен LCDди тырмап албаш үчүн, аны коробканын капкагына ылдый каратып сактоону жакшы көрөм. Мен протоколдун тактасына туташтыруу үчүн 5v бар Arduinoнун бир тарабында гана баш колдондум. Мен Ардуинодон прото тактасына чейин 3 башы бар (көп жумуштар) көпүрө жасадым, ошондуктан алар ЖКнын арт жагына буйрук тилкелери же эки тараптуу жабышчаак лента менен жатышты. Бирок, чынында, тактайларды биринен экинчисине эле ширетүүчү зымдарды туташтырса болот. Прото тактаны LCD I2Cге туташтыруу үчүн аялдын башын колдонгон. Прото тактасынын резисторунун буттары баскычтардын 5 ширетүүчү пунктун жасоо үчүн колдонулушу мүмкүн. Ар бир баскычтын экинчи буту Arduino пин A0го барат. Ар бир баскычка 2 зым керек болот. Кайсы баскычтын буттарын колдонууну аныктоо үчүн Ом метрин колдонуңуз, бирок жалпысынан сиз жанаша эмес буттар менен ката кете албайсыз (бири -биринен диагоналдуу).

IDEдеги Arduino үчүн жөндөөлөрүңүздү тандаңыз. Эскизди жүктөп алып, Arduinoго жүктөңүз жана сыноо / көйгөйдү чечүү.

Аны кутуга салууга даярсызбы? Капучинонун этикеткасын алып салышты, кутучамды жууп, кургатышты. Көрүнүп тургандай, ЖК үчүн кутучанын тешигин кылдаттык менен өлчөп, кесип алыңыз жана ал үч ЖКнын бурчтук тешиктерине (2 кутунун түбүнө, 1 капкактын жанына) кадалганга чейин жетет. кутунун артына жана сүрүлүү менен ордунда кармаңыз. ЖКдагы бурама тешик piggyback тактайы терминалга өтө жакын болушу мүмкүн, ошондуктан мен аны өткөрүп жиберем. Эксакто бычагы менен дубалдарга бурамалар үчүн пилоттук тешиктерди бургулаш үчүн колдонушкан (этият болгула, тайып кетпегиле жана бычак сайбагыла, кычкачтар менен дубелдерди кармагыла). Акыркы орнотуу үчүн кутуну бир аз ийип / мыш кылыш керек болчу, бирок ал кайра туура калыпка түшөт. Түймөлөрдүн тешиктери "бургуланат", аларды жайгаштыруу (түз сызык менен сызыктарды чийүү) жана кутучаны "ээрип" кеткенге чейин терминалдарды ширетүүчү темир менен жылытуу. Андан кийин баскычтар муздагандан кийин алынып салынат жана 6 " - 9" CAT 5e зым калдыктарына же 18гадан 22га чейин зымдарга кыстарылат. Түймөлөрдү зымды биринчи тешиктерине орнотуп, анан резистордун прото тактасына туташтырыңыз. Супер желим, ысык желим же жөн эле сүрүлүү чекиттери баскычтарды ордунда сактайт. Бир конструкцияда батарейканын коробкасы, резистордук прото тактасы жана ЖК / Arduino жамаатынын ортосундагы акыркы байланышты жеңилдетүү үчүн телефон кабелин бириктиргичтери (тунук пластикалык блоктордогу кызыл чөйрөлөр) колдонулган. Кааласаңыз, анын ордуна ширетүүчү жана жылытуучу каражаттарды колдонсоңуз болот. Андан кийин бардык зымдарды жана компоненттерди кылдаттык менен акырындык менен кутуга түртүп, капкагын жабыңыз. Сиз мунун баарын жасоодон мурун батарейканы орнотуп, Arduino эскизин жүктөдүңүз беле? Ошондой эле сизге Githubдан акысыз жүктөп ала турган 20x4 ЖК дисплейи үчүн I2C менен же ансыз китепкана керек болот (кайсынысын тандайсыз). Аны күйгүзүңүз, сынап көрүңүз жана анын иштээрин көрүңүз. Кийинчерээк мен эскизимди окууну жеңилдетүү үчүн тыныгуулар менен оңдоп койдум, "көз ирмем чекиттер эффектин" жана башка көптөгөн нерселерди, ошондой эле көптөгөн комментарийлерди кошумчаладым. USB дагы туташып, жаңы эскиз жүктөлүп турушу үчүн Arduino -ны жайгаштырууга аракет кылыңыз. Эскизди түзүүдө, албетте, схема колдонулат. Сиз комментарийлерде агым диаграммасынын ар бир блогу кайда болгонун аныктай аласыз.

Сиз баскычтардын бир катар / параллелдүү схемада экенин таба аласыз, бул сиз каалаган Arduino кирүү пинин каалаган баскычка колдонууга мүмкүндүк берет. Район ар бир баскыч басылган окулган маанини өзгөртүп, аналогдук пинге маани берүү үчүн чыңалуу бөлүштүргүч сыяктуу иштейт. Сиз резисторлоруңузга негизделген схема баалуулуктарыңызды аныктоо жана эскиздеги "кабыл алынган баалуулуктарды" өзгөртүү үчүн сериялык мониторду колдоно аласыз.

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

4 -кадам: Программалоо жана Орнотуулар

Программалоо жана Орнотуулар
Программалоо жана Орнотуулар
Программалоо жана Орнотуулар
Программалоо жана Орнотуулар

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

Сиз кээ бир китепканаларды орнотушуңуз керек болот. Сизге Wire.h керек I2C үчүн, LCD.h үчүн LCD, LiquidCrystal_I2C.h I2C көзөмөлдөгөн ЖК үчүн. Сиз ошондой эле буйрукту колдонууңуз керек lcd.begin (20, 4) Arduinoго 20 белгиден турган 4 саптуу ЖКны колдонуп жатканыңызды жана башка жөндөөлөр болушу мүмкүн.

Китепканаларды орнотуу боюнча маалымат алуу үчүн, караңыз:

Arduino IDEде сиз тактаңызды жана ага туташкан портуңузду орнотушуңуз керек болот. Портту компьютериңиздин башкаруу панелинен/түзмөк менеджеринен/Universal Serial Bus контроллерлеринен тапса болот. Сиз кайсы Arduino колдонуп жатканыңызды түшүнүшүңүз керек. Мен Arduino Nano колдонуп жатам, бирок Uno бул үчүн да иштейт. Орнотууларыңызды кылдат тандаңыз.

Сизге I2C дарегиңизди аныктоо керек болушу мүмкүн. Сиз аны тактан секиргендерден түз окуй алышыңыз керек. Ошондой эле I2C сканерин Arduino.cc же https://www.gammon.com.au/forum/?id=10896 жана башка жерлерден жүктөп алсаңыз болот.

Бул жерде сиз программаны Arduinoго жүктөп, анын функционалдуулугун текшеришиңиз керек. ЖК экран күйүп жатабы? Сиз каармандарды окуй аласызбы? Бир жолу мен схеманы курдум, андан кийин жарыкты күйгүзүп көрдүм, бирок белгилер окулбай калды. Туура курулганын текшерүү үчүн жөндөө жана тонирование байланыштарын сынап көрүү үчүн саат туура (HOURS) өттү. Бир -эки күнгө баш тартты. Кийинчерээк кайра келип, piggyback тактасындагы өзгөрүлмөлүү резистор минимумга коюлганын түшүндүм. Аны буруп, каармандар көрүнүп калды. Үстөлгө башын чайкоо. Башыңды столго уруунун дагы бир себеби? Батарейканы алмаштырышыңыз керек болсо, бул өзгөрмөлүү резисторду кайра тууралашыңыз керек болот. Бул болгондо мен кирүү үчүн кутунун артындагы кичинекей тешикти кесип алдым.

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

Баары туура болушу керек болгон кичинекей өзгөрмөлөр көп, сиздики меникинен башкача болушу мүмкүн. Чыдамдуу болуу жана ар кандай нерселерди жасоо сизге өзүңүздүн иштөөңүзгө жардам берет. Ошондой эле Arduino өзгөрмөлөрүңүздү орноткондон кийин эстен чыгарбаңыз (тактанын аталышы, com 3, 5 же башка, процессор жана программист [бардыгы куралдар астында]), сиз алардын баарын жөнгө салып коюшуңуз мүмкүн, бирок ал иштебейт, анткени кайра жүктөө керек. Arduino -ны сууруп, кайра компьютериңизге сайыңыз. Сиз дагы компьютериңизди сактап, кайра жүктөөңүз керек болот.

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

Көңүл ачуу!

5 -кадам: Баскычты окуу эскизи сизге негизги эскизге түзөтүү үчүн каршылаш баалуулуктарыңызды табууга жардам берет. Негизги эскизге кирүү үчүн ар бир баскычты басыңыз жана резистор баалуулуктарыңызды жазыңыз

// баскычын окуу эскизи

жараксыз орнотуу () {

// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн:

Serial.begin (9600);

}

void loop () {

// кайра иштетүү үчүн негизги кодуңузду бул жерге коюңуз:

int buTTon; // Баскычтарды окуу үчүн

buTTon = 0; // Баскычтарды окуу үчүн

buTTon = analogRead (A0); // Командалар Баскычтарды окуу үчүн колдонулат

кечиктирүү (100);

Serial.println (buTTon);

6 -кадам: Тетиктердин тизмеси жана сизге керектүү шаймандар

Амазонкадан бөлүктөрдүн тизмеси:

Arduino Uno же Arduino Nano

20x4 LCD дисплейи I2C менен же жок

9V же 6v батарея кутусу SPST слайд которгучу менен (же слайд которгучун өзүнчө алыңыз)

5x SPST баскычтары

1x тартылуу каршылыгы 1k - 5k

5х резисторлор 1кдан аз, 200 - 500 Ом жакшы

Бөлүктөр тизмелери Башка жерлер же дүкөндөр:

9v же 4x 1,5 вольттуу батарея (9v опциясы "көбүнчө өлүк" батареяларды кайра иштетүүгө мүмкүндүк берет)

Command Strips (толтуруу пакети колдонулат) же эки тараптуу жабышчаак тасма

Телефон кабелин бириктиргичтери (милдеттүү эмес, бирок зымдарды туташтырууну жеңилдетет)

Бир нече дюйм 1/4 дюйм

Дубелдерди ЖКга орнотуу үчүн кичинекей жыгач бурамалар

Solder

18 га зым үчүн жылуулукту кыскартуу

Таштандылар же кайра иштетүү бөлүктөрү:

Бош капучино суусундуктар аралаш кутусу (баарында эле 3D принтери жок, капучиносу бар жана пластикти кайра иштетүү)

Болжол менен 1 "x 2" Proto тактасынын сыныктары, бирок мен Амазонкадан протобордду колдондум

18гадан 22га чейин ар кандай узундуктагы зым же Cat 5e катуу өзөгү

Сизге керектүү куралдар:

Кичинекей Philips бурагычы

Чакан тегиз бурагыч

Exacto Knife

Лампочка жана ширетүүчү

Оор жүк ташуучу кайчы

Ийнелердин кычкачтары

Башкаруучу

7 -кадам: Көбүрөөк маалымат жана негизги эскиз

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

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