
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04


Makey Makey - отличное маленькое устройство, которое имитирует USB-клавиатуру и позволяет делать клавиши из любых проводящих предметов (алюминиевая фольга, бананы, пластилин и т. Д.), Которые затем можно использовать в качестве контроллера для игр и образовательных проектов.. У Makey Makey есть два недостатка: (1) стоимость и (2) необходимость заземления.
Этот проект является дешевой альтернативой с использованием платы STM32F1 за 2 доллара и емкостного датчика. У него всего 10 входов, в отличие от 12 у Makey Makey, но у него есть то преимущество, что помимо эмуляции клавиатуры он может имитировать контроллер USB-геймпада (цифровой джойстик).
Части:
- Плата "черная таблетка" STM32F103c8 (1,90 $ на Aliexpress; подробнее здесь)
- макетная плата (менее $ 1 на Алиэкспресс) и перемычки; или просто связка разъемов dupont между женщинами и мужчинами (0,70 доллара на Aliexpress за упаковку из 40 штук)
- скрепки, зажимы из крокодиловой кожи и т. д.
Инструменты:
- компьютер
- Адаптер UART-to-USB для начального программирования платы (Arduino Uno или Mega справятся с этой задачей, как и дешевое устройство CH340)
- паяльник для припаивания разъемов к плате (можно и без пайки использовать кучу тестовых зажимов, но они иногда выпадают)
Программное обеспечение представляет собой пример эскиза, включенного в мою библиотеку ADCTouchSensor, который позволяет использовать емкостное зондирование с помощью одного контакта на плате STM32F1 для каждого датчика (он основан на библиотеке martin2250 для AVR).
Предупреждение: в сухую погоду или при наличии статического электричества (например, на ковре) не прикасайтесь к оголенным металлическим разъемам, чтобы не вызвать электростатическое повреждение платы STM32F1. Я ожидаю, что сопротивление картофеля, бананов, пластилина и т. Д. Поможет защитить доску, но если вы используете голую алюминиевую фольгу, у вас могут возникнуть проблемы. С другой стороны, плата стоит всего 1,90 доллара.
Идеи учебной деятельности:
- Поэкспериментируйте, чтобы выяснить, какие предметы являются проводящими и могут использоваться в качестве управляющих поверхностей. (Например, грифель против мелка; тесто для лепки против свечи.)
- Пишите скретч-игры, использующие самодельный контроллер.
- Измените код Arduino, запускающий проект, чтобы разрешить щелчок / движение мыши, другие клавиши, более четырех направлений джойстика и т. Д.
Шаг 1. Установите загрузчик на плату разработки



Припаяйте два трехконтактных разъема в середине системы проявки Black Pill (B0- / center / B0 +; B1- / center / B1 +) и длинные заголовки по краям (если вы торопитесь или хотите чтобы избежать ненужных контактов, которые могут запутать детей, вам просто нужны контакты для A0-A10 и G).
Вам нужен мост UART-USB, совместимый с устройствами 3,3 В. Вы можете заказать ch340 на Aliexpress за 0,66 доллара, но у меня была подделка Arduino Mega, и я нашел в Интернете крутой трюк. Если на Arduino вы закоротите контакт сброса на землю с помощью короткого провода, тогда он станет мостом UART-USB - эскиз не требуется. Единственная уловка заключается в том, что маркировка RX и TX становится обратной: вывод «RX» Arduino передает, а его вывод «TX» принимает. Arduino работает при 5 В, а Black Pill - при 3,3 В, но контакты PA9 и PA10 на stm32f103 соответственно устойчивы к 5 В, так что это не должно быть проблемой.
На припаянные вами разъемы поставьте перемычку от B0 + к центру и от B1- к центру.
Сделайте следующие подключения:
- PA9 to UART bridge RX ("TX", если вы используете трюк Arduino)
- PA10 к мосту UART TX ("RX", если вы используете трюк Arduino)
- G к заземлению моста UART
Вы можете использовать макетную плату или перемычки между мужчинами и женщинами, или, если вы хотите сделать это до пайки заголовков, вы можете использовать тестовые зажимы (как на фото).
Загрузите двоичный файл загрузчика. Вам нужен generic_boot20_pb12.bin.
В Windows установите ST's Flash Loader Demonstrator. В Linux (и, возможно, OS X и даже Windows, если вы предпочитаете инструменты командной строки), используйте вместо этого этот скрипт python, но мои инструкции будут для Windows. Подключите мост UART к компьютеру.
Включите Black Pill через USB-порт (если вы используете компьютер, он, скорее всего, будет жаловаться на нераспознанное USB-устройство; не обращайте на это внимания). Запустите демонстратор Flash Loader. Выберите COM-порт для вашего моста UART. Если возможно, выберите «Снять защиту». Выберите версию флэш-памяти на 64 КБ, а не на 128 КБ. И загрузите бинарный загрузчик.
Отключите все и затем переместите перемычку с B0 + / center на B0- / center. Теперь у вас есть загрузчик, который можно использовать с IDE Arduino.
Шаг 2. Настройте IDE Arduino

Я предполагаю, что у вас установлена последняя версия Arduino IDE.
В инструментах | Доски | Boards Manager, установите поддержку Arduino Zero (просто введите Zero в поиск, щелкните найденную запись, а затем установите). Да, вы не работаете с Zero, но он установит правильный компилятор gcc.
Затем загрузите ядро stm32duino. В Windows я рекомендую загрузить zip-файл, поскольку, когда я проверял файлы (правда, с помощью svn), у меня были некоторые проблемы с правами доступа к файлам в каталоге инструментов Windows, которые требовали исправления. Поместите ветку в Arduino / Hardware / Arduino_STM32 (чтобы у вас были такие папки, как Arduino / Hardware / Arduino_STM32 / STM32F1 и т. Д.). В Windows установите драйверы, запустив drivers / win / install_drivers.bat.
Шаг 3: Установите CapacitiveController Sketch



В Arduino IDE выберите Sketch | Включить библиотеку | Управляйте библиотеками. Найдите "ADCTouchSensor" и установите версию 0.0.6 или новее. Повторите и найдите «USBHID» и установите мою библиотеку USBHID_stm32f1.
Выберите Файл | Пример | ADCTouchSensor | CapacitiveController.
Убедитесь, что у вас есть следующие настройки в разделе Инструменты:
- Плата: Generic STM32F103C8
- Метод загрузки: загрузчик STM32duino
Подключите плату к компьютеру и нажмите кнопку «Загрузить» со стрелкой вправо. Вам может потребоваться перезагрузить плату (нажмите на ней кнопку сброса), как только на консоли появится сообщение о загрузке.
Шаг 4: Подключения и кнопки



Когда устройство отключено, проложите провода от контактов STM32F1 к вашим контрольным поверхностям. Соединяйте зажимы из крокодиловой кожи, скрепки или просто вставляя перемычки в предметы. Вы можете использовать макетную плату или перемычки между мужчинами и женщинами. Для игры в тетрис на компьютере мы использовали режим клавиатуры и клавиши со стрелками; для Pac Man на планшете мы использовали кабель USB OTG и режим джойстика.
Скетч CapacitiveController калибрует емкостные датчики, когда он включен. Убедитесь, что при включении вы не касаетесь поверхностей управления, проводов к ним или контактов. А если вы измените какую-либо поверхность управления, вам необходимо повторно откалибровать, отключив и снова подключив или нажав белую кнопку сброса на плате.
Большинство приложений здесь будут работать, как и многие другие. Вы также можете увидеть, сколько проектов Makey Makey вы можете адаптировать.
Несколько хороших рулей:
- фрукты и овощи
- пластилин
- алюминиевая фольга (кроме высоких статических условий)
- сильно прорисованные карандашом кнопки / соединения на бумаге (соединительные линии не должны быть слишком длинными - на фото самая нижняя кнопка не работала)
- экспериментируйте со многими другими! (вы также можете попробовать настроить 25 в строке if (sensor -> read ()> 25) в исходном коде для некоторых поверхностей)
Подключения в режиме клавиатуры:
- Оставьте A10 отключенным
- A0: пробел
- A1: вверх
- A2: слева
- A3: вниз
- A4: справа
- A5: w
- A6: а
- A7: s
- B0: d
- B1: f
Подключения в режиме геймпада / джойстика:
- Подключите A10 к земле (G), чтобы установить режим джойстика.
- A0: кнопка 1
- A1: вверх
- A2: слева
- A3: вниз
- A4: справа
- A5-A7, B0, B1: кнопки 2-6
Намекать:
Если вы используете перемычки «папа-мама», вы можете выполнить соединение «земля-земля» в режиме джойстика, вставив концы вилок двух перемычек друг в друга, образуя таким образом перемычку «мама-мама».
Рекомендуемые:
Макей Макей Доктор Сьюз Голосование за книгу: 4 шага

Макей Мейки Доктор Сьюз Голосование за книгу: В рамках празднования Недели чтения по всей Америке мы попросили студентов проголосовать за их любимую книгу доктора Сьюза. Интерактивный дисплей был в нашем главном вестибюле для всеобщего обозрения. Студенты нажали свой выбор и получили сообщение от Thing 1 и Thing 2 th
Виртуальный Макей Макей с нуля: 4 шага

Virtual Makey Makey With Scratch: Добро пожаловать в Virtual Makey Makey v1.0 Scratch edition Я создал этот Virtual Makey Makey Simulator как способ познакомить студентов с Makey Makey, у которых нет доступа к Makey Makey во время дистанционного обучения
Макей-Саурус Рекс - Макей Макей Балансная доска: 6 шагов (с изображениями)

Макей-Саурус Рекс - Макей Макей Балансная доска: называете ли вы это Chrome Dino, T-Rex Game, No Internet Game или просто неприятностью, все, кажется, знакомы с этой игрой с прыжками динозавров с боковой прокруткой. Эта созданная Google игра появляется в вашем браузере Chrome каждый раз, когда
Операция Макей Макей и Скретч: 6 шагов (с картинками)

Операционная игра Макея Макея и Скретча: создайте веселую операционную игру в натуральную величину для вашего собственного персонажа! Супер легкий проект для всех возрастов
Макей Макей - Раскадровка: 7 шагов (с картинками)

Макей Макей - Раскадровка: эта головоломка используется для создания раскадровки из различных частей головоломки, напечатанных на 3D-принтере. Каждый элемент уникально идентифицируется отдельным резистором. Он помещается на плату, которая замыкает цепь делителя напряжения и распознается MakeyMakey