Skip to content

Como Automatizar o Dino do Chrome com Arduino

como-automatizar-o-dino-do-chrome-com-arduino-alt
Fonte: Arduino

Fala lobo, antes de mais nada, nesse tutorial de hoje eu vou te ensinar Como Automatizar o Dino do Chrome com Arduino. Esse artigo foi inicialmente publicado no Arduino Project Hub, e você pode conferir a versão original em inglês nesse link.

dino-game-alt
Dino game 

Automatizando o Dino do Chrome com ARDUÍNO:

Primeiramente, nós precisamos de um LDR e um Arduino, e também um pequeno conhecimento em Python, então bora configurar nosso Arduino:

arduino-uno-blink-alt
Arduino UNO

Conecte o Arduino Uno com um LDR conforme o diagrama abaixo(Não esqueça de colocar o resistor):

como-automatizar-o-dino-do-chrome-com-arduino-diagrama-alt
Arduino with LDR 

Logo após, vamos fazer o upload do código para nosso Arduino, você precisa carregar o algoritmo abaixo para seu Arduino, usando a IDE do Arduino, ou outro editor de código do seu gosto:

// Arduino Dino Game ! :)

int sensorPin = A0;    //Conecte o LDR na porta A0 
int sensorValue = 0;  // Variável para guardar a leitura do LDR
int thresholdValue = 45; //Valor para detectar obstáculo
void setup() {
  Serial.begin(9600);  //Serial begin on 9600
}

void loop() {
  // Lê o valor do sensor
  sensorValue = analogRead(sensorPin); 
  //Serial.println(sensorValue);  //Descomente essaa linha para encontrar o valor de erro thresholdValue e sete na variavel. 
  
  if(sensorValue <= thresholdValue){   //if condition to detect obstacle.
    Serial.println(1);                 
  }
  delay(40);                         //delay 50ms
}

Depois, cole o LDR na tela do seu computador, para que quando o LDR detectar uma variação de luminosidade na sua tela, ele indique para o Dino pular

Afinal, você sabe o que é o LDR?

O LDR ou Light Dependent Resistor é um resistor em que a resistência varia conforme a luz que incide sobre ele. Ele possui, em sua parte superior, um material semicondutor que possui uma resistência elétrica elevada. Quando não há incidência de luz no LDR, a sua resistência pode chegar a 200 mil ohms.

Enquanto a luz incidir sobre o material semicondutor do LDR, os fótons libertam os elétrons para a banda condutora, diminuindo a resistência do material por meio do aumento da sua condutividade. Quanto menor a resistência, mais luz está incidindo sobre o sensor.

Você pode adicionar um servo motor para pressionar a “Barra de Espaço” e fazer o Dino pular. Mas estamos em tempo de quarentena, então não se preocupe se você não tiver servo motor, eu vou ensinar uma maneira de você simular a “Barra de Espaço” usando um algoritmo em Python.

Como Automatizar o Dino do Chrome com Arduino, usando o Python:

Então, bora programar em Python:

python-alt
python ?

Em resumo no código, nos estamos usando o pyserial para ler os dados vindo do Arduino, e usando o PyAutoGUI para simular o os cliques de cada tecla.

import subprocess   
import time
import pyautogui
import serial
subprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe',  
    '-new-tab', 'https://chromedino.com/'])  
								#Adicione o PATH do chrome caso seja seu navegador.
								#para abrir o jogo do Dino.
          						#Estou usando o Firefox, portantando não tenho o Dino game,
          						#por isso vou usar o chromedino.com para jogar. 
time.sleep(6)                 	#delay para esperar o navegador abrir.
print("All sett :)")

ser = serial.Serial('COM4')		#Mude para a porta do seu Arduino[port]
ser.baudrate = '9600'			#Selecione a baudRate

while True:						# looping. 
  h1=ser.readline() 			#Lendo os dados
  if h1:
   ss = int(h1.decode('utf-8')) # decode and make a int value
   if ss== 1:					 
   	print("Oh :< Jump!! ")		
   	pyautogui.press('up') 		#Auto press [UP] key

Execute o código em Python, e coloque o LDR na parte correta da tela, e pronto!!! Temos nosso jogo do Dino automatizado com o Arduino

you-did-alt

Você ainda pode melhorar o projeto usando outro LDR para detectar os pássaros também.

GitHub Repo : https://github.com/rafitc/arduDino

Vídeo:

Automatizando o Dino do Chrome com ARDUINO

Você pode aprender a construir outros projetos como esse, através do nosso curso completo de programação arduino Arduhack. Adquirindo por aqui você recebe + de 15 projetos bônus para treinar suas habilidades.

Você também consegue além de criar esse projeto com Arduino, usar este mesmo projeto apenas usando o Python, mas a graça está em usar o Arduino, não é mesmo?

Que tal aceitar mais um desafio afinal, e partir para outro projeto? Nesse Post, eu ensino como você pode usar o sensor DHT11 para ler temperatura e umidade usando o Arduino. E Aqui eu falo mais sobre a ESP32CAM, já ouviu falar?

plugins premium WordPress

Semana da Automação Com Arduino

Se Cadastre e Receba Acesso a 3 aulas gratuitas na Semana da Automação com Arduino