




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Arduino开发平台 Arduino开发平台介绍1 Arduino开发基础操作2 开发实例(用Arduino控制一个舵机)3Arduino开发平台Arduino开发平台介绍 1. 什么是Arduino?Arduino项目起源于意大利,该名字在意大利是男性用名,音译为“阿尔杜伊诺”,意思为“强壮的朋友” 。Arduino的出现并不是偶然,Arduino最初是为一些非电子工程专业的学生设计的。设计者最初为了寻求一个廉价好用的微控制器开发板从而决定自己动手制作开发板,Arduino一经推出,因其开源、廉价、简单易懂的特性迅速受到了广大电子迷的喜爱和推崇。几乎任何人,即便不懂电脑编程,利用这个开发板
2、也能用Arduino做出炫酷有趣的东西,比如对感测器探测做出一些回应、闪烁灯光、控制马达等。Arduino开发平台介绍 1. 什么是Arduino?Arduino应用(视频)Arduino开发平台介绍 Arduino是一块基于开放原始代码的Simple i/o平台,并且具有开发语言和开发环境都很简单、易理解的特点。让您可以快速使用Arduino做出有趣的东西。 它是一个能够用来感应和控制现实物理世界的一套工具。 它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发环境组成。Arduino开发平台介绍 Arduino是一个加载了微控制器的电路板,更是一个包含了硬件和软
3、件的开发平台。将程序下载到主板Arduino开发平台介绍 Arduino硬件是一块完整的电路板,包含一块微控制器IC,一组排母用于连接到其它电路、若干个稳压器IC用于给整个电路提供合适的电源,一个USB接口用于连接计算机。Arduino开发平台介绍 Arduino软件是一个编程的开发环境。这个软件包含一个文本编辑器,可以在文本编辑编辑器中编写并修改程序,软件还包含一个自动上传器,可以将编写完成的程序发送到Arduino开发板。Arduino开发平台介绍 Arduino开发板上需要关注的重点:1. 核心微控制器:Arduino Uno使用的是Atmel AVR ATmega328P微控制器。Ar
4、duino开发平台介绍 Arduino开发板上需要关注的重点:2. 外部连接排母。与外部交互的接口。Uno一共有28个。分成三组:(1)电源(2)模拟输入(3)数字输入/输出Arduino开发平台介绍 Arduino开发板上需要关注的重点:3. USB接口。三个重要功能:(1)程序上传(2)程序调试(Debug)(3)临时供电Arduino开发平台介绍 Arduino开发板上需要关注的重点:4. 可用内存。(1) Flash内存:用于写入和保存数据,ATmega328提供32K Flash内存,其中0.5K用于保存特殊程序Bootloader。(2)静态RAM:运行时临时储存数据。大小为2K。
5、RAM中的数据掉电之后丢失。(3)EEPROM(电可擦可编程只读存储器):用来保存程序的额外数据,如数学公式的值,或者Arduino读取到的传感器读数。掉电之后,它储存的数据不会丢失。Arduino开发平台介绍 Arduino开发板上需要关注的重点:5. Arduino工作速度。所有的微控制器,包括Arduino,都使用一个系统时钟产生的脉冲来进行工作。大部分Arduino的工作速度为16MHz,也就是说每秒能处理1600万条指令。 Arduino开发平台介绍1 Arduino开发基础操作2 开发实例(用Arduino控制一个舵机)3Arduino开发平台Arduino开发基础操作 2.1搭建
6、开发环境2.1.1 交叉编译: 就是在一个平台上生成另一个平台上可以执行的代码。开发人员在电脑上将程序写好,编译生成单片机执行的程序,就是一个交叉编译的过程。很多嵌入式系统需要从一台计算机上编程,将写好的程序下载到开发板中进行测试和实际运行。因此跨平台开发在嵌入式系统软件开发中很常见。因为单片机上不具备直接编程的环境,因此利用Arduino编程需要两台计算机:Arduino单片机和PC。 2.1搭建开发环境2.1.2 在windows上安装IDE 给Arduino编程需要用到IDE(集成开发环境),这是一款免费的软件。在这款软件上编程需要使用Arduino的语言,这是一种解释型语言,写好的程序
7、被称为sketch,编译通过后就可以下载到开发板中。在Arduino的官方网站上可以下载这款官方设计的软件及源码、教程和文档。Arduino开发基础操作Arduino开发基础操作 2.1搭建开发环境2.1.2 在windows上安装IDE(注意USB驱动,Java Framework,查看端口,选择主板类型)Arduino开发基础操作 2.1搭建开发环境2.1.2 在windows上安装IDEArduino开发基础操作 2.2 常用的Arduino 第三方软件介绍2.2.1 图形化编程软件ArduBlock Arduino开发基础操作 2.2 常用的Arduino 第三方软件介绍2.2.2 A
8、rduino 仿真软件Virtual breadboard Arduino开发基础操作 2.2 常用的Arduino 第三方软件介绍2.2.2 Arduino 仿真软件Virtual breadboard Virtual breadboard 是一款专门的Arduino 仿真软件,简称VBB,中文名为“虚拟面包板”。这款软件主要通过单片机实现嵌入式软件的模拟和开发环境,它不但包括了所有Arduino 的样例电路,可以实现对面包板电路的设计和布置,非常直观地显示出面包板电路,还可实现对程序的仿真调试。Arduino开发基础操作 2.2 常用的Arduino 第三方软件介绍2.2.2 Arduin
9、o 仿真软件Virtual breadboard VBB 可以模拟Arduino 连接各种电子模块,例如液晶屏、舵机、逻辑数字电路、各种传感器以及其他的输入/输出设备。这些部件都可以直接使用,也可以通过组合,设计出更复杂的电路和模块。 使用VBB 可以直观的了解电路设计,能够在设计出原型后快速实现。而且虚拟面板具有可视性和模拟交互效果,可以实时地在软件上看到LED、LCD 等可视模块的变化,同时可以确保安全,因为不是实物操作不会引起触电或者烧毁芯片等问题。Arduino开发基础操作 2.3 第一个程序2.3.1 LED闪光灯 编写第一个程序控制开发板上的LED灯闪烁,修改参数调整闪烁时间。(A
10、rduino IDE和blink)Arduino开发基础操作 2.3 第一个程序2.3.1 LED闪光灯程序解析 /* Blink Turns on an LED on for one second, then off for one second, repeatedly.*/注释,并非程序的内容Arduino开发基础操作 2.3 第一个程序2.3.1 LED闪光灯程序解析 int LEDPin=13; /declare variable声明变量Arduino开发基础操作 2.3 第一个程序2.3.1 LED闪光灯程序解析 / the setup function runs once when
11、 you press reset or power the boardvoid setup() / initialize digital pin13 as an output. pinMode(LEDPin, OUTPUT);设置数字引脚13为输出,INPUT和OUTPUT是Arduino IDE已经预先定义好的变量Arduino开发基础操作 2.3 第一个程序2.3.1 LED闪光灯程序解析 / the loop function runs over and over again forevervoid loop() digitalWrite(LEDPin, HIGH); /set the
12、led on delay(1000 ) /wait for a second digitalWrite(LEDPin, LOW); /set the led off delay(1000); /wait for a seconddigitalWrite是内建函数,改变数字引脚输出状态是ON还是OFF,它需要两个参数。Delay是内建的延迟函数。Arduino开发平台介绍 2.3.3函数库和程序架构介绍 Arduino 程序的架构大体可分为3 个部分。(1)声明变量及接口的名称。(2)setup()。在Arduino 程序运行时首先要调用setup()函数,用于初始化变量、设置针脚的输出/输入类
13、型、配置串口、引入类库文件等等。每次Arduino 上电或重启后,setup()函数只运行一次。(3)loop()。在setup()函数中初始化和定义变量,然后执行loop()函数。顾名思义,该函数在程序运行过程中不断地循环,根据反馈,相应地改变执行情况。通过该函数动态控制Arduino 主控板。 Arduino开发平台介绍1 Arduino开发基础操作2 开发实例(用Arduino控制一个舵机)3Arduino开发平台Arduino开发实例 3 用Arduino控制一个舵机3.1 舵机基本工作原理 舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原
14、理是由单片机发出信号给舵机,与舵机内部的基准信号比较,获得电压差输出,驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到达定位,此过程中电机通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵适用于那些需要角度不断变化并可以保持的控制系统。Arduino开发实例 Arduino开发板上需要关注的重点:1. 核心微控制器:Arduino Uno使用的是Atmel AVR ATmega328P微控制器。Arduino开发实例 3.1 舵机有很多规格,但所有的舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,由于舵机品牌不同,颜色也会有所差异
15、,棕色为接地线,红色为电源正极线,橙色为信号线。 Arduino开发实例 3.1舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,由于舵机牌子不同,对于同一信号,不同牌子的舵机旋转的角度也会有所不同。 Arduino开发实例 Arduino开发实例 这是Sketch源码:#include Servo duoji;void setup() duoji.attach(9);Arduino开发实例 void loop() duoji.write(90); delay(2000); duoji.write(180); delay(2000); duoji.write(0); delay(2000);Arduino开发实例 Sketch分析:这个Sketch精悍,它的工作原理如下: #include Sketch第一行指向Arduino的一个库文件,Servo库文件提供了专门用于操作舵机的指令集。库文件可以极大的简化编程任务。Arduino开发实例 Sketch分析:这个Sketch精悍,它的工作原理如下: Servo duoji;使用Servo类创建一个对象duoji.编程语言中,类是指一个封装了数据的封包,包含了对这个数据进行处理的各种机制。(举例)Arduino开发实例 Sketch分析:这个Sketch精悍,它的工作原理如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国铸造总体行业运行现状及发展前景预测报告
- 2025-2030年中国铀矿市场发展状况及投资前景规划研究报告
- 2025-2030年中国苗圃产业市场供需分析及投资风险研究报告
- 2025-2030年中国纺织机械制造产业十三五规划及投资战略研究报告
- 2025年父母分家协议书模板
- 一年级下册数学教案- 2024-2025学年“100以内数的认识”青岛版五四学制
- 一年级下册数学教案-第一单元有趣的数西师大版
- 六年级下册数学教案-1.5已知比一个数多(少)百分之几的数是多少求这个数 -青岛版
- 2025年黑龙江农业经济职业学院单招职业倾向性测试题库完整
- 2025届黑龙江佳木斯一中高三上学期五调生物试题及答案
- 住院患者长嘱口服药发药流程 内科
- 企业面试试题凝思科技quiz
- 少儿绘画之《水粉画葡萄》
- GB∕T 19924-2021 流动式起重机 稳定性的确定
- ACUSONX150西门子彩色多普勒超声系统
- 中国青年气候意识与行为调研报告2020
- M701F燃气轮机控制与保护
- 《物理化学》电子教案(上册)(共84页)
- berg平衡评定量表
- 一年级下学期开学家长会
- 中国控制会议论文模板英文
评论
0/150
提交评论