跳到主要内容

方糖 摇杆

这是一个五向摇杆,分别为可检测X、Y水平两轴共四向的数值,以及纵轴按下检测。是一个较为特殊的I2C模块。
image.png

参数


尺寸24 x 24 x 23 mm
重量7 g
类型I2C
范围X:-255~255
Y:-255~255
Z:按下与否

接线


使用4PIN端子线将摇杆模块接在Robotbit Edu的蓝色I2C接口。
打开Robotbit电源可以看到光敏模块底部的红色灯亮起(既模块正常供电)
joystick.png

编程


效果展示

将X和Y轴的数据打印在未来板屏幕上,当按下摇杆,屏幕第三行将显示 Pressed

使用Kittenblock

使用运算分栏下的连接积木块可以将字符串相连(数字将会被转换成字符串)

信息

由于在线交互实时性较差,建议将程序上传到未来板运行。
如果还不清楚如何离线上传请参照 快速开始

blocksSvg-1727247993545:::warning 注意显示英文字符串积木块内的冒号需要是 **英文冒号**(请勿在中文输入法下输入) :::

使用Micropython

摇杆方向值

value(dir)

  • dir:选择方向
    • 'x':X轴,返回值范围-255~255
    • 'y':Y轴,返回值范围-255~255

state()

  • 返回值:
    • 默认状态下:'none'
    • 其他状态:检测5向状态,根据触发状态可返回"pressed"、"left"、"right"、"up" 或 "down"。
from future import *
from sugar import *

joystick = Joystick()
screen.sync = 0

while True:
screen.fill((0, 0, 0))
screen.text(str("X: ")+str(joystick.value('x')), x = 5, y = 10)
screen.text(str("Y: ")+str(joystick.value('y')), x = 5, y = 30)
if joystick.state() == 'pressed':
screen.text("Pressed", x = 5, y = 50)
screen.refresh()