单片机课程设计报告-ShandongUniversity.PDFVIP

  • 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)

1亿VIP精品文档

相关文档