- 4
- 0
- 约7.52千字
- 约 19页
- 2020-04-19 发布于天津
- 举报
单片机课程设计
报告
题目:微信控制机器人
院系: 物理学院
队长: 周慧中
同组成员: 李雪 刘业腾
完成时间:2015 年6 月5 日
摘要:微信布局智能硬件这事,现在确实不能小视。在海尔魅族抱团、
小米、京东已经初具规模的江湖割据大背下,腾讯系的摊子已经铺开。
腾讯参与智能硬件目前主要利用QQ 物联和微信接入智能硬件两个
入口,今天说下微信接入的智能硬件进展。目前看,接入微信互联的
智能硬件已经包含了四个大类:可穿戴产品、智能家居产品、智能家
电产品和智能健康类产品。在这一背景下,我们团队利用微信来控制
机器人作出相应的动作。而这一应用运用到实际生产中,将给人们带
来更大的便捷性。
关键词:单片机 机器人 微信
一、设计目的
1、了解机器人的工作原理以及需要用到的资源。
2 、了解通过编程来调节机器人的平衡性,以及能做一些简单的动作。
3、熟悉掌握对硬件的运用,能够通过软件编程来达到对硬件的控制。
4 、了解微信控制硬件的工作原理。
5、熟练掌握avr 单片机的编程及应用,掌握avr 单片机对中断的控制。
6、学习通过单片机对舵机旋转角度的控制。
二、产品用途及功能
可以向手机端的微信输入不同的指令,受控制的机器人会作出相
应的动作。通过手机微信就可以很轻松的让机器人做你想让它做的事
情。
三、硬件设计思想及说明
1、单片机的选择
Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的
Arduino 板)和软件(Arduino IDE) 。Arduino 能通过各种各样的传感器来感知环境,通过
控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino 的编
程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino 的编程是利用 Arduino
编程语言 (基于 Wiring)和Arduino 开发环境(基于 Processing)来实现的。基于Arduino 的
项目,可以只包含Arduino ,也可以包含Arduino 和其他一些在PC 上运行的软件,他们之
间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
因为Arduino 有开放源代码的电路图设计,程序开发接口免费下载,技术成熟,运行可
靠,成本和维修费用低廉,因此我们选用了arduino uno r3 。
2、Arduino uno 引脚功能说明
3、Arduino 与舵机的链接及控制
舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测
器所构成。其工作原理是由接收机或者单片机发出信号给舵机,其内部有一个基准电路,产
生周期为20ms,宽度为1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获
得电压差输出。经由电路板上的IC 判断转动方向,再驱动无核心马达开始转动,透过减速
齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到达定位。适用于那些需
要角度不断变化并可以保持的控制系统。当电机转速一定时,通过级联减速齿轮带动电位器
旋转,使得电压差为0,电机停止转动。一般舵机旋转的角度范围是0 度到180 度。
舵机有很多规格,但所有的舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,由
于舵机品牌不同,颜色也会有所差异,棕色为接地线,红色为电源正极线,橙色为信号线。
舵机的转动的角度是通过调节PWM (脉冲宽度调制)信号的占空比来实现的,标准PWM (脉
冲宽度调制)信号的周期固定为20ms (50Hz),理论上脉宽分布应在1ms 到2ms 之间,但
是,事实上脉宽可由0.5ms 到2.5ms 之间,脉宽和舵机的转角0°~180°相对应。有一点
值得注意的地方,由于舵机牌子不同,对于同一信号,不同牌子的舵机旋转的角度也会有所
不同。
用Arduino 控制舵机的方法有两种,一种是通过Arduino 的普通数字传感器接口产生占空
比不同的方波,模拟产生PWM 信号进行舵机定位,第二种是直接利用Arduino 自带的Servo
函数进行舵机的控制。
参考程序:
#include Servo.h
Servo myservo;//定义舵机变量名
void setup()
{
myservo.attach(9);//定义舵机接口(9、10 都可以,缺点只能控制2 个)
原创力文档

文档评论(0)