В этом проекте мы используем Arduino Nano BLE 33 Sense со встроенным датчиком приближения в качестве игрового контроллера.

На данной плате используется датчик света, цвета, жестов и приближения APDS9960.

Сначала загрузите код Serial.ino, приведенный далее. Когда датчик приближения обнаружит какой-либо объект, он выведет слово «d» в мониторе последовательного порта.
#include <Arduino_APDS9960.h>
void setup() {
Serial.begin(9600);
while (!Serial);
if (!APDS.begin()) {
Serial.println("Error initializing APDS9960 sensor!");
}
}
void loop() {
if (APDS.proximityAvailable()) {
// - 0 => близко
// - 255 => далеко
// - -1 => ошибка
int proximity = APDS.readProximity();
if (proximity==0){
Serial.println('d');
}
}
delay(100);
}
Затем запустите файл на Python controller.py. В этом коде python мы использовали два пакета, один – pyserial, другой – pynput, pyserial используется для установления соединения между Arduino и Python, а pynput используется для управления и мониторинга устройств ввода, таких как клавиатура и мышь.
import serial
from pynput.keyboard import Key, Controller
ser = serial.Serial('COM5', 9600)
keyboard = Controller()
while True:
data = ser.readline()
if data.decode().strip() == "d":
keyboard.press("d")
keyboard.release("d")
После выполнения файла python. откройте блокнот, поднесите плату Arduino BLE к любому объекту, чтобы он вывел «d» в блокноте, не используя клавиатуру.





Для игры мы использовали BlueStacks. Откройте Tennis 3d. Перейдите к параметру управления. Выберите «Swipe select» и выберите кнопку «up», затем щелкните на «d». Теперь «d» предназначено для игры и сохранения изменений. Прикрепите к плате доску, похожую на ракетку для тенниса.

Держите любой объект перед собой. Переместите доску к объекту, чтобы начать игру.

© digitrode.ru