一、摇杆
这次我们用到摇杆,去掉键帽可以看到5个口的内容。
连接电路图如下:
- GND-GND
- 5V-5V
- VRX-A0
- VRY-A1
让我们来尝试用一下摇杆,接线图:
默认曲线模式,按空格可以变为直线。在线上点选可以添加转折点,改为折线模式。
二、linkboy
大家可能发现和之前一直使用的tinkercad不同,这是一个国产的在线模拟平台linkboylinkboy
对应学习案例
但目前使用下来发现linkboy只支持图像化编程,没有代码编程。但是可以图像化编程之后导出代码导入IDE里面。之所以更换是因为tinkercad不提供摇杆元件。。。orz
不过linkboy有个好处是接线时会提醒可以接哪些线,并且可以改线颜色和曲/折线
三、wokwi
还有另外一个平台wokwi
https://wokwi.com/projects/new/arduino-uno
帮助文档
不过这个平台也没有双轴摇杆,不过经过很长一段倒腾,我终于发现它和双轴其实是一个东西。只是标法不同!!!ε=ε=ε=(#>д<)ノ啊啊啊土拨鼠尖叫!!!!啊啊啊ε=ε=ε=(#>д<)ノ
点击元件问号可以跳转解释!
四、funcode
这也是另一个国产化平台,不过看起来比linkboy内元件要少。像tinkercad的另一个版本。不过也可以在接线时提示位置。有对应教程。
funcodecc的个人空间-funcodecc个人主页-哔哩哔哩视频
之前我们还了解过另外两个平台Fritzing、Proteus。这两个都比较专业,这次的三个都相对来说对新手友好~
建筑兔零基础Arduino自学记录65|光敏电阻小夜灯-6-CSDN博客
五、mind+
这也是一款国产的软件,有在线版本。不过没有元件模拟Mind+
六、具体使用
1、使用linkboy可以运行,但是串行监视器无法读取数值?具体下次再试试解决
int UP = 3;
int RIGHT = 4;
int DOWN = 5;
int LEFT = 6;
int VRX = A0;
int VRY = A1;
int SEL_PIN = 2; // 假设将 SEL 引脚连接到数字引脚 2
void setup() {
pinMode(UP, OUTPUT);
pinMode(RIGHT, OUTPUT);
pinMode(LEFT, OUTPUT);
pinMode(DOWN, OUTPUT);
pinMode(SEL_PIN, INPUT_PULLUP); // 将 SEL 引脚设置为输入上拉模式
Serial.begin(9600);
}
void loop() {
int xvalue = analogRead(VRX) * 9 / 1023;
int yvalue = analogRead(VRY) * 9 / 1023;
if (xvalue > 5) {
digitalWrite(LEFT, HIGH);
} else if (xvalue < 2) {
digitalWrite(RIGHT, HIGH);
} else {
digitalWrite(LEFT, LOW);
digitalWrite(RIGHT, LOW);
}
if (yvalue > 5) {
digitalWrite(UP, HIGH);
} else if (yvalue < 2) {
digitalWrite(DOWN, HIGH);
} else {
digitalWrite(UP, LOW);
digitalWrite(DOWN, LOW);
}
// 读取 SEL 引脚状态
int selState = digitalRead(SEL_PIN);
if (selState == LOW) {
// 当 SEL 引脚为低电平时,表示摇杆被按下
// 这里可以添加按下摇杆时要执行的代码
Serial.println("Joystick is pressed!");
}
}
尝试用wokwi试试,发现居然要排队或者付费。。。太坑!不用了!
补充:隐藏的tinkercad全部元件
这是当土拨鼠期间意外的宝藏发现!
现成的连接+代码
其他资源
也可以选择全部展示