Table des matières:
- Étape 1: Élaboration du dossier
- Étape 2: Construire le mécanisme du batteur
- Étape 3: Placer les murs
- Étape 4: Ajout des blocs de score
- Étape 5: Ajout du contact Game Over
- Étape 6: perçage des trous de câble
- Étape 7: Tout câbler
- Étape 8: Téléchargement du code
Vidéo: Arduino : Flipper : 8 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Comme j'ai toujours aimé à la fois les flippers et l'électronique, j'ai décidé de construire mon propre flipper. J'ai choisi Arduino pour la programmation et l'électronique, car c'est une plate-forme très accessible, à la fois compacte et facile à utiliser.
Dans ce guide, je vais expliquer mon processus de développement, alors peut-être que l'un de vous, passionné, pourrait créer quelque chose de similaire.
Étape 1: Élaboration du dossier
Commençons par le cas du flipper. J'ai fait une construction assez simple. J'ai scié une plaque inférieure et utilisé 4 minuscules piliers en bois dans les coins pour relier les pièces murales. La taille de votre boîtier est votre propre choix, j'ai choisi de le rendre un peu plus petit qu'un flipper d'origine car je n'avais pas l'intention d'ajouter des extras super spectaculaires pour remplir l'espace. J'ai utilisé des vis et de la colle pour rendre le boîtier aussi stable que possible. À l'arrière, j'ai percé deux trous dans le sol pour les deux pieds qui donneront au flipper l'inclinaison emblématique. Encore une fois, la hauteur des jambes dépend de vous. Plus vous faites les jambes hautes, plus la balle roulera vite (vers le bas).
Étape 2: Construire le mécanisme du batteur
Comme je voulais limiter le coût de ce projet, j'ai décidé de fabriquer des palmes entièrement mécaniques au lieu d'électroniques. Si vous êtes intéressé par les batteurs électroniques, vous pouvez utiliser une construction qui est un peu la même, mais avec un soi-disant « solénoïde » connecté (les solénoïdes avec suffisamment de puissance pour contrôler les batteurs étaient trop chers pour moi).
J'ai commencé par percer deux trous dans le fond pour le point de pivot des deux palmes. J'ai percé les trous (à mon avis) un peu trop près les uns des autres, ce qui a rendu le jeu un peu trop facile au final. Veillez donc à ne pas placer les palmes trop près les unes des autres, à moins que vous ne souhaitiez un style de jeu facile.
J'ai également percé deux trous dans les deux parois latérales parallèles aux trous des nageoires. Ces trous doivent être utilisés pour les deux boutons de flipper.
J'ai utilisé des ressorts pour ramener les nageoires dans leur position d'origine et j'ai fait une construction pivotante entre les nageoires et les boutons pour les faire tourner lorsque les boutons sont enfoncés. Pour empêcher les ressorts de tirer trop loin les palmes, j'ai placé deux vis pour maintenir les palmes dans leur position d'origine.
Étape 3: Placer les murs
J'ai placé quelques murs pour rediriger le flipper vers les palmes. Ils sont très simples à réaliser. Percez simplement 3 trous dans le fond du boîtier et enfoncez trois broches en bois. Enroulez un élastique autour des épingles et le tour est joué.
Étape 4: Ajout des blocs de score
Les blocs de score sont l'une des parties les plus cruciales du flipper, alors assurez-vous de bien faire cette partie. J'ai fait trois blocs de score pour mon flipper, mais encore une fois, tout dépend de vous.
J'ai scié un petit morceau de manche à balai et enroulé du fil de cuivre autour. L'arduino alimentera ce fil de cuivre en permanence avec 5V. J'ai soudé quatre ressorts de stylo sur le côté pour un meilleur contact avec la balle.
La façon dont fonctionnent les blocs de score est que la balle complète un circuit qui mène à une broche d'entrée sur l'Arduino. Donc, ce que j'ai fait, c'est coller du papier d'aluminium sur le fond du boîtier (NE PAS TOUCHER LE CUIVRE) et câbler le papier jusqu'à une broche sur l'Arduino. Chaque fois que la balle frappe à la fois le cuivre et l'aluminium, le circuit est terminé et l'Arduino recevra un signal.
J'ai connecté tous les blocs de score ensemble à l'aide de la feuille d'aluminium, mais gardez à l'esprit que le côté collant ne conduit PAS l'électricité.
Étape 5: Ajout du contact Game Over
Au bas du flipper, entre les palmes, j'ai ajouté un jeu de contact. Chaque fois que la balle touche ce contact, le joueur perd une balle. La construction que j'ai faite est à peu près la même que les blocs de score. Seulement ici, j'ai utilisé deux vis, et encore un morceau de papier d'aluminium sur le fond.
Étape 6: perçage des trous de câble
Avant de commencer à tout câbler jusqu'à l'Arduino, nous devons d'abord percer quelques trous pour les câbles. J'ai percé un trou dans les deux morceaux de papier d'aluminium, donc un trou dans le papier d'aluminium près des blocs de score et un trou dans le papier d'aluminium près du jeu au-dessus du contact.
En plus de cela, j'ai également percé un trou en bas à gauche, entre les murs, pour le câble menant au servo de porte à billes supplémentaire.
Il devrait également y avoir un trou pour le câble connecté à l'écran LCD en bas.
Étape 7: Tout câbler
J'ai fait ce schéma pour avoir une meilleure vue d'ensemble de l'endroit où tous les câbles doivent aller. Les croix sont les points de connexion des câbles. J'ai essayé de souder autant que possible pour que tout soit un peu plus stable et fiable. Le câblage prendra un certain temps, mais après cela, vous y êtes presque !
Étape 8: Téléchargement du code
Téléchargez le code suivant sur votre Arduino pour faire vivre votre flipper !
// Inclut la bibliothèque pour l'écran lcd
#include #include
// Initialiser les broches de données lcd
LiquidCrystal LCD (7, 8, 9, 10, 11, 12);
// Créer un servo
Servo ballGateServo;
// Créer des variables pour les broches que nous utilisons
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Initialisation des variables de gameplay pour le flipper
score entier = 0; score int = 500; bool highscoreReached = false; boules int = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
//exécuter ce code une fois à la première image
void setup() { // Définit le pinMode pour les broches que nous utilisons pinMode(gameoverPin, INPUT); pinMode(scorePin, INPUT);
// Initialise le lcd en donnant la largeur et la hauteur
lcd.begin (16, 2);
// Attachez le servo de porte à billes à la broche appropriée
ballGateServo.attach(ballGateServoPin);
// Réinitialiser le servo de portail à la position de départ
ballGateServo.write(0); }
// Exécutez ce code à chaque image
void loop() { // Capture les entrées des broches int gameoverState = digitalRead(gameoverPin); int scoreState = digitalRead(scorePin);
// Ajouter au score si une entrée est reçue
if (scoreState) { tone(speakerPin, 1000); note += 10; } else { noTone(4); }
// Soustraire des boules si le gameover pit est déclenché
if (gameoverState et !gameoverTriggered) { balles -= 1; gameoverTriggered = vrai; gameoverTimer = gameoverTimerDuration; }
// Lancer le timer du gameover dès que la balle ne touche pas le contact du gameover
if (!gameoverState) { if (gameoverTimer >= 1) { gameoverTimer -= 1; } else { gameoverTriggered = false; } }
// Clignoter le texte de gameover sur l'écran LCD et réinitialiser le score et les balles
if (boules <= 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("Essayer à nouveau ?"); retard (250); } lcd.clear(); note = 0; ballGateServo.write(0); score atteint = faux; boules = 3; }
if (score > meilleur score et ! meilleur score atteint) {
lcd.setCursor(0, 0); for (int i = 5; i >= 1; i--) { lcd.clear(); retard (250); lcd.print("NOUVEAU MEILLEUR"); lcd.setCursor(0, 1); lcd.print("Mort subite !"); retard (250); } lcd.clear(); boules = 1; ballGateServo.write(120); meilleur score = score; highscoreAtteint = vrai; }
// Mettre à jour le meilleur score si le score actuel est plus élevé
if (score > meilleur score) { meilleur score = score; }
// Place le curseur sur la ligne 0
lcd.setCursor(0, 0); // Imprime le (meilleur) score actuel sur l'écran lcd if (score <= 0) { lcd.print("Highscore: " + String(highscore) + " "); } else { lcd.print("Score: " + String(score) + " "); }
// Place le curseur sur la ligne 1
lcd.setCursor(0, 1);
// Imprime le nombre actuel de balles sur l'écran lcd
lcd.print("Boules: " + String(boules)); }
Conseillé:
Flipper Arduino qui joue tout seul ! : 13 étapes (avec photos)
Machine à flipper Arduino qui joue tout seul ! Je vous entends demander. Peut-être que si vous n'êtes pas dans les robots autonomes, cela pourrait le faire. Moi, cependant, je suis vraiment passionné par la construction de robots capables de faire des trucs sympas, et celui-ci
Contrôleur de clavier DIY pour MAME et flipper virtuel : 4 étapes (avec photos)
Contrôleur de clavier DIY pour MAME et Virtual Pinball : Cet ensemble d'instructions vous permet de fabriquer votre propre clavier de commande en utilisant d'anciens claviers pour le coût de fil, de soudure et d'un morceau de bois. Ces contrôleurs ont été utilisés dans mes projets MAME et Virtual Pinball. .Voir Virtual Pinball Inst
Flipperkonsole Für PC Flipper / Console de flipper pour flipper PC: 9 étapes
Flipperkonsole pour PC Flipper / Console de flipper pour flipper PC: Das ist eine USB basierte Spielkonsole für PC-Flipperkästen. Die Spannungsversorgung erfolgt über das USB Kabel. Mettre en œuvre sind die beiden Flipper Buttons und ein Startbutton. Zusätzlich ist ein stossen von unten, von links und von rechts implem
Flipper de table utilisant Evive - Plateforme intégrée basée sur Arduino: 18 étapes (avec photos)
Flipper de table utilisant Evive - Plateforme embarquée basée sur Arduino : Un autre week-end, un autre jeu passionnant ! Et cette fois, ce n'est autre que le jeu d'arcade préféré de tous : Pinball ! Ce projet vous montrera comment fabriquer facilement votre propre flipper à la maison. Tout ce dont vous avez besoin, ce sont des composants de l'Evive
Sesame Street - Horloge de comptage de numéros de flipper : 8 étapes (avec photos)
Sesame Street - Pinball Number Count Clock : cette instructable décrira la construction d'une horloge personnalisée. Bien qu'il s'agisse spécifiquement de la construction de l'horloge présentée sur Sesame Street; l'animation Pinball Number Counting, les procédures générales sont les mêmes et les instructio