Arduino 控制舵机
2
如下图所示进行硬件的连接,此步我们先不连接任何其他元件,只需将Arduino UNO控制器连接到电脑
Arduino 控制舵机
如下图所示,我们先不使用电位计控制,只是使用程序来控制一个舵机,将下列程序复制到Arduino IDE中或者可以直接在最后一步中提供的百度网盘地址中直接下载代码和 Fritzing 电路图
#include <Servoh>
Servo myservo;
int pos = 0;
void setup()
{
myservoattach(9);
}
void loop()
{
for(pos = 0; pos <= 180; pos += 1)
{
myservowrite(pos);
delay(15);
}
for(pos = 180; pos>=0; pos-=1)
{
myservowrite(pos);
delay(15);
}
}
Arduino 控制舵机
如图所示,选择正确的板卡型号和端口,将程序上传到控制器中。
Arduino 控制舵机
Arduino 控制舵机
如图所示,程序上传无误的情况下 Arduino IDE 软件会显示如下结果,在上传过程中,Arduino 控制器板载的 TX RX 灯会频闪
Arduino 控制舵机
如下图所示,使用舵盘连接螺丝,连接舵盘和舵机
Arduino 控制舵机
按照下图中的电路,进行实验硬件的连接
注意:舵机线一种是:红、黑、黄(红色连接 Vcc、黑色连接 GND、连接信号 S)
还有较为常见的一种是:棕、红、橙(棕色连接 GND、红色连接 Vcc、橙色连接信号 S)
Arduino 控制舵机
实验效果如图所示,舵机会自动从 -90 度转动到 90 度,再从 90 度转动到 -90 度。注意当 Arduino UNO 控制器连接到电脑供电时,舵机会自动归回中间位置
Arduino 控制舵机
代码回顾:
(1)#include<Servoh> 载入 Servoh 库文件
(2)Servo myservo; 建立一个舵机对象,名称为 myservo
(3)myservoattach(9); 将引脚 9 上的舵机与舵机对象连接起来
attach 函数连接一个舵机对象到指定的引脚上,attch 函数可以有 1 或 3 个参数。如果使用 3 个函数,第一个参数表示引脚,第二个参数表示最小角度(0度)的脉冲宽度,单位是微秒(默认是 544),第三个参数表示最大角度(180度)的脉冲宽度,单位是微秒(默认是2400)。通常情况下,只需要设置舵机引脚,忽略第二和第三个参数。
(4)myservowrite(pos); 写角度到舵机
代码位置如下图所示:
Arduino 控制舵机
硬件回顾:
舵机:包括一个直流点击,一套装在电机和输出轴之间的齿轮系统,一个位置传感结构和一个控制电路。位置传感机构检测舵机的位置并提供给控制系统,控制系统使用电机控制舵机臂运动到指定位置。有很多不同尺寸、速度、精度的舵机,功率越大、精度越高的舵机相对价位也比较高。使用汽车、机器人、飞机时,舵机是很常用的一种方式。通过PWM信号实现舵机位置的控制,一般来说脉宽在 500 微秒到 2500 微秒之间,舵机从 -90 到 90 度。下图所示为舵机的内部结构图
Arduino 控制舵机
下图分别为(1)舵机控制原理(2)舵机扭矩计算方法(3)输入脉冲宽度与舵机角度对应关系图,供大家参考
Arduino 控制舵机
Arduino 控制舵机
Arduino 控制舵机Arduino是一种基于开源硬件和软件的电子开发平台,旨在为大众提供一个简单易用的电子开发工具。Arduino的核心是一个基于Atmel AVR或ARM架构的微控制器,这个微控制器包含了数字和模拟输入/输出引脚、USB接口、电源接口等,用户可以通过编写Arduino程序,控制这些硬件模块的运作,实现各种功能,如LED闪烁、电机驱动、温度监测、声音识别等等。Arduino的优点在于它简单易用、开源、灵活、价格低廉,适合初学者和专业开发者使用,广泛应用于教育、创客、艺术等领域。用arduino很容易,安卓与arduino之间用串口通信,安卓端用Usb类库,ardunio端用Serial库。
我也在看这类,我看到有USB对SPI,I2C接口的转换器(某宝有卖),理论上,用这个,可以实现安卓直接与SPI,I2C接口传感器通讯,但这个转换器成本应该高过一块arduino板了。而且不具备AD和DA功能,所以,建议还是连接arduino后,用arduino来控制传感器吧。很多简单的工作,让arduino来完成就好了。把arduino当成一个串口通讯的usb传感器。
智能家居是以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。
智能家居就是方便,怎么方便?之前建配龙商场就有个活动,是个智能门锁,通过指纹识别开锁,通过钥匙开锁,通过手机APP开锁,你忘记带钥匙,不会忘记带手机,忘记带手机不会忘了带指纹。所以这就是智能家居的方便点。
问题太大。这个有成熟产品面世了。温度传感器、麦克风模块、雨滴传感器、红外传感器、通过类似的传感器进行判断,通过arinowifi模块继电器模块做个wifi控制。
不过现在成本很大价格很贵。再等2年左右绝对商业化。下面说个应用
这是一个很简单的单片机应用,但与一般单片机不同的是,本作品使用ArinoUNO单片机和Arblock软件编程来实现,所以很适合非专业的爱好者、中小学生来制作,其原理主要是利用超声波传感器检测头部与书本的距离,通过Led发光管和报警声音,提醒使用者,及时纠正不良读写姿势,保护眼睛,预防近视。
一、硬件介绍:
(一)ArinoUNO单片机:这是由一个开放源码的硬件平台和一套专门的软件开发环境组成。它可以用来开发交互产品,它可以读取开关和传感器信号,可以控制电灯、电机和其他物理设备。ArinoUNO(R3版本)采用的微处理器是ATmega328。该版本包括14个数字输入输出IO,6个模拟输入IO,16MHZ的晶体,USB接口,电源接口,烧录头,复位按钮等。
电路结构图
(二)传感器:
1、超声波传感器的引脚有5根,分别是:①VCC电源端②TRIG控制端③ECHO接收端④、⑤GND地线(也即电源的负极)
2、引脚连接:1脚VCC和arino板的VCC脚连接,5脚GND也和相应的GND连接,2脚TRIG可以连接到A板的任意一个数字端口,如3号口,3脚ECHO也一样,如连连至2号口。
3、使用方式——“电平触发”
(三)LED和蜂鸣器:
LED可以选用普通发光二极管,蜂鸣器用普通的就可以,没有特别要求。
二、编程语言的选择:
ArBlock是一款基于Arino爱好者的图形化编程软件,所有程序都可以通过搭积木的方式,把高级的计算机语言和专业的语法,简化为一个个模块,堆砌在一起。
主程序
超声波检测程序
三、功能说明与外观制作:
(一)实物面板图如上所示:
(二)功能说明:
1、开电源,系统自检,8个小灯一闪一闪,LED1亮,表示正常工作。
2、系统读取人头部与书本的距离作为参考数据。
3、系统进入检测状态
LED1——灯亮,电源工作中
LED2:闪烁,表示在检测状态中。
LED3——LED4:姿势正确
LED5——LED6:姿势不对,闪烁,轻轻发出“滴”声提醒。
LED7——LED8:要纠正姿势,闪烁,同时播放音乐,提醒调整距离。
(三)电路焊接与外观制作:
1、电路焊接:
本作品电路结构简单,通过制作这一作品,可以培养初学者焊接技术。焊接顺序是这样:首先用烙铁头给要焊接的地方加热,然后把焊锡丝送到焊接点,等锡熔化到所需要的量时,先移开焊锡丝,再拿开烙铁头,此时焊接点不能移动,否则会出现虚焊。
有一个说明,初学者可能会使用助焊剂来帮助焊接,实际上常用的焊锡丝内部就有松香,就是起到肋焊剂的作用,所以不需要再使用肋焊剂,有些肋焊剂还具有腐蚀性,所以建议不要使用。
2、外观结构制作:
本作品外观采用PVC线槽来设计,这一方法主要还是受PVCBOT-Jason的启发,主要是考虑PVC线槽具有方便切割的特点,因此本作品也算是PVCBOT的一个ArinoUNO单片机实现案例,同时也向Jason和他的团队表示感谢,感谢他们为大家提供那么多的PVCOBOT作品。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)