Jogo do Equilíbrio com Arduino Uno

Como fazer um Jogo de Equilíbrio com Arduino Uno?

O jogo de equilíbrio é um brinquedo científico interativo que desafia o jogador a manter uma esfera metálica no centro de uma plataforma inclinável. Usando um joystick analógico, o usuário controla um servomotor responsável por inclinar a rampa em dois eixos. O projeto une conceitos de física, eletrônica e programação, sendo ideal para aplicações didáticas com Arduino.

Materiais necessários

Figura 1 – Peças de papelão cortadas para a estrutura do jogo.

Na imagem estão dispostas as seguintes peças, com suas medidas em centímetros:

Figura 2 – Estrutura da base montada em papelão.

A imagem mostra a estrutura montada do jogo, formada pela base, pelas laterais e pela tampa superior. Sobre a tampa está fixado o suporte para o servo motor, responsável por movimentar a rampa. Na parte frontal encontra-se a base destinada à fixação do módulo joystick. Esta montagem cria uma caixa que abriga a parte eletrônica e sustenta a plataforma inclinável.

Figura 3 – Detalhe do encaixe da rampa no braço do servo motor.

A figura apresenta a rampa confeccionada em papelão, já montada com suas laterais, e o detalhe do encaixe do braço do servo motor, representado pela cruzeta plástica fixada na parte inferior da rampa. Esse encaixe permite ao servo motor controlar a inclinação da plataforma, possibilitando o movimento necessário para equilibrar a esfera sobre a superfície do jogo.

Montagem do Circuito

A figura acima mostra a montagem completa do circuito do Arduino Ball Balancing Game, utilizando a placa Arduino Uno, um servo motor, um módulo joystick analógico e uma fonte de alimentação externa. Essa configuração permite controlar a inclinação de uma plataforma para equilibrar uma esfera, conforme o movimento do joystick.

Alimentação Geral

Joystick Analógico

Na imagem, o módulo joystick está posicionado à direita do Arduino Uno. Suas conexões são as seguintes:

O joystick permite captar movimentos manuais nos eixos X e Y, enviando sinais analógicos ao Arduino para determinar a inclinação desejada da plataforma.

Servo Motor

O servo motor, localizado à esquerda da placa Arduino, possui três fios:

O servo motor é responsável por movimentar a plataforma que sustenta a esfera, ajustando sua posição conforme os comandos enviados pelo joystick.

Dicas Importantes para a Montagem

Resumo do Funcionamento:

O joystick envia ao Arduino valores analógicos que representam a direção desejada. O Arduino processa esses valores e gera sinais PWM para controlar o servo motor, inclinando a plataforma para equilibrar a esfera, reproduzindo a mecânica do Ball Balancing Game.

Código no Arduino

Após montar o circuito, é hora de programar o sistema que permitirá ao joystick controlar o movimento do servo motor. O código está dividido em partes, assim como no exemplo do PDF do jogo Genius, para facilitar o entendimento.

Abaixo está o código completo e, em seguida, as explicações detalhadas de cada bloco:

#include <Servo.h>

    Servo myServo;

    int joyX = A0;
    int joyVal;

    void setup() {
      myServo.attach(9);
      Serial.begin(9600);
    }

    void loop() {
      joyVal = analogRead(joyX);
      joyVal = map(joyVal, 0, 1023, 0, 180);
      myServo.write(joyVal);
      Serial.println(joyVal);
      delay(15);
    }

Explicação do Código

1. Importação da Biblioteca Servo

#include <Servo.h>

2. Declaração de Objetos e Variáveis

Servo myServo;
    int joyX = A0;
    int joyVal;

3. Função setup()

void setup() {
    myServo.attach(9);
    Serial.begin(9600);
  }

4. Função loop()

void loop() {
    joyVal = analogRead(joyX);
    joyVal = map(joyVal, 0, 1023, 0, 180);
    myServo.write(joyVal);
    Serial.println(joyVal);
    delay(15);
  }

a) Leitura do Joystick

joyVal = analogRead(joyX);

b) Mapeamento do Valor

joyVal = map(joyVal, 0, 1023, 0, 180);

c) Controle do Servo Motor

myServo.write(joyVal);

d) Impressão no Monitor Serial

Serial.println(joyVal);

e) Delay

delay(15);

Conclusão

A construção do Jogo de Equilíbrio com Arduino demonstrou que é possível unir eletrônica, programação e mecânica para criar um brinquedo científico interativo e educativo. Mesmo utilizando apenas um servomotor, foi possível desenvolver um sistema capaz de inclinar a plataforma em um eixo, permitindo ao jogador movimentar uma esfera metálica sobre sua superfície. O projeto mostrou, na prática, como sinais analógicos podem ser convertidos em movimentos precisos, através do controle do servo motor pelo Arduino. Além de proporcionar aprendizado técnico, esta atividade estimula a criatividade, o raciocínio lógico e a habilidade manual na confecção da estrutura mecânica. O jogo pode ser ainda aprimorado com novos materiais, maior robustez ou funcionalidades extras, servindo tanto como experimento didático quanto como hobby para quem deseja aprender mais sobre automação e robótica.