Arduino 蓝牙开门机

本文介绍了如何使用Arduino UNO R3结合HC-06蓝牙模块控制Micro Servo 99舵机,详细解析了舵机的工作原理、连接方式以及Arduino控制舵机的两种方法,包括直接使用Servo库和模拟PWM信号。同时提到了蓝牙模块的连接配置,并提供了相关源码参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

材料

  • 舵机(Micro Servo 99)
  • Arduino UNO R3
  • HC-06蓝牙模块
  • 杜邦线若干

数据线连接

接线图片
HC-06 ---------------------------Arduino UNO R3
RXD---------------------------------------11
TXD --------------------------------------10
GND------------------------------------GND
VCC--------------------------------------5V

舵机(Micro Servo 99)--------------------------Arduino UNO R3
橙色线(信号线)----------------------------------------------9
红色(VCC)---------------------------------------------------5V
棕色(GND)--------------------------------------------------GND

材料分析

舵机
舵机
舵机有很多规格,但所有的舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,由于舵机品牌不同,颜色也会有所差异,棕色为接地线,红色为电源正极线,橙色为信号线。
在这里插入图片描述
舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM(脉冲宽度调制)信号的周期固定为20ms(50Hz),理论上脉宽分布应在1ms到2ms 之间,但是,事实上脉宽可由0.5ms 到2.5ms 之间,脉宽和舵机的转角0°~180°相对应。有一点值得注意的地方,由于舵机牌子不同,对于同一信号,不同牌子的舵机旋转的角度也会有所不同。
舵机脉宽
用Arduino 控制舵机的方法有两种
1.通过Arduino 的普通数字传感器接口产生占空比不同的方波,模拟产生PWM 信号进行舵机定位
2.直接利用Arduino 自带的Servo 函数进行舵机的控制,这种控制方法的优点在于程序编写,缺点是只能控制2 路舵机,因为Arduino 自带函数只能利用数字9、10 接口。Arduino 的驱动能力有限,所以当需要控制1 个以上的舵机时需要外接电源。

方法1
将舵机接数字 9 接口上。
编写一个程序让舵机转动到用户输入数字所对应的角度数的位置,并将角度打印显示到屏幕上。
参考源程序A:

	int servopin=9;//定义数字接口9 连接伺服舵机信号线
	int myangle;//定义角度变量
	int pulsewidth;//定义脉宽变量
	int val;
void servopulse(int servopin,int myangle)//定义一个脉冲函数
{
   
	pulsewidth=(myangle*11)+500;//将角度转化为500-2480 的脉宽值
	digitalWrite(servopin,HIGH);//将舵机接口电平至高
	delayMicroseconds(pulsewidth);//延时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值