Автоматизированная игра Дино с использованием arduino
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 |
Об этом проекте
Скучно А.Ф., в это время карантина? 🥴
Давай поиграем в игру google chrome Dino…;)
Но что делать, если игра Дино тоже наскучила?
Давайте автоматизируем игру Dino😉.
Итак, нам нужны Arduino и LDR . Небольшие знания в python также требуется.
Давайте сначала настроим наш Arduino .
Подключите Arduino UNO к LDR. (Не забудьте добавить резистор)
Затем загрузите код для аналогового чтения значения LDR.
// Игра Arduino Dino! :)
int sensorPin =A0; // Подключаем LDR к A0
int sensorValue =0; // переменная для хранения значения из LDR
int thresholdValue =45; // это зависит от вашего метода проб и ошибок.
void setup () {
Serial.begin (9600); // Последовательное начало на 9600
}
void loop () {
// считываем значение с датчика:
sensorValue =analogRead (sensorPin); // считываем данные датчика
//Serial.println(sensorValue); // раскомментируйте это при первом использовании, возьмите значение thresholdValue и установите.
if (sensorValue <=thresholdValue) {// если условие обнаружения препятствия.
Serial.println (1); // Последовательная печать, если условие верно.
}
задержка (40); // задержка 50 мс
}
Исправьте свой LDR на мониторе затем прочтите analogValues когда есть препятствие. установите это значение как thresholdValue и обновите свое условие if . Дасссс !!!!! ✌️ Теперь часть Arduino окончена.
Вы можете добавить серводвигатель, чтобы нажать клавишу «Пробел», чтобы Дино прыгнул. Но сейчас карантин. Итак, у меня нет никакого способа получить серводвигатель. Итак, здесь я использовал код Python для выполнения этой задачи.
Итак, давайте запишем код на Python;)
Скопируйте и вставьте код Python, внесите соответствующие изменения.
В коде мы используем pyserial модуль для чтения последовательных данных. Затем для нажатия кнопки вверх с использованием PyAutoGUI модуль.
подпроцесс импорта
время импорта
импорт pyautogui
серийный номер импорта
subprocess.call ([r'C:\ Program Files \ Mozilla Firefox \ Firefox.exe ' ,
'-new-tab', 'https://chromedino.com/'])
# Добавить путь к google chrome для пользователей Chrome.
# чтобы открыть браузер и открыть игру Dino.
# Я использую firefox, поэтому у меня нет игры Dino,
# Здесь я использую chromedino.com для игры.
time.sleep (6) # дайте немного времени, чтобы открыть и настроить все.
print ("All set :)")
ser =serial.Serial ('COM4 ') # Обновите свой arduino [порт]
ser.baudrate =' 9600 '# установите скорость передачи
while True:# loop.
h1 =ser.readline () # чтение последовательных данных.
if h1:
ss =int (h1.decode ('utf-8')) # декодировать и присвоить значение int
if ss ==1:# true при препятствии.
print ("Oh: pyautogui.press ('up') # Автоматическое нажатие клавиши [UP]
Запустите свой код Python и поместите LDR в соответствующее место методом проб и ошибок . Да !!! Автоматическая игра Дино готова. 🕺
Вы можете перейти на следующий уровень, используя другой LDR для обнаружения птиц также.
Репозиторий GitHub:https://github.com/rafitc/arduDino
Видео на YouTube
Код
- Фрагмент кода №1
- Фрагмент кода №2
Фрагмент кода №1 Arduino
// Игра Arduino Dino! :) int sensorPin =A0; // Подключаем LDR к A0 int sensorValue =0; // переменная для хранения значения, поступающего из LDRint thresholdValue =43; // это зависит от вашего метода проб и ошибок. void setup () {Serial.begin (9600); // Последовательное начало на 9600} void loop () {// считываем значение с датчика:sensorValue =analogRead (sensorPin); // считываем данные датчика //Serial.println(sensorValue); // раскомментируйте это при первом использовании, возьмите значение thresholdValue и установите. if (sensorValue <=thresholdValue) {// если условие обнаружения препятствия. Serial.println (1); // Последовательная печать, если условие верно. } Задержка (50); // задержка 50 мс}
Фрагмент кода 2 Python
import subprocess import timeimport pyautoguiimport serialsubprocess.call ([r'C:\ Program Files \ Mozilla Firefox \ Firefox.exe ', # Добавить путь к google chrome для пользователей Chrome.' -new-tab ',' https:// chromedino.com/ ']) # открыть браузер и открыть игру Дино. # Я пользователь firefox, поэтому у меня нет игры Dino. # Здесь я использую chromedino.com для игры. time.sleep (6) # дайте немного времени, чтобы открыть и настроить all.print ("All set :)") ser =serial.Serial ('COM4') # Обновите свой arduino [порт] ser.baudrate ='9600 '#Set baudRate while True:# looping. h1 =ser.readline () # чтение последовательных данных. if h1:ss =int (h1.decode ('utf-8')) # декодировать и присвоить значение int if ss ==1:# true при препятствии. print ("Oh:Github
Ссылка на репозиторий GitHUb https://github.com/rafitc/arduDino
Схема
Производственный процесс
- Создание монитора Ambilight с помощью Arduino
- Портативная игровая консоль TeleBall Retro
- Игра Arduino Pong - OLED-дисплей
- Игровой контроллер Arduino
- Автоматический стрелок из лего
- Игра Arduino Touch Breakout
- Вольтметр своими руками с использованием Arduino и смартфона
- Монитор сердечного ритма с использованием Интернета вещей
- WebServerBlink с использованием Arduino Uno WiFi
- Игра Pixel Chaser