Taula de continguts:

Consola de mà Arduino Pong: 6 passos (amb imatges)
Consola de mà Arduino Pong: 6 passos (amb imatges)

Vídeo: Consola de mà Arduino Pong: 6 passos (amb imatges)

Vídeo: Consola de mà Arduino Pong: 6 passos (amb imatges)
Vídeo: DIY Arduino Handheld Game Console! 2024, De novembre
Anonim
Consola de mà Arduino Pong
Consola de mà Arduino Pong

DFRobot es va posar en contacte amb mi recentment, volent que fes servir la seva placa Arduino Nano i OLED especials. Al principi volia crear una bicicleta intel·ligent i la vaig construir en la seva totalitat. Però, per desgràcia, el Nano era massa feble per executar i emmagatzemar l'esbós massiu que calia. Així que vaig decidir tornar a visitar un dels meus projectes anteriors, una matriu de Neopixel que funcionava amb un joc de Pong. En el seu lloc, volia fer-lo portàtil i un OLED d’1,7 polzades seria una pantalla perfecta.

Llista de peces:

  • Arduino nano
  • OLED
  • Altaveu

Pas 1: vídeo

Image
Image

Pas 2: dissenyar el joc

Disseny del joc
Disseny del joc

Per a aquest joc de Pong, volia que fos relativament senzill, la qual cosa significava algorisme de reflexió de pàdel controlat per ordinador nociu o pilota de fantasia. Bàsicament, hi ha una única pala que un usuari pot moure cap amunt o cap avall i fer que la pilota xoqui amb la pala faria que el seu vector d’eix x es capgiri. Cada vegada que es colpeja la pilota, es produeix un so. Quan el dispositiu del joc està engegat, apareix una pantalla amb el títol i les instruccions del joc. A més, la meva mare va crear una petita cançó temàtica que queda en segon pla fins que es prem el botó superior.

Pas 3: dissenyar el dispositiu de joc

Disseny del dispositiu de joc
Disseny del dispositiu de joc
Disseny del dispositiu de joc
Disseny del dispositiu de joc
Disseny del dispositiu de joc
Disseny del dispositiu de joc
Disseny del dispositiu de joc
Disseny del dispositiu de joc

El meu programa d’accés a CAD és Fusion 360, així que vaig decidir utilitzar-lo per dissenyar el meu dispositiu de jocs de pong. Vaig començar dissenyant cada component utilitzat: un OLED, Arduino Nano i un altaveu, d’aquesta manera puc veure exactament on i com haurien d’adaptar-se cada component a l’interior del recinte. Després he posat el Nano i el PCB a la part posterior de la caixa i l’OLED a sobre. A continuació, es va preguntar on col·locar l’altaveu i els botons. Vaig decidir que l’altaveu de 3W podia passar just per sota de la pantalla (mirant-lo des de la part superior) i això també requeria posar una “graella” sobre l’altaveu per tal que el so no quedés apagat. Per últim, he afegit dos botons a la part esquerra per afegir controls.

Pas 4: construcció del dispositiu

Construcció del dispositiu
Construcció del dispositiu
Construcció del dispositiu
Construcció del dispositiu
Construcció del dispositiu
Construcció del dispositiu

Vaig començar imprimint en 3D cada part, que consistia en la meitat inferior, la meitat superior i 2 botons. A continuació, vaig soldar una capçalera femenina fins als 4x6cm i la vaig connectar al Nano. Això no només permet eliminar fàcilment l’OLED, sinó que també l’eleva per sobre de l’Arduino Nano. Consulteu l’esquema per obtenir informació sobre el cablejat. Després vaig connectar els dos botons, juntament amb una senzilla placa micro USB per obtenir energia. També es va connectar l’altaveu i el va col·locar en la seva posició correcta. El disseny My Fusion 360 permet cargols de la màquina de 3 mm per mantenir premut l'OLED, l'altaveu i connectar les dues meitats del dispositiu. Però, calia fer-les exactes, de manera que vaig utilitzar la broca per perforar vuit forats: 2 per a l’altaveu, 2 per a la pantalla i 4 per sota. Podeu visitar l'enllaç Thingiverse dels fitxers.

Pas 5: programació del joc

L’ús d’una interfície senzilla era vital per mantenir el programa petit. Vaig començar afegint diverses biblioteques: Adafruit_GFX, Adafruit_SSD1351 i la biblioteca Arduino Timer. A continuació, vaig definir els meus pins i colors, com ara els pins de l'OLED i les definicions de colors de 16 bits. Al meu codi també hi ha 4 maneres de canviar la manera de jugar del joc, com ara canviar les dimensions de la pala i la rapidesa amb què es mou la pilota. Aleshores existeix una secció on es defineix cada variable, inclosa la puntuació i diverses coordenades. Sempre que el dispositiu s'encén una imatge d'una pilota i apareix text a la pantalla, juntament amb una petita cançó temàtica que es defineix anteriorment al codi. Una vegada que comença el joc es creen dos temporitzadors, un que actualitza el pàdel i l’altre actualitza la pilota. Cada vegada que la posició de la pilota actualitza les seves coordenades es comprova que no passa del límit de la pantalla o si toca una paleta. Cada vegada que rebota, s’inverteix el seu eix x o y i es reprodueix un to petit. Mireu el vídeo al començament d’aquest escrit per veure com funciona el joc.

Pas 6: jugar a Pong

Jugant a Pong!
Jugant a Pong!
Jugant a Pong!
Jugant a Pong!
Jugant a Pong!
Jugant a Pong!
Jugant a Pong!
Jugant a Pong!

El nom del joc és obtenir la puntuació més baixa possible. No hi ha límit de temps, de manera que és molt agradable i fins i tot indueix al tràngol. Tot el que cal és prémer un dels dos botons per moure la paleta cap amunt o cap avall. També és possible afegir una manera d’emmagatzemar la puntuació més alta mitjançant la EEPROM d’Arduino.

Recomanat: