Índice:
- Etapa 1: Construindo o Caso
- Etapa 2: Construindo o Mecânico Flipper
- Etapa 3: Colocando as paredes
- Etapa 4: Adicionando os Blocos de Pontuação
- Etapa 5: Adicionar o contato Game Over
- Etapa 6: Perfuração dos orifícios do cabo
- Etapa 7: conectando tudo
- Etapa 8: Carregando o código
Vídeo: Arduino: Pinball Machine: 8 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Como sempre amei máquinas de pinball e eletrônicos, decidi construir minha própria máquina de pinball. Escolhi o Arduino para a programação e a eletrônica, porque é uma plataforma altamente acessível, compacta e fácil de usar.
Neste guia, explicarei meu processo de desenvolvimento, então talvez um de vocês entusiastas possa criar algo parecido.
Etapa 1: Construindo o Caso
Vamos começar com o caso da máquina de pinball. Fiz uma construção bastante simples. Cortei uma placa de fundo e usei 4 pequenos pilares de madeira nos cantos para conectar as peças da parede. O tamanho da sua capa é de sua escolha, eu escolhi torná-la um pouco menor do que uma máquina de pinball original, pois não estava planejando adicionar nenhum extra espetacular para preencher o espaço. Usei parafusos e cola para deixar o case o mais firme possível. Na parte de trás, fiz dois furos na peça do piso para as duas pernas que darão à máquina de pinball a inclinação icônica. Mais uma vez, a altura das pernas depende de você. Quanto mais altas forem as pernas, mais rápido a bola rolará (para baixo).
Etapa 2: Construindo o Mecânico Flipper
Como queria limitar o custo deste projeto, decidi fazer nadadeiras totalmente mecânicas em vez de eletrônicas. Se você estiver interessado em palhetas eletrônicas, pode usar uma construção que é mais ou menos a mesma, mas com um chamado 'solenóide' conectado a ela (solenóides com potência suficiente para controlar as palhetas eram muito caros para mim).
Comecei fazendo dois furos na parte inferior para o ponto de articulação de ambas as nadadeiras. Eu perfurei os buracos (na minha opinião) um pouco perto um do outro, e isso fez com que o jogo ficasse um pouco mais fácil no final. Portanto, tome cuidado para não colocar os flippers muito próximos uns dos outros, a menos que você queira um estilo de jogo fácil.
Também fiz dois furos em ambas as paredes laterais paralelos aos furos do flipper. Esses orifícios devem ser usados para os dois botões de palheta.
Usei molas para puxar as nadadeiras de volta à posição original e fiz uma construção giratória entre as nadadeiras e os botões para fazê-los girar quando os botões estão sendo pressionados. Para impedir que as molas puxassem demais as nadadeiras, coloquei dois parafusos para prendê-las em sua posição original.
Etapa 3: Colocando as paredes
Coloquei algumas paredes para redirecionar o pinball para os flippers. Eles são muito simples de fazer. Basta fazer 3 furos na parte inferior da caixa e inserir três pinos de madeira. Enrole um elástico em volta dos alfinetes e pronto.
Etapa 4: Adicionando os Blocos de Pontuação
Os blocos de pontuação são uma das partes mais importantes da máquina de pinball, então certifique-se de fazer essa parte corretamente. Fiz três blocos de pontuação para minha máquina de pinball, mas, novamente, tudo depende de você.
Cortei um pequeno pedaço de cabo de vassoura e enrolei fio de cobre em torno dele. O arduino alimentará este fio de cobre constantemente com 5V. Soldei quatro molas de caneta ao lado para melhor contato com a bola.
A maneira como os blocos de pontuação funcionam é que a bola completa um circuito que leva a um pino de entrada no Arduino. Então, o que eu fiz foi prender uma folha de alumínio na parte inferior da caixa (NÃO TOCAR NO COBRE) e prender a folha a um pino no Arduino. Sempre que a bola atingir o cobre e o alumínio, o circuito estará completo e o Arduino receberá um sinal.
Conectei todos os blocos de pontuação usando a folha de alumínio, mas lembre-se de que o lado adesivo NÃO conduz eletricidade.
Etapa 5: Adicionar o contato Game Over
Na parte inferior da máquina de pinball, entre os flippers, adicionei um contato game over. Sempre que a bola atingir esse contato, o jogador perderá uma bola. A construção que fiz é muito semelhante aos blocos de pontuação. Só aqui usei dois parafusos, e novamente um pedaço de papel alumínio no fundo.
Etapa 6: Perfuração dos orifícios do cabo
Antes de começarmos a conectar tudo ao Arduino, precisamos primeiro fazer alguns furos para os cabos. Fiz um furo em ambas as folhas de alumínio, portanto, um furo na folha de alumínio perto dos blocos de pontuação e um furo na folha de alumínio perto do jogo por contato.
Além disso, também fiz um furo no canto inferior esquerdo, entre as paredes, para o cabo que levava ao portão de bola extra Servo.
Também deve haver um orifício para o cabo conectado ao LCD na parte inferior.
Etapa 7: conectando tudo
Fiz este esquema para ter uma melhor visão geral de onde todos os cabos devem ir. As cruzes são os pontos onde os cabos se conectam. Tentei soldar o máximo possível para tornar tudo um pouco mais estável e confiável. A fiação vai demorar um pouco, mas depois de feita você está quase lá!
Etapa 8: Carregando o código
Faça upload do seguinte código para seu Arduino para fazer sua máquina de pinball funcionar!
// Inclui a biblioteca para o lcd
#include #include
// Inicialize os pinos de dados LCD
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Crie um servo
Servo ballGateServo;
// Crie variáveis para os pinos que estamos usando
int gameoverPin = 6; scorePin int = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Inicializar variáveis de jogabilidade para a máquina de pinball
pontuação int = 0; recorde int = 500; bool highscoreReached = false; bolas internas = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
// execute este código uma vez no primeiro quadro
void setup () {// Define o pinMode para os pinos que estamos usando pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Inicialize o lcd fornecendo a largura e a altura
lcd.begin (16, 2);
// Anexe o servo do portão de esfera ao pino apropriado
ballGateServo.attach (ballGateServoPin);
// Redefina o servo do portão para a posição inicial
ballGateServo.write (0); }
// Execute este código a cada quadro
void loop () {// Captura as entradas dos pinos int gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Adicione à pontuação se a entrada for recebida
if (scoreState) {tone (speakerPin, 1000); pontuação + = 10; } else {noTone (4); }
// Subtraia das bolas se o pit gameover for acionado
if (gameoverState e! gameoverTriggered) {balls - = 1; gameoverTriggered = true; gameoverTimer = gameoverTimerDuration; }
// Inicie o cronômetro de gameover assim que a bola não tocar no contato de gameover
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer - = 1; } else {gameoverTriggered = false; }}
// Pisca o texto gameover para o lcd e zera a pontuação e as bolas
if (bolas <= 0) {lcd.setCursor (0, 0); para (int i = 5; i> = 1; i--) {lcd.clear (); atraso (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Tentar novamente?"); atraso (250); } lcd.clear (); pontuação = 0; ballGateServo.write (0); highscoreReached = false; bolas = 3; }
if (score> highscore e! highscoreReached) {
lcd.setCursor (0, 0); para (int i = 5; i> = 1; i--) {lcd.clear (); atraso (250); lcd.print ("NOVO HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Morte Súbita!"); atraso (250); } lcd.clear (); bolas = 1; ballGateServo.write (120); recorde = pontuação; highscoreReached = true; }
// Atualize a pontuação máxima se a pontuação atual for maior
if (pontuação> pontuação máxima) {pontuação máxima = pontuação; }
// Coloque o cursor na linha 0
lcd.setCursor (0, 0); // Imprime a pontuação atual (alta) no lcd if (score <= 0) {lcd.print ("Highscore:" + String (highscore) + ""); } else {lcd.print ("Pontuação:" + String (pontuação) + ""); }
// Coloque o cursor na linha 1
lcd.setCursor (0, 1);
// Imprime a quantidade atual de bolas no LCD
lcd.print ("Bolas:" + String (bolas)); }
Recomendado:
Máquina de Pinball Arduino que se reproduz !: 13 etapas (com imagens)
Máquina de pinball Arduino que se reproduz !: " Uma máquina de pinball que se reproduz sozinha, isso não tira toda a diversão dela? &Quot; Eu ouço você perguntar. Talvez, se você não gosta de robôs autônomos, sim. Eu, no entanto, gosto muito de construir robôs que podem fazer coisas legais, e este
Controlador de teclado DIY para MAME e Pinball Virtual: 4 etapas (com imagens)
Controlador de teclado DIY para MAME e Pinball Virtual: este conjunto de instruções permite que você fabrique seu próprio controlador de teclado usando teclados antigos pelo custo de alguns fios, solda e um pedaço de madeira. Esses controladores foram usados em meus projetos de MAME e Pinball Virtual .Ver Virtual Pinball Inst
Máquina de Pinball de mesa usando Evive- Arduino Based Embedded Plaform: 18 etapas (com imagens)
Máquina de Pinball de Mesa usando Evive- Arduino Based Embedded Plaform: Outro fim de semana, outro jogo emocionante! E desta vez, nada mais é do que o jogo de arcade favorito de todos - Pinball! Este projeto mostrará como fazer sua própria máquina de Pinball facilmente em casa. Tudo que você precisa são os componentes do evive
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Vila Sésamo - Relógio com contagem de números de pinball: 8 etapas (com imagens)
Vila Sésamo - Relógio de contagem de números de pinball: Este instrutível delineará a construção de um relógio personalizado. Embora esta seja especificamente a construção do relógio apresentado na Vila Sésamo; a animação de contagem de números do Pinball, os procedimentos gerais são os mesmos e as instruções