dino-chrome-arduino
dino-chrome-arduino

Fala lobo, tudo certo? Cansado ou enjoado durante essa quarentena? 🥴

Que tal jogar o jogo do Dino? Mas de um jeito diferente…

Dino game 
Dino game 

Automatizando o Dino do Chrome com ARDUÍNO:

Primeiro, nós precisamos de um LDR e um Arduíno, e também um pequeno conhecimento em python

Bora configurar nosso Arduíno:

Arduino UNO
Arduino UNO

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

Arduino with LDR 
Arduino with LDR 

Depois, vamos fazer o upload do código para nosso Arduíno:

// Arduino Dino Game ! :)

int sensorPin = A0;    //Conecte o LDR na porta A0 
int sensorValue = 0;  // Variavel para guardar a leitura do LDR
int thresholdValue = 45; //Valor para detectar obstaculo
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.

Imagem e simbologia do sensor
Imagem e simbologia do sensor

Quando a luz começa a 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.

Então, bora programar em Python:

python 😱
python 😱

No código, nos estamos usando o pyserial para ler os dados vindo do Arduíno, e usando o PyAutoGUI para simular o pressionamento da 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 Arduíno

1giphy 1

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

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

Vídeo:

Automatizando o Dino do Chrome com ARDUÍNO

Você pode aprender a construir outros projetos como esse, através do meu Livro Arduhack. Adquirindo por aqui você recebe + de 15 projetos bônus para treinar suas habilidades.

Sensacional né? Bora pra outro projeto? Nesse Post, eu ensino como você pode usar o sensor DHT11 para ler temperatura e umidade usando o Arduíno. E AQUI eu falo mais sobre a ESP32CAM, já ouviu falar?

3 thoughts on “Automatizando o Dino do Chrome com ARDUÍNO

  1. Pingback: Detector de fumaça com sensor MQ-2 e Arduíno - Lobo da Robótica

  2. Pingback: COMO criar bibliotecas para ARDUINO e ESP32 - Lobo da Robótica

  3. Pingback: COMO criar bibliotecas para ARDUINO e ESP32 – Aula#2 - Lobo da Robótica

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *