Sommario:
- Passaggio 1: costruire il caso
- Passaggio 2: costruzione del meccanico flipper
- Passaggio 3: posizionare i muri
- Passaggio 4: aggiunta dei blocchi punteggio
- Passaggio 5: aggiunta del contatto Game Over
- Passaggio 6: perforazione dei fori per i cavi
- Passaggio 7: cablaggio di tutto
- Passaggio 8: caricamento del codice
Video: Arduino: Flipper: 8 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Dato che ho sempre amato sia i flipper che l'elettronica, ho deciso di costruire il mio flipper. Ho scelto Arduino per la programmazione e l'elettronica, perché è una piattaforma altamente accessibile, compatta e facile da usare.
In questa guida spiegherò il mio processo di sviluppo, quindi forse uno di voi appassionati potrebbe creare qualcosa di simile.
Passaggio 1: costruire il caso
Cominciamo con il caso del flipper. Ho fatto una costruzione abbastanza semplice. Ho segato una piastra inferiore e ho usato 4 minuscoli pilastri di legno negli angoli per collegare i pezzi del muro. La dimensione della tua custodia è una tua scelta, ho scelto di renderla un po' più piccola di un flipper originale perché non avevo intenzione di aggiungere extra super spettacolari per riempire lo spazio. Ho usato sia le viti che la colla per rendere la custodia il più stabile possibile. Sul retro ho praticato due fori nel pezzo del pavimento per le due gambe che daranno al flipper l'iconica inclinazione. Ancora una volta, l'altezza delle gambe dipende da te. Più alte sono le gambe, più velocemente la palla rotolerà (verso il basso).
Passaggio 2: costruzione del meccanico flipper
Poiché volevo limitare il costo di questo progetto, ho deciso di realizzare pinne completamente meccaniche anziché elettroniche. Se sei interessato alle pinne elettroniche, puoi usare una costruzione che è in qualche modo la stessa, ma con un cosiddetto "solenoide" collegato (i solenoidi con potenza sufficiente per controllare le pinne erano troppo costosi per me).
Ho iniziato praticando due fori nella parte inferiore per il punto di rotazione di entrambe le pinne. Ho praticato i fori (secondo me) un po' troppo vicini l'uno all'altro, e questo ha reso il gioco un po' troppo facile alla fine. Quindi fai attenzione a non posizionare le pinne troppo vicine l'una all'altra, a meno che tu non voglia uno stile di gioco semplice.
Ho anche praticato due fori in entrambe le pareti laterali paralleli ai fori delle pinne. Questi fori devono essere utilizzati per i due pulsanti flipper.
Ho usato le molle per riportare le alette nella posizione originale e ho realizzato una costruzione girevole tra le alette e i pulsanti per farle ruotare quando vengono premuti i pulsanti. Per impedire alle molle di tirare troppo indietro le pinne, ho posizionato due viti per tenere le pinne nella loro posizione originale.
Passaggio 3: posizionare i muri
Ho posizionato un paio di muri per reindirizzare il flipper verso le pinne. Sono molto semplici da realizzare. Pratica semplicemente 3 fori nella parte inferiore della custodia e inserisci tre perni di legno. Avvolgi un elastico attorno ai perni e il gioco è fatto.
Passaggio 4: aggiunta dei blocchi punteggio
I blocchi punteggio sono una delle parti più cruciali del flipper, quindi assicurati di eseguire correttamente questa parte. Ho creato tre blocchi di punteggio per il mio flipper, ma anche questo dipende da te.
Ho segato un pezzetto di un manico di scopa e ci ho avvolto intorno del filo di rame. L'arduino alimenterà costantemente questo filo di rame con 5V. Ho saldato quattro molle della penna ai lati per un migliore contatto con la palla.
Il modo in cui funzionano i blocchi punteggio è che la pallina completa un circuito che porta a un pin di input sull'Arduino. Quindi quello che ho fatto è stato fissare un foglio di alluminio sul fondo del case (NON TOCCARE IL RAME) e collegare il foglio a un perno sull'Arduino. Ogni volta che la pallina colpisce sia il rame che l'alluminio, il circuito è completo e Arduino riceverà un segnale.
Ho collegato tutti i blocchi di punteggio insieme utilizzando il foglio di alluminio, ma tieni presente che il lato adesivo NON conduce elettricità.
Passaggio 5: aggiunta del contatto Game Over
Nella parte inferiore del flipper, tra le pinne, ho aggiunto un contatto game over. Ogni volta che la palla colpisce questo contatto, il giocatore perderà una palla. La costruzione che ho realizzato è molto simile ai blocchi di punteggio. Solo qui ho usato due viti, e di nuovo un pezzo di foglio di alluminio sul fondo.
Passaggio 6: perforazione dei fori per i cavi
Prima di iniziare a collegare tutto ad Arduino, dobbiamo prima praticare un paio di fori per i cavi. Ho praticato un foro attraverso entrambi i pezzi di foglio di alluminio, quindi un foro nel foglio di alluminio vicino ai blocchi di punteggio e un foro nel foglio di alluminio vicino al gioco oltre il contatto.
Oltre a questo, ho anche praticato un foro in basso a sinistra, tra le pareti, per il cavo che porta alla porta a sfera supplementare Servo.
Dovrebbe esserci anche un foro per il cavo collegato al display LCD nella parte inferiore.
Passaggio 7: cablaggio di tutto
Ho realizzato questo schema per avere una panoramica migliore di dove dovrebbero andare tutti i cavi. Le croci sono i punti di collegamento dei cavi. Ho cercato di saldare il più possibile per rendere tutto un po' più stabile e affidabile. Il cablaggio richiederà un po' di tempo, ma dopo averlo fatto ci sei quasi!
Passaggio 8: caricamento del codice
Carica il seguente codice sul tuo Arduino per dare vita al tuo flipper!
// Include la libreria per l'LCD
#include #include
// Inizializza i pin dati lcd
LCD a cristalli liquidi (7, 8, 9, 10, 11, 12);
// Crea un servo
Servo ballGateServo;
// Crea variabili per i pin che stiamo usando
int gameoverPin = 6; int scorePin = 5; int altoparlantePin = 4; int ballGateServoPin = 3;
// Inizializza le variabili di gioco per il flipper
punteggio int = 0; punteggio int = 500; bool highscoreReached = false; int palline = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
//esegui questo codice una volta al primo frame
void setup() { // Imposta il pinMode per i pin che stiamo usando pinMode(gameoverPin, INPUT); pinMode(scorePin, INPUT);
// Inizializza l'LCD dando la larghezza e l'altezza
lcd.begin(16, 2);
// Attacca il servo della porta a sfera al perno appropriato
ballGateServo.attach(ballGateServoPin);
// Riporta il servo del cancello alla posizione di partenza
ballGateServo.write(0); }
// Esegui questo codice ogni singolo frame
void loop() { // Cattura gli input del pin int gameoverState = digitalRead(gameoverPin); int scoreState = digitalRead(scorePin);
// Aggiungi al punteggio se l'input viene ricevuto
if (scoreState) { tone(speakerPin, 1000); punteggio += 10; } else { noTone(4); }
// Sottrai dalle palline se viene attivato il box gameover
if (gameoverState e !gameoverTriggered) { balls -= 1; gameoverTriggered = vero; gameoverTimer = gameoverTimerDuration; }
// Avvia il timer del gameover non appena la palla non tocca il contatto del gameover
if (!gameoverState) { if (gameoverTimer >= 1) { gameoverTimer -= 1; } else { gameoverTriggered = false; } }
// Fa lampeggiare il testo del gameover sull'affissione a cristalli liquidi e reimposta il punteggio e le palline
if (palline <= 0) { lcd.setCursor(0, 0); for (int i = 5; i>= 1; i--) { lcd.clear(); ritardo(250); lcd.print("GIOCO FINITO"); lcd.setCursor(0, 1); lcd.print("Riprova?"); ritardo(250); } lcd.clear(); punteggio = 0; ballGateServo.write(0); highscoreReached = falso; palline = 3; }
if (punteggio > record e !highscoreReached) {
lcd.setCursor(0, 0); for (int i = 5; i >= 1; i--) { lcd.clear(); ritardo(250); lcd.print("NUOVO PUNTEGGIO MIGLIORE"); lcd.setCursor(0, 1); lcd.print("Morte improvvisa!"); ritardo(250); } lcd.clear(); palline = 1; ballGateServo.write(120); punteggio migliore = punteggio; highscoreReached = vero; }
// Aggiorna il punteggio più alto se il punteggio corrente è più alto
if (punteggio > punteggio massimo) { punteggio massimo = punteggio; }
// Imposta il cursore sulla riga 0
lcd.setCursor(0, 0); // Stampa il punteggio (massimo) corrente sull'LCD if (score <= 0) { lcd.print("Highscore: " + String(highscore) + " "); } else { lcd.print("Punteggio: " + Stringa(punteggio) + " "); }
// Imposta il cursore sulla riga 1
lcd.setCursor(0, 1);
// Stampa la quantità corrente di palline sull'LCD
lcd.print("Palle: " + String(palline)); }
Consigliato:
Il flipper Arduino che funziona da solo!: 13 passaggi (con immagini)
Arduino Pinball Machine That Playsself!: "Un flipper che gioca da solo, non gli toglie tutto il divertimento?" ti sento chiedere. Forse se non ti piacciono i robot autonomi potrebbe. Io, invece, mi occupo molto di costruire robot in grado di fare cose interessanti, e questo qui
Flipperkonsole per PC Flipper / Flipper Console per PC Flipper: 9 passaggi
Flipperkonsole per PC Flipper / Flipper Console per PC Flipper: Questa è una base USB Spielkonsole per PC-Flipperkästen. Die Spannungsversorgung erfolgt über das USB Kabel. Implementato tra i pulsanti Flipper e un pulsante Start. Zusätzlich ist ein stossen von unten, von links und von rechts implem
Flipper da tavolo che utilizza Evive - Piattaforma incorporata basata su Arduino: 18 passaggi (con immagini)
Flipper da tavolo che utilizza Evive - Piattaforma incorporata basata su Arduino: un altro fine settimana, un altro gioco emozionante! E questa volta non è altro che il gioco arcade preferito da tutti: il flipper! Questo progetto ti mostrerà come creare facilmente il tuo flipper personale a casa. Tutto ciò di cui hai bisogno sono i componenti di Evive
Come smontare un computer con semplici passaggi e immagini: 13 passaggi (con immagini)
Come smontare un computer con semplici passaggi e immagini: questa è un'istruzione su come smontare un PC. La maggior parte dei componenti di base sono modulari e facilmente smontabili. Tuttavia è importante che tu sia organizzato al riguardo. Questo ti aiuterà a non perdere parti e anche a rendere più facile il rimontaggio
Sesame Street - Orologio con conteggio numeri di flipper: 8 passi (con immagini)
Sesame Street - Orologio per il conteggio dei numeri di flipper: questa guida illustrerà la costruzione di un orologio personalizzato. Mentre questa è specificamente la costruzione dell'orologio presente in Sesame Street; l'animazione Pinball Number Counting, le procedure generali sono le stesse e le istruzioni