Мазмуну:

Колдогу Arduino Pong Console: 6 Steps (Сүрөттөр менен)
Колдогу Arduino Pong Console: 6 Steps (Сүрөттөр менен)

Video: Колдогу Arduino Pong Console: 6 Steps (Сүрөттөр менен)

Video: Колдогу Arduino Pong Console: 6 Steps (Сүрөттөр менен)
Video: Домашняя автоматизация: релейный таймер Robojax Arduino V 1.0 2024, Ноябрь
Anonim
Колдогу Arduino Pong Console
Колдогу Arduino Pong Console

Жакында DFRobot мага Arduino Nano атайын тактасын жана OLEDди колдонуумду сурап кайрылды. Башында мен акылдуу велосипед жасагым келип, аны толугу менен жасадым. Бирок, тилекке каршы, Нано өтө алсыз болгондуктан, масштабдуу эскизди иштетүүгө жана сактоого мүмкүн болгон жок. Ошентип, мен мурунку долбоорлорумдун бирин, понг оюнун башкарган Neopixel матрицасын кайра карап чыгууну чечтим. Мен анын ордуна портативдүү кылгым келди, ал эми 1.7 дюймдук OLED мыкты дисплейди жаратмак.

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

  • Arduino nano
  • OLED
  • Баяндамачы

1 -кадам: Видео

Image
Image

2 -кадам: Оюнду долбоорлоо

Оюнду долбоорлоо
Оюнду долбоорлоо

Бул Понг оюну үчүн мен аны салыштырмалуу жөнөкөй болгум келди, бул nocomputer көзөмөлдөгөн калакты же кооз топту чагылтуу алгоритмдерин билдирет. Негизинен, колдонуучу өйдө же ылдый жыла ала турган жалгыз калак бар жана топту калак менен кагылыштыруу анын х огунун векторун оодарып салат. Топ тийген сайын ойногон үн чыгат. Оюн аппараты күйгүзүлгөндө, экранда оюндун аталышы жана көрсөтмөлөрү чыгат. Кошумчалай кетсек, апам кичинекей темадагы ырды жараткан, ал жогорку баскыч басылганга чейин фондо илинип турат.

3 -кадам: Оюн аппаратын долбоорлоо

Оюн аппаратын долбоорлоо
Оюн аппаратын долбоорлоо
Оюн аппаратын долбоорлоо
Оюн аппаратын долбоорлоо
Оюн аппаратын долбоорлоо
Оюн аппаратын долбоорлоо
Оюн аппаратын долбоорлоо
Оюн аппаратын долбоорлоо

Менин CAD программам Fusion 360, ошондуктан мен аны понг оюн түзмөгүмдүн дизайнын колдонууну чечтим. Мен колдонгон ар бир компонентти иштеп чыгуудан баштадым: OLED, Arduino Nano жана динамик. Ошентип, мен ар бир компоненттин корпустун ичине кантип жана кантип туура келерин так көрө алам. Мен андан кийин иштин арткы бөлүгүнө Нано менен ПХБны, ал эми OLEDди үстүнө койдум. Андан кийин динамикти жана баскычтарды кайда коюу керек деген суроо болду. Мен 3W динамиги экрандын ылдый жагына өтүшү мүмкүн деп чечтим (аны өйдө карап), ошондой эле үнү басылбашы үчүн динамиктин үстүнө "гриль" коюу керек. Акырында, мен көзөмөлдү кошуу үчүн сол жагына эки баскычты коштум.

4 -кадам: Түзмөктү куруу

Аппаратты куруу
Аппаратты куруу
Аппаратты куруу
Аппаратты куруу
Аппаратты куруу
Аппаратты куруу

Мен ар бир бөлүктү 3D басып чыгаруу менен баштадым, анын төмөнкү жарымы, жогорку жарымы жана 2 баскыч. Кийинчерээк мен аялдын башын 4х6смге ширетип, аны нано менен байланыштырдым. Бул OLEDди оңой эле алып салууга мүмкүндүк бербестен, аны Arduino Nano нан жогору көтөрөт. Кабелдик маалымат үчүн схеманы текшериңиз. Анан мен эки баскычты, кубаттуулук үчүн жөнөкөй микро USB сындыруучу тактасын коштум. Баяндамачы да тиркелип, туура позициясын койду. My Fusion 360 дизайны 3 мм машина бурамаларына OLED, динамикти кармап турууга жана түзмөктүн эки жарымын туташтырууга мүмкүндүк берет. Бирок, мен аларды такташым керек болчу, ошондуктан мен бургулоочу пресстин жардамы менен 8 тешикти чыгардым: 2 динамик үчүн, 2 экран үчүн жана асты 4. Файлдар үчүн Thingiverse шилтемесине кире аласыз.

5 -кадам: Оюнду программалоо

Жөнөкөй интерфейстин колдонулушу программанын кичинекей болушу үчүн абдан маанилүү болгон. Мен бир нече китепканаларды кошуу менен баштадым: Adafruit_GFX, Adafruit_SSD1351 жана Arduino Timer китепканасы. Кийинчерээк мен OLEDдин төөнөгүчтөрү жана 16 бит түс аныктамалары сыяктуу пинтеримди жана түстөрүмдү аныктадым. Менин кодумда оюндун өзгөрүшүнүн 4 жолу бар, мисалы калактын өлчөмүн өзгөртүү жана топтун ылдамдык менен жылышы. Андан кийин ар бир өзгөрмө аныкталган бөлүм бар, анын ичинде упай жана ар кандай координаттар. Түзмөк топтун сүрөтүн иштеткенде жана экранда кандайдыр бир текст, коддо мурда аныкталган кичинекей тема ыры менен бирге пайда болот. Оюн башталгандан кийин эки таймер түзүлөт, бири калакты жаңыртат, экинчиси топту жаңыртат. Топтун позициясы жаңыртылган сайын, анын координаттары экрандын чек арасынан өтпөй турганына же калакка тийип жатканына текшерилет. Ал секирген сайын анын х же у огу тескери бурулат жана кичинекей обон ойнойт. Оюндун кандай ойногонун көрүү үчүн бул жазуунун башында видеону көрүңүз.

6 -кадам: Понг ойноо

Понг ойноо!
Понг ойноо!
Понг ойноо!
Понг ойноо!
Понг ойноо!
Понг ойноо!
Понг ойноо!
Понг ойноо!

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

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