Мазмұны:

POING! - Arduino аркадты ойыны!: 3 қадам
POING! - Arduino аркадты ойыны!: 3 қадам

Бейне: POING! - Arduino аркадты ойыны!: 3 қадам

Бейне: POING! - Arduino аркадты ойыны!: 3 қадам
Бейне: Minecraft на Unity 2024, Желтоқсан
Anonim
Image
Image
POING! - Arduino аркадты ойыны!
POING! - Arduino аркадты ойыны!

Біз Elegoo Inc. «UNO R3 Project Complete Starter Kit» жинағының бөлшектерін қолданатын PONG стиліндегі аркада ойынын құратын боламыз.

Толық ақпаратты ашу - Нұсқаулыққа берілген бөлшектердің көбін авторға Elegoo Inc. берген.

Мен LED Matrix модулінің көмегімен жоба құрғым келді. Негізгі 8x8 светодиодты дисплей матрицадағы жеке жарықдиодты адрестеу үшін қосымша ауысу регистрлерін қолдануды талап етеді. Оның орнына бұл жоба MAX7219 8x8 жарықдиодты модулін пайдаланады. Бұл өте қарапайым модуль.

Мен бұл жобаның сымдық қосылыстарының көптігіне байланысты оны НҰСҚАМАЛЫҚ ОРТАҒА деңгей деп санауды ұсынар едім.

Бастайық!

Жабдықтар

Elegoo стартер жинағына қолданылатын бөлшектер (https://rebrand.ly/dvjb3w8)

  • UNO R3 микроконтроллері
  • MAX7219 8x8 жарықдиодты модуль
  • СКД 16x2 дисплей модулі
  • 10K кесу потенциометрі мен тұтқасы
  • Dupont Wires
  • 220R резисторы
  • Пассивті пьезо -дыбыстық сигнал
  • Қуат беру модулі
  • 9V 1A адаптері - БҰҰ 8х8 жарықдиодты модульге жеткілікті ток бере алмайтындықтан қажет
  • Нан тақтасы

Қосымша бөлшектер қажет

2 x 10K сызықтық потенциометр - арзан және eBay, AliExpress, Banggood және т.б.

1 -қадам: тізбекті қосу

Электр тізбегін қосу
Электр тізбегін қосу

Электр схемасына сәйкес тізбекті сыммен қосыңыз. Асықпа. Екі дисплейге көп қосылым қажет.

Схеманың фотосуретінде қуат модулі нан тақтасының сол жағына бекітілгенін және 9В 1А тұрақты ток адаптері қуат модуліне қосылғанын, осылайша жарық диодты матрицасына жеткілікті ток берілетінін ескеріңіз. БҰҰ -дағы 5В түйреуіш пен нан тақтасы арасында байланыс жоқ. БІРАҚ, БҰҰ -дағы GND түйреуіші тақтадағы GND -ге қосылған.

Жұмысыңызды екі және үш рет тексеріңіз.

2 -қадам: Arduino коды

Бұл нұсқаулық сіз Arduino -да бағдарламалауды білетіндігіңізді болжайды.

Қосылған Arduino эскизін жүктеп алыңыз. LedControl кітапханасын Arduino кітапханаларына қосқаныңызға көз жеткізіңіз. Мен Эберхард Фахлдың нұсқасын қолдандым. Кітапханаларды басқару браузерінен MAX7219 іздеңіз, сіз оны тауып орнатасыз.

Pitches.h файлының нобай қалтасында екеніне көз жеткізіңіз. Ол ойындағы дыбыстарды ойнау үшін қолданылады.

Уақыт туралы аздап

Кешіктіру () пәрмені эскизіңіздің орындалуын толық тоқтата тұра отырып, біз эскиздің анимацияға қатысты бөліктерін орындағымыз келген кезде өтетін уақыт кезеңдерін іздейміз. Біз эскиздің бөліктерін орындаудан бұрын дисплейде доптың орнын жаңарту сияқты алдын ала белгіленген уақытты іздейміз.

Ең маңыздысы, delay () пәрмені тек loop () әдісінде орындалады. Ол әдетте басқа әдістерде күткендей орындалмайды. Сонымен, анимацияға байланысты барлық уақыт цикл () әдісінде орындалады.

Мысал:

Біз кейбір «ұзын» типті айнымалыларды және бірнеше логикалық мәндерді анықтаймыз, содан кейін оларды орнатудың соңында орнатамыз ().

bThresh = 80; // шар жаңартулары арасындағы уақыт миллисекундтарда

ballTime = millis (); // ағымдағы жүйелік уақытқа орнатылады

бон = жалған; // - жарықдиодты шамның қосылуы немесе өшуі

ballReturn = жалған; // біз қалақты соққаннан кейін допты қайтарамыз ба?

Допты салуға арналған циклда () бізде:

if ((millis () - ballTime> bThresh) && bon == false) {// егер доп ӨШІРІЛСЕ және жеткілікті уақыт ballOn () өткен болса; // допты жарықдиодты қосыңыз

бон = ақиқат; // доп қазір қосулы

ballTime = millis (); // ballTime ағымдағы уақытқа қалпына келтіріңіз

}

if ((millis () - ballTime> bThresh) && bon == true) {// егер доп ҚОСУЛЫ болса және жеткілікті уақыт өткен болса

ballOff (); // шарды жарықдиодты өшіріңіз

бон = жалған; // доп енді ӨШІРІЛДІ

ballTime = millis (); ballTIme ағымдағы уақытқа қалпына келтіріңіз

}

Бұл ойынды жасаудың көптеген жолдары бар. Бұл тек менің қалауым.

Эскиз толық құжатталған, сондықтан мен оны қалай жұмыс істейтінін білу үшін кодты оқуға шақырамын.

Кодты тексеріңіз, құрастырыңыз және жүктеңіз.

Өз ойын ойнаудан ләззат алыңыз!

3 -қадам: Қорытынды

Қорытынды
Қорытынды
Қорытынды
Қорытынды

Осы жобада пайдаланылатын стартер жинағын ұсынғаны үшін Elegoo Inc компаниясына алғысымды білдіремін. Бұл бөлшектер мен модульдердің үлкен жиынтығы, ол сізді Arduino Maker әлеміне жақындатады.

Ұсынылған: