5

MicroBlocks 编程案例: 制作无线 Makey Makey

 9 months ago
source link: http://wwj718.github.io/post/%E7%BC%96%E7%A8%8B/microblocks-wireless-makeymakey/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MicroBlocks 编程案例: 制作无线 Makey Makey

2023-11-18

Makey Makey 是个令人惊叹的项目。

它将自己描述为:

21世纪的发明套件

将世界连接到您的计算机

我们看看它的使用场景:

手工与编码。用橡皮泥或铅笔这样的日常材料设计你自己的控制器:

Makey-Makey-Image1.webp

水果乐器。世上到处是导电物体和材料。用水果和办公用品制作音乐电路:

MakeyMakeyImage2.webp

自制传感器。利用铝箔、硬币和回形针,像科学家一样发明传感器。

Makey-Makey-Image3.webp

Makey Makey 是如此简单, 以至于你可以完全专注于自己的想法!

Makey Makey 是如此通用, 以至于你可以将整个世界连接到您的计算机!

好的创作工具, 鼓励你去做自己感兴趣的事情, 它给予你支持而不是负担。就此而言, Makey Makey 拥有与 Scratch, MicroBlocks 一样出色的品质。

凡有的,还要加给他,叫他有余; – 马太效应

Makey Makey 拥有如此丰富的可能性, 以至于我们想要更多 !

喜欢 Makey Makey 的人经常会提出这 3 种需求:

  • 能够不用线连在电脑上吗? 这样就更方便构建跳舞毯等项目
  • 能够不要在身上绑上接地线吗?
  • 能够便宜一点吗! (淘宝上要 400 多块钱)

可以可以可以!

我们可以使用 MicroBlocks 对 ESP32 编程, 制作一个 20 块钱的 无线 Makey Makey, 它甚至不需要接地线

安装定制固件

提醒: 计算机会记住连接过的蓝牙键盘。如果你刷过这个固件, 以后刷其他固件,可能会无法连接 MicroBlocks IDE, 因为设备被计算机当成了蓝牙键盘. 你需要在计算机中"忘记"这个蓝牙键盘,在 iOS 上是忽略此设备


首先将 esp32-ble-keyboard 固件(https://wwj718.github.io/post/img/esp32-ble-keyboard-20231118.bin) 刷入 ESP32 板子(我用的是 ESP32 DEVKIT V1, 你也可以在其他 ESP32 板子上使用)。

通过 MicroBlocks 的 显示高级积木 > 从 URL 安装 ESP 固件 来刷入固件。

install-esp-firmware-from-url.png

安装完成后,打开 这个程序

运行程序之后, 应该就能够搜索到蓝牙键盘: ESP32 Keyboard

ESP32 的以下引脚支持 touch: 2, 4, 12, 13, 14, 15, 27, 32, 33

DOIT-ESP32-DEV-KIT.jpg

如果你在操作中遇到问题, 可参考周六分享会的视频

如何编译到其他 MicroBlocks 支持的板子里?

以 m5stack 为例, 原先的配置:

[env:m5stack]
platform = espressif32
board = m5stack-core-esp32
board_build.partitions = noota_3g.csv
lib_deps =
	Adafruit GFX Library
	571 ; Adafruit ILI9341
	Adafruit BusIO
	WebSockets
	256dpi/MQTT
lib_ignore =
	Adafruit STMPE610
	Adafruit seesaw Library
	Adafruit TouchScreen

包含蓝牙键盘功能的配置:

[env:m5stack]
platform = espressif32
board = m5stack-core-esp32
board_build.partitions = no_ota.csv
build_flags = -D BLE_KEYBOARD -D USE_NIMBLE
lib_deps =
	Adafruit GFX Library
	571 ; Adafruit ILI9341
	Adafruit BusIO
	WebSockets
	256dpi/MQTT
	t-vk/ESP32 BLE Keyboard@^0.3.2
	NimBLE-Arduino

lib_ignore =
	Adafruit STMPE610
	Adafruit seesaw Library
	Adafruit TouchScreen

使用 wifi 控制蓝牙键盘

这是周六分享会分享过程中,李老师和汤老师提出的问题。

示例项目

你可以使用另一个板子发送 WiFi Radio 消息, 也可以使用 Python 发送消息(microblocks_wifi_radio)。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK