Оглавление:

Альтернатива Макей Макей за 3 доллара: 4 шага (с картинками)
Альтернатива Макей Макей за 3 доллара: 4 шага (с картинками)

Видео: Альтернатива Макей Макей за 3 доллара: 4 шага (с картинками)

Видео: Альтернатива Макей Макей за 3 доллара: 4 шага (с картинками)
Видео: Ева наряжается в новые платья с папой 2024, Июль
Anonim
$ 3 Альтернатива Макею Макею
$ 3 Альтернатива Макею Макею
$ 3 Альтернатива Макей Макей
$ 3 Альтернатива Макей Макей

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
Настроить Arduino IDE

Я предполагаю, что у вас установлена последняя версия 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

Установите CapacitiveController Sketch
Установите CapacitiveController Sketch
Установите CapacitiveController Sketch
Установите CapacitiveController Sketch
Установите CapacitiveController Sketch
Установите 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

Намекать:

Если вы используете перемычки «папа-мама», вы можете выполнить соединение «земля-земля» в режиме джойстика, вставив концы вилок двух перемычек друг в друга, образуя таким образом перемычку «мама-мама».

Рекомендуемые: