Arduino 学习笔记
初识 Arduino
Arduino是什么
Arduino是一款便捷灵活、方便上手的开源电子原型平台。
包含硬件 (各种型号的Arduino板)和软件(ArduinolDE)两个部分。是由一个意大利的一个开发团队于2005年冬季开发。
值得注意的是,Arduino是完全开源的
Arduino能做什么
爱好者及开发者可以使用Arduino与一些计算机软件以及一些电子硬件模块结合,快速作出具有智能互动电子作品。
例如智能机器人 、智能避障循迹小车 、物联网电子设计、仿真机械等、智能家居、智慧农业…..
Arduino特点
跨平台
ArduinoIDE可以在Windows、Macintosh OS(Mac OS)、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。
易上手
Arduino IDE是基于c/c++语言并对AVR相关参数函数化,即使不了解底层原理,简单学习之后,你也可以迅速的开发出令人惊艳的智能电子作品。
开放性
Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。
发展迅速
Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。

Aeduino开发板介绍
单片机
什么是单片机?
- 单芯片微型计算机,简称单片机
- 单片机是一种集成电路芯片,是一个小而完善的微型计算机系
- 微控制器
- 接收数据、处理数据、反馈数据
- 通过执行载入的程序进行工作
- 通过各种I/O (input/output) 口与外部设备连接

常见三款Arduino开发板
- Arduino Uno
- Arduino Nano
- Arduino Mega 2560
- Arduino UNO R3 开发板详解

- Arduino Uno开发板就是一款基于单片机 ATmega328P的微控制器板
Aeduino使用语言及编译器
Arduino语言
C/C++语言
- 以C语言为基础语法,把AVR单片机相关的一些参数设置都函数化
- 拥有丰富的核心库和扩展库,有面向对象思想
- 因此Arduino程序是基于两种语言混合编写而成
- 特点:简单易入门、功能强大
Arduino编译器
- Arduino IDE
- 编写Arduino语言
- 把Arduino语言翻译成单片机可以理解的语言
- 上传程序到开发板
Arduino语言基础
基础框架
1 | void setup(){ |
初始化函数:void setup(){}
- 在整个程序执行过程中只会运行一次
- 一般用于程序内一些函数、变量、常量等的初始化设置
循环函数:void loop(){}
- 在整个程序执行过程中会循环运行
- 既在开发板通电或复位后首先执行void setup(){ }里面的函数体,然后接着执行void loop(){ }里面的函数体,最后会一遍又一遍的执行void loop(){ }中的函数体直到断电或再次复位
在使用Arduino时即使以后用不到void setup(){ }和void loop(){ }两个函数也不可删掉,否则会报错
基础函数
数字I/O
HIGH 表示高电平(1);
LOW 表示低电平(0);
INPUT 表示输入,用于读取信号;
OUTPUT 表示输出,用于输出信号;
pinMode()
pinMode(pin,mode) 函数用于配置引脚的模式为输入或输出模式;
参数:pin为指定配置的引脚编号;
参数:mode为指定的配置模式 ;
1、INPUT 输入模式 2、OUTPUT 输出模式 3、INPUT_PULLUP 输入上拉模式
digitalWrite()
digitalWrite(pin,value) 指定脚位输出高电平或者是低电平;
参数:pin为指定输出的引脚编号;
参数:value为你要指定输出的电平;
使用HIGH指定输出高电平,或是使用LOW指定输出低电平
digitalRead()
digitalRead(pin) ;获取指定引脚信号状态;
参数:pin为指定读取状态的引脚编号。
返回值:为获取到的信号状态,1为高电平,0为低电平。
模拟I/O
analogRead()
analogRead(pin) 读取指定引脚模拟值;
参数:pin是指定要读取模拟值的引脚,被指定的引脚必须是模拟输入引脚。如analogRead(A0),即是读取A0引脚上的模拟值。
返回值: Arduino Uno模拟输入功能有10位精度,即可以将0~5V的电压信号转换为0~1023的整数形式表示。
analogWrite()
analogWrite(pin,value) 函数实现PWM输出功能
在Arduino Uno中,提供PWM功能的引脚为3、5、6、9、10、11。
参数:pin 是指定要输出PWM波的引脚;
参数:value 指定是PWM的脉冲宽度,范围为0~255。
在analogWrite() 和analogRead() 函数内部,已经完成了引脚的初始化,因此不用在Setup() 函数中进行初始化操作。
analogReference()
时间函数
delay()
delay(ms) 延时函数,单位毫秒 1000毫秒=1秒
millis()
millis() 计时函数,获取单片机运行 时间,单位毫秒










