sábado, 29 de maio de 2021

Mini Pebolim Eletrônico - Parte 03 - Sketch com goleiro automático

 Boa Tarde colegas,

    O Mini Pebolim Eletrônico ficou bom para um protótipo inicial, mas eu fiz uma pequena modificação que deixou a coisa mais interessante: o goleiro agora é automático! Ele defende o gol sozinho, assim que a bola é lançada. Fiz apenas uma alteração no Sketch e o resultado foi excelente. Diversão garantida!! Vejam abaixo:

Vídeo do YouTube: https://youtu.be/I2_Rx5pzQFs

Vídeo: Clique Aqui


Diagrama Esquemático e Lista de Componentes:


Sketch:

#include <Servo.h>

int botaogol = 2; // pino do botão do goleiro

int botaojog = 7; // pino do botão do jogador

int stategol;

int statejog;

Servo servo1; // Cria um objeto servo - goleiro

Servo servo2; // Cria outro objeto servo - jogador

void setup() {

pinMode(13, OUTPUT);

pinMode(botaogol, INPUT); // botão no pino 2

pinMode(botaojog, INPUT); // botão no pino 2

servo1.attach(3);       //Adiciona o servo1 ao pino 3 - goleiro

servo2.attach(9);       //Adiciona o servo2 ao pino 9 - jogador

servo1.write(0);        //Inicializa o servo1

servo2.write(0);        //Inicializa o servo2

}

void loop() {

statejog = digitalRead(botaojog);  //Lê o estado do botão do jogador

if (statejog == HIGH) {        //Se o estado do botão é alto e o ângulo anterior é maior ou igual a 90 graus, então...

while(digitalRead(botaojog) == HIGH) {delay(5);}  //Aguarde o botão se estabilizar e voltar ao nível baixo (efeito debounce)

//Jogador:

   servo2.write(120);    // Rode até cento e vinte graus

  delay(200);      //Aguarde até o servo ir para o local

  servo2.write(0);    // Rode até zero graus

 

  delay(15);      //Aguarde até o servo ir para o local

//Goleiro:

  servo1.write(0);    // Rode até zero graus

    delay(300);      //Aguarde até o servo ir para o local

    servo1.write(180);   // Rode até 180 graus

       delay(15);   //Aguarde até o servo ir para o local

    }

  }


Nenhum comentário:

Postar um comentário