
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.
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:

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

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:
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

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:
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?