Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Автоматизированная игра Дино с использованием arduino

Компоненты и расходные материалы

Arduino UNO
× 1
LDR, 5 МОм
× 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

Схема


Производственный процесс

  1. Создание монитора Ambilight с помощью Arduino
  2. Портативная игровая консоль TeleBall Retro
  3. Игра Arduino Pong - OLED-дисплей
  4. Игровой контроллер Arduino
  5. Автоматический стрелок из лего
  6. Игра Arduino Touch Breakout
  7. Вольтметр своими руками с использованием Arduino и смартфона
  8. Монитор сердечного ритма с использованием Интернета вещей
  9. WebServerBlink с использованием Arduino Uno WiFi
  10. Игра Pixel Chaser