Съдържание:

Змия на дъска: 3 стъпки (със снимки)
Змия на дъска: 3 стъпки (със снимки)

Видео: Змия на дъска: 3 стъпки (със снимки)

Видео: Змия на дъска: 3 стъпки (със снимки)
Видео: 10 от Най-опасните животни, които се срещат в България 2024, Юли
Anonim
Змия на платка
Змия на платка
Змия на платка
Змия на платка
Змия на платка
Змия на платка

„Имаш ли игри на телефона си?“

"Не точно."

Въведение:

Лесен за управление, лесен за програмиране и увековечен от Nokia 6110, Snake се превърна в любим проект сред инженерите. Той е реализиран във всичко - от LED матрици, LCD, осветление на рафтове и дори прозорци на цели сгради. Ще внедрим Snake на малка дъска и OLED екран. Хората със сигурност са направили по -малки играчи на змии, но това специално използва макет, премахвайки необходимостта от проектиране на печатни платки или спойка.

(Можете просто да направите приложение на телефона си, но ние не правим неща, защото са лесни.)

Предпоставки:

Основно разбиране на схемите, как да създадете макет и здраво разбиране на програмирането в Arduino.

Консумативи

  • Arduino Nano
  • 2 сравнително високи резистора (1 kOhm)
  • Малка дъска
  • 2 бутона
  • 22 AWG жила с твърдо жило
  • 128 x 64 OLED

Това са партньорски връзки на Amazon, така че печеля малко комисионна с всяка продажба. Ако все още нямате тези консумативи и искате да подкрепите моите бъдещи проекти, следвайте тези връзки!:)

Стъпка 1: Платка

Платка
Платка
Платка
Платка
Платка
Платка

За да направим крайния си продукт, очевидно трябва да съберем хардуера, за да програмираме и тестваме нашия проект. Системната диаграма на този проект е доста проста, тъй като включва само общо 4 компонента.

1. Изложете го:

Вземете компонентите си и ги поставете на дъската, като се уверите, че всичко пасва. Визуализирайте какви проводници и щифтове ще използвате и за какви цели. Уверете се, че вашите очаквани проводници не се пресичат, защото това прави по -мека макет. Запишете кои точки ще ви трябват за свързване! Въпреки че това е обикновена схема, тя ще направи живота ви много по -лесен по време на процеса на окабеляване и като цяло. Поради това колко малко е нашето работно пространство, това е изключително важна стъпка.

Бележки:

Тъй като OLED използва шината I2C, трябва да се използват щифтове A4 и A5. Размерът на макета не позволява захранване и заземяване, затова използвах няколко трика, за да накарам всичко да се получи. Положителното напрежение на бутоните се захранва от щифтове D13 и A2. Открих, че щифтовете на Arduino могат не само да подават ток, но и ток за поглъщане, затова използвах A3 като основа за десния бутон. За да увелича максимално пространството на дъската, закачих половината от Nano от дъската и поддържах левите странични щифтове с парче пяна.

2. Свържете го:

С чифт съблекални за тел и прилично количество жица от 22 AWG с твърда жила, спретнато свържете вашите компоненти заедно. Използването на твърдо ядро за изработване на полу-постоянни проекти на макети е от ключово значение, тъй като можете да ги отрежете по дължина, за разлика от джъмперните проводници. Уверете се, че не оставяте много излишна дължина върху проводниците си, това ще направи разхвърляна дъска. Подрежете проводниците на издърпващите се резистори, така че да се впишат в равнината с платката.

(Можете също така просто да следвате това, което направих по -горе.)

Стъпка 2: Програма и тест

Програма и тест
Програма и тест

За да си спестите главоболие по -късно, уверете се, че OLED и бутоните работят както трябва, като създадете основни тестови програми.

1. План, план, план:

Просто скачането право в кода не е мъдра практика. Повярвайте ми, опитах! Ето защо трябва да очертаете как ще работи вашата програма. Диаграмата на програмата е доста солиден начин да планирате какво трябва да прави вашият код и определено ще ви държи на път. Вземете моя например (по -горе)

2. Код, код, код:

Честно казано, този проект е по -голямо програмиране, отколкото хардуерно упражнение. Единствената библиотека, която използвах, беше OLED библиотеката на Adafruit, без да се включват поддържащите GFX и Wire библиотеки.

Накарайте да инсталирате OLED библиотеката на Adafruit чрез библиотечния мениджър на Arduino IDE.

Не мога да документирам всеки ред код, който написах, но ето няколко съвета:

Съвети:

Коментари:

- На първо място, пишете спретнати и полезни коментари, докато кодирате. Бъдещите вие и други, които четат вашия код, определено ще ви благодарят.

Памет:

- С по -сложни проекти като тези, SRAM става доста гореща стока. В библиотеката Adafruit, OLED буферът 128 x 64 заема само 1 kB, което е около половината от паметта в ATMega328p. Следователно интелигентното управление на паметта е по -важно от всякога.

- При големи структури от данни съхраняваните данни ще се натрупват и ще заемат много място. За да намаля паметта на паметта на моите променливи, използвах по -малки типове данни (като къси и байтове), когато можех.

- Низовете обикновено се съхраняват в SRAM, но използването на функцията F () вместо това ще ги постави в PROGMEM, спестявайки ценна памет.

Милис:

- За да постигнете по -точно време на циклите на играта, използвайте функцията millis (). Има много добри уроци и примери онлайн.

Предварително дефинирайте:

- Използвайте директивата #define препроцесора като лесен начин за задаване на постоянни стойности в кода.

Тест:

- Тествайте кода си, докато вървите. Ще бъде много по -лесно да премахнете грешки.

Стъпка 3: Насладете се

Забавлявайте се с новата си игра със змии!

(Знам, че спечелих при 20 точки във видеото по -горе, можете да зададете по -високо условие за печалба в моя код.)

Неща за разширяване:

  • Батерия за преносимост
  • По -сигурни бутони
  • Още по -малка игра със змии
  • Още игри?

Препоръчано: