arduino学习基础与开发_第1页
arduino学习基础与开发_第2页
arduino学习基础与开发_第3页
arduino学习基础与开发_第4页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Arduino基础与开发李争路一、单片机单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。Arduino是一个单片机的最小系统。二、Arduino简介、什么是arduino?Arduino,是一块基于开放源代码的USB接口Simple i/o接口板并且具有使用类似Java,C语言的IDE集成开发环境。可以很容易实现与Fla

2、sh 和 processing 的互动。IDE(Integrated Development Environment),即集成开发环境。是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫做集成开发环境。如微软的Visual Studio系列,Borland的C+ Builder、Delphi系列等。、Arduino规格微型控制器 ATmega168 工作电压 5V 输入电压(建议) 7-12V 输入电压(极限) 6-20V 数字输入/

3、输出端 14 (3, 5, 6, 9, 10, 11提供输出的PWM) 模拟输入端 6 PWM (Pulse Width Modulation),即脉冲宽度调制。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。闪存 16 KB (ATmega168)或32KB(ATmega328) ,其中2 KB被bootloader使用 SRAM 1 KB (ATmega168)或2 KB (ATmega328) EEPROM 512个字节(ATmega168)或1 KB (ATmega328) 闪存,用于存储程

4、序。bootloader可以看作是一个引导程序。SRAM(Static RAM),是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器。一种掉电后数据不丢失的存储芯片。、Arduino开发环境从官方网站 可下载到程序,编程语言类似C, java,且有详细的介绍和丰富的实例。、工作方式可以通过USB与电脑相连,或单独供电。程序写到arduino里之后只要有电就可以独立运行。实际的量模拟信号 电压(分度取决于模数转换的精度)传感器AD转换

5、器Arduino此模数转换器精度为10bit,即能读取1024(210=1024)个状态,模拟输入电压05V,所以arduino能感知的最小电压变化为4.8mV(5V/1024=4.8mV)。三、几个例子、几个简单的程序/*LED闪烁*/int ledPin = 13; void setup() pinMode(ledPin, OUTPUT); void loop() digitalWrite(ledPin, HIGH);delay(1000); digitalWrite(ledPin, LOW); delay(1000); /*模拟输入*/int sensorPin = 0; int led

6、Pin = 13; int sensorValue = 0; void setup() pinMode(ledPin, OUTPUT); void loop() sensorValue = analogRead(sensorPin); digitalWrite(ledPin, HIGH); delay(sensorValue); digitalWrite(ledPin, LOW); delay(sensorValue); const int analogPin=0; const int ledCount=9; const int pwmPin=11; int ledPins=2,3,4,5,6

7、,7,8,9,10; void setup() Serial.begin(9600); for(int thisLed = 0; thisLed ledCount; thisLed+) pinMode(ledPinsthisLed, OUTPUT); 、变化电压与LEDs void loop() int sensorReading=analogRead(analogPin); int ledLevel=map(sensorReading, 0, 1023, 0, ledCount); for(int thisLed=0;thisLedledCount;thisLed+) if(thisLedledLevel) digitalWrite(ledPinsthisLed,HIGH); else digitalWrite(ledPinsthisLed, LOW); /pwm变化范围是0255 analogWrite(pwmPin,sensorRea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论