一、舵机 认识舵机
2.让舵机动起
代码
3.用可调电阻控制舵机的运动
第一步:使用两根Grove电缆将Grove - Servo连接到Base Shield的端口D3上,将Grove - Rotary Angle Sensor连接到Base Shield的端口A0上。
第二步:将Base Shield插入Seeeduino / Arduino。
第三步: 通过USB线将Seeeduino / Arduino链接到您的PC。
可调电阻控制舵机运动的代码
红外遥控 今天,我们将尝试建造一个生活中经常使用的设备——可转头的遥控电风扇,配有遥控器让用户随手控制电风扇。这个项目将使用入门套件和扩展套件里的电机、舵机与遥控器。
材料准备
开始制作 步骤1:硬件设备连接
本项目所需的硬件设备包括:
入门套件
Grove 红外接收器,连接入门套件的 D2 管脚
舵机,连接入门套件的 D6 管脚
Grove 迷你风扇,将直流电动机驱动器连接到入门套件的 D7 管脚
步骤3:开始编程
需要通过编程实现的功能如下:
• 使用遥控器的播放/暂停按键,控制开启电风扇和关闭电风扇,如下图所示。
使用遥控器的音量增加按键,增加风扇转动幅度5度,音量减小按键,降低风扇转动幅度5度。
注意:在 Codecraft 添加用于红外接收器的积木,需要先添加“智慧城市”的扩展,如下图所示。
添加后,可以在“智慧城市”的积木分类区里找到有关红外发射模块发送和接收(获取)的积木。
第一步,新建项目及初始化
在 Codecraft 创建新的 Arduino Uno/Mega 程序,并命名项目名称为“可转头的遥控电风扇”。
向工作区拖拽初始化积木,如下图所示。
第二步,实现电风扇的基本开关功能
实现基本的电风扇控制:让电风扇开启1秒钟,再关闭1秒钟。程序如下图所示。
将程序上传到入门套件,测试风扇是否正常工作。
第三步,获取遥控器按键的返回值
遥控器按键分布着21个按键,每按下一个按钮,实际上遥控器是根据协议用红外线发送出一串数字。在使用遥控器编程之前,我们需要先知道遥控器发送的是哪个数字,这样就可以使用这个数字,来确定用户究竟按了哪个按键。
可以通过下面这个程序,利用串口来获取遥控器的数字。
将程序上传到入门套件,然后在 Codecraft 里连接设备,打开串口监视器,用按下遥控器的暂停按键,如下图所示可以在串口监视器看到一个数字。
将数值记下,并标注。
播放按钮:16761405
然后再按下:音量增高和音量降低按键,共获得3个数字。
播放按钮:16761405
音量增加:16754775
音量减少:16769055
有了这3个数字,我们可以继续下一步编程。
第四步,添加遥控控制电风扇的程序
程序的基本逻辑如下:
• 添加变量 state 用作控制电风扇的开关,state = 1 开启电风扇,否则关闭
• 添加 angle 变量 用作控制电风扇摇头的角度,初始默认为90度。
• 如果红外接收模块 获取值 = 16761405,就让变量 state +1,如果 state =2,就将 state 重置为 0,以此构成一个可以循环的开关
• 如果红外接收模块 获取值 = 16754775,就让变量 angle 增加 30
• 如果红外接收模块 获取值 = 16769055,就让变量 angle 减少 30
• 当 angle 变量 大于 180 度,就保持 180 度不变
• 当 angle 变量 小于 0 度,就保持 0 度不变
• 舵机根据 angle 变量 的值转动到指定角度
最终的程序如下图所示。
将程序上传到入门套件,然后使用遥控进行测试:开关,左右转头。