Taula de continguts:
- Pas 1: construir el cas
- Pas 2: construcció del mecànic Flipper
- Pas 3: col·locació de les parets
- Pas 4: afegir els blocs de puntuació
- Pas 5: afegir el contacte Over Game
- Pas 6: perforació dels forats del cable
- Pas 7: cablejar-ho tot
- Pas 8: càrrega del codi
Vídeo: Arduino: Pinball Machine: 8 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Com que sempre m’han encantat les màquines de pinball i l’electrònica, vaig decidir construir la meva pròpia màquina de pinball. Vaig triar Arduino per a la programació i l'electrònica, perquè és una plataforma molt accessible, compacta i fàcil d'utilitzar.
En aquesta guia explicaré el meu procés de desenvolupament, de manera que potser un de vosaltres entusiastes pugui crear alguna cosa igual.
Pas 1: construir el cas
Comencem pel cas de la pinball. Vaig fer una construcció bastant senzilla. Vaig serrar una placa inferior i vaig utilitzar 4 diminuts pilars de fusta a les cantonades per connectar les peces de la paret. La mida de la teva funda és la teva pròpia elecció, he decidit fer-la una mica més petita que una màquina de pinball original, ja que no pensava afegir extres súper espectaculars per omplir l'espai. Vaig utilitzar cargols i cola per fer que la caixa fos el més estable possible. A la part posterior vaig perforar dos forats a la peça del terra per a les dues potes que donarien a la màquina de pinball la inclinació icònica. De nou, l'altura de les cames depèn de vosaltres. Com més altes feu les cames, més ràpidament rodarà la pilota (cap avall).
Pas 2: construcció del mecànic Flipper
Com que volia limitar el cost d’aquest projecte, vaig decidir fabricar aletes totalment mecàniques en lloc d’unes electròniques. Si us interessen les aletes electròniques, podeu fer servir una construcció que sigui una mica la mateixa, però amb un anomenat "solenoide" connectat (els solenoides amb prou potència per controlar les aletes eren massa cars per a mi).
Vaig començar perforant dos forats a la part inferior per obtenir el punt de pivot de les dues aletes. Vaig perforar els forats (al meu parer) una mica massa a prop l'un de l'altre, i això va provocar que el joc fos una mica massa fàcil al final. Així que tingueu cura de no col·locar les aletes massa a prop, tret que vulgueu un estil de joc fàcil.
També he perforat dos forats a les dues parets laterals paral·leles als forats de les aletes. Aquests forats s’utilitzaran per als dos botons d’aleta.
Vaig fer servir molles per tornar les aletes a la posició original i vaig fer una construcció pivotant entre les aletes i els botons per fer-les girar quan es pressionen els botons. Per evitar que les molles tiressin massa enrere les aletes, vaig col·locar dos cargols per mantenir les aletes en la seva posició original.
Pas 3: col·locació de les parets
Vaig col·locar un parell de parets per redirigir el pinball cap a les aletes. Són molt senzills de fer. Simplement foradeu 3 forats a la part inferior de la caixa i introduïu-hi tres passadors de fusta. Emboliqueu una goma al voltant dels passadors i heu acabat.
Pas 4: afegir els blocs de puntuació
Els blocs de puntuació són una de les parts més crucials de la màquina de pinball, així que assegureu-vos de fer aquesta part bé. Vaig fer tres blocs de puntuació per a la meva màquina de pinball, però de nou tot això depèn de vosaltres.
Vaig tallar un tros petit d’un pal d’escombra i vaig embolicar-hi filferro de coure. L’arduino alimentarà aquest fil de coure constantment amb 5V. Vaig soldar quatre molles de llapis al costat per millorar el contacte amb la pilota.
La manera com funcionen els blocs de puntuació és que la pilota completa un circuit que condueix a un pin d'entrada a l'Arduino. Llavors, el que vaig fer va ser cinta de paper d'alumini a la part inferior de la caixa (NO TOCAR EL COURE) i connectar el paper d'alumini fins a un passador de l'Arduino. Sempre que la pilota colpeja tant el coure com l'alumini, el circuit es completa i l'Arduino rebrà un senyal.
Vaig connectar tots els blocs de puntuació junts mitjançant el paper d'alumini, però tingueu en compte que el costat enganxós NO condueix electricitat.
Pas 5: afegir el contacte Over Game
A la part inferior de la màquina de pinball, entre les aletes, hi vaig afegir un joc sobre el contacte. Sempre que la pilota toca aquest contacte, el jugador perdrà una pilota. La construcció que vaig fer és molt semblant als blocs de puntuació. Només aquí vaig fer servir dos cargols i, de nou, un tros de paper d'alumini a la part inferior.
Pas 6: perforació dels forats del cable
Abans de començar a connectar-ho tot a l’Arduino, primer hem de practicar un parell de forats per als cables. He forat un forat a través de les dues peces de paper d'alumini, de manera que un forat al paper d'alumini a prop dels blocs de puntuació i un forat al paper d'alumini a prop del joc per contacte.
A més d'això, també he perforat un forat a la part inferior esquerra, entre les parets, per al cable que conduïa a la porta de bola addicional Servo.
També hi hauria d’haver un forat per al cable connectat a la pantalla LCD a la part inferior.
Pas 7: cablejar-ho tot
He fet aquest esquema per tenir una millor visió general d’on haurien d’anar tots els cables. Les creus són els punts on es connecten els cables. Vaig intentar soldar el màxim possible perquè tot fos una mica més estable i fiable. El cablejat trigarà una estona, però després d’haver-ho acabat ja esteu a punt.
Pas 8: càrrega del codi
Pengeu el següent codi al vostre Arduino per fer que la vostra màquina de pinball estigui activa.
// Incloeu la biblioteca del lcd
#include #include
// Inicialitzeu els pins de dades lcd
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Crea un servo
Servo ballGateServo;
// Creeu variables per als pins que estem utilitzant
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Inicialitzeu les variables de joc de la màquina de pinball
puntuació int = 0; int highscore = 500; bool highscoreReached = false; boles int = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
// executeu aquest codi una vegada al primer marc
void setup () {// Estableix el pinMode per als pins que fem servir pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Inicialitzeu el lcd donant l'amplada i l'alçada
lcd.begin (16, 2);
// Connecteu el servo de la porta de la bola al passador adequat
ballGateServo.attach (ballGateServoPin);
// Restableix el servo de la porta a la posició inicial
ballGateServo.write (0); }
// Executeu aquest codi cada marc
void loop () {// Captura les entrades de pin int gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Afegeix a la partitura si es rep l'entrada
if (scoreState) {to (speakerPin, 1000); puntuació + = 10; } else {noTone (4); }
// Resteu de les boles si es desencadena el pou de joc
if (gameoverState i! gameoverTriggered) {boles - = 1; gameoverTriggered = cert; gameoverTimer = gameoverTimerDuration; }
// Inicieu el temporitzador de la partida tan aviat com la pilota no toqui el contacte de la partida
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer - = 1; } else {gameoverTriggered = false; }}
// Parpelleja el text del joc a la pantalla LCD i restableix la puntuació i les boles
if (boles <= 0) {lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); retard (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Voleu tornar a provar?"); retard (250); } lcd.clear (); puntuació = 0; ballGateServo.write (0); highscoreReached = false; pilotes = 3; }
if (puntuació> puntuació més alta i! puntuació màxima assolida) {
lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); retard (250); lcd.print ("NEW HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Mort sobtada!"); retard (250); } lcd.clear (); pilotes = 1; ballGateServo.write (120); puntuació màxima = puntuació; highscoreReached = true; }
// Actualitzeu la puntuació màxima si la puntuació actual és més alta
if (puntuació> puntuació màxima) {puntuació màxima = puntuació; }
// Estableix el cursor a la línia 0
lcd.setCursor (0, 0); // Imprimiu la puntuació actual (alta) al lcd si (puntuació <= 0) {lcd.print ("Puntuació màxima:" + Cadena (puntuació màxima) + ""); } else {lcd.print ("Puntuació:" + Cadena (puntuació) + ""); }
// Estableix el cursor a la línia 1
lcd.setCursor (0, 1);
// Imprimiu la quantitat actual de boles al lcd
lcd.print ("Boles:" + Corda (boles)); }
Recomanat:
Màquina de pinball Arduino que es juga a si mateixa: 13 passos (amb imatges)
Màquina de pinball Arduino que es juga a si mateixa: " Una màquina de pinball que es juga a si mateixa, no li treu tota la diversió? &Quot; T’escolto preguntar. Potser si no us agraden els robots autònoms, sí. Jo, però, em dedico molt a construir robots que puguin fer coses interessants, i aquest
Controlador de teclat de bricolatge per MAME i pinball virtual: 4 passos (amb imatges)
Controlador de teclat de bricolatge per a MAME i pinball virtual: aquest conjunt d’instruccions us permet fabricar el vostre propi controlador de teclat utilitzant teclats antics per al cost d’un cable, soldadura i un tros de fusta. Aquests controladors s’han utilitzat en els meus projectes MAME i Virtual Pinball . Vegeu Virtual Pinball Inst
Màquina de pinball de sobretaula que utilitza el format incrustat basat en Evive- Arduino: 18 passos (amb imatges)
Màquina de pinball de sobretaula que utilitza el format incrustat Evive-Arduino: un altre cap de setmana, un altre joc emocionant. I aquesta vegada, no és altre que el joc d’arcade preferit de tothom: Pinball. Aquest projecte us mostrarà com fer la vostra pròpia màquina Pinball fàcilment a casa. Tot el que necessiteu són components de l’evive
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge
Sesame Street: rellotge de nombres de pinball: 8 passos (amb imatges)
Sesame Street: rellotge de recompte de números de pinball: aquest instructiu descriu la construcció d’un rellotge personalitzat. Tot i que es tracta específicament de la construcció del rellotge que apareix a Sesame Street; l'animació de Pinball Number Counting, els procediments generals són els mateixos i la instrucció