arduino开关控制舵机往复运动_【可控舵机】基于Mind+ Ardunio入门教程11

本教程介绍了如何通过电位器控制9g Micro Servo舵机,利用Arduino和Mind+软件实现舵机角度的连续调节。通过电位器的旋转,读取模拟口0的值并映射到舵机0到180度的角度范围,实现舵机的可控转动。此外,文章还探讨了电位器的工作原理和在电路中的应用。
摘要由CSDN通过智能技术生成

点击上方“蘑菇云创造”可以关注我们哦

在前面一个项目中,我们知道了如何让舵机动起来,这里将进一步的通过外部信号来让舵机随着输入的改变来相应改变角度,方便做一些可控的转动装置。我们这里通过一个可变电阻——电位器,来控制舵机。当然你也可以通过其他的模拟量或者数字量来控制舵机。模拟量的话,比如改造一下前面的感光灯,变成一个会动的感光灯。数字量的话,比如通过一个按钮,倾斜开关等等,一旦触发开关,就让舵机转动,可以有很多玩法。再给舵机加个外壳,让它更具生命力。

所需元件

■ 1×  Micro Servo 9g  

396f4069f554bfb3477ea0fe29fafa02.png

■ 1× 10K电位器    

d9fcd70325ba0e7e1e7366a6396d6463.png

硬件连接

与前面一节不同处在于多了一个电位器,电位器相当于一个可变阻值的电阻,两个引脚的一边分别接5V与GND,而另一边只有单独一个引脚的接模拟口0,用于做输入信号。

好的,接下来我会给你展示如何在Arduino端编写相应的代码来接收并解析python发送的指令,控制舵机运动一次。 以下是一个简单的Arduino代码示例,它可以接收Python发送的指令并控制舵机运动一次。该示例使用了Servo库来控制舵机转动,你需要先在Arduino IDE中安装并导入该库。 ```Arduino #include <Servo.h> Servo servo; void setup() { // 启动串口通信 Serial.begin(9600); // 附加舵机到数字引脚9 servo.attach(9); } void loop() { if (Serial.available() > 0) { // 读取串口中的数据 String command = Serial.readStringUntil('\n'); // 解析指令并控制舵机 if (command.startsWith("servo")) { int pos = command.substring(6).toInt(); servo.write(pos); } } } ``` 将以上代码保存为`servo_control.ino`,上传至Arduino板子中,并确保板子已连接到电脑上的串口。然后,在终端中执行Python代码即可控舵机运动一次,Python代码示例如下: ```python import serial import time ser = serial.Serial('/dev/ttyACM0', 9600) # 打开串口 time.sleep(2) # 等待arduino重启 # 控制舵机运动 ser.write(b'servo 90\n') # 90为舵机转动的角度 time.sleep(2) # 等待舵机运动完成 ser.close() # 关闭串口 ``` 注意,这里的Python代码与之前稍有不同,因为Arduino代码中解析指令的方式发生了变化。具体来说,Python发送的指令变为了`servo 90\n`,其中的数字表示舵机转动的角度,而Arduino代码中通过`command.substring(6).toInt()`来提取该数字并换为整数。 希望这个示例能够帮助你实现控制Arduino舵机的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值