初识 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不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。

image-20230428210611966


Aeduino开发板介绍

单片机

什么是单片机?

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

常见三款Arduino开发板

  • Arduino Uno
    • image-20230506134651672
  • Arduino Nano
    • image-20230506140621447
  • Arduino Mega 2560
    • image-20230506140648372

  • Arduino UNO R3 开发板详解
    • image-20230506140955419
    • Arduino Uno开发板就是一款基于单片机 ATmega328P的微控制器板

Aeduino使用语言及编译器

Arduino语言

C/C++语言

  • C语言为基础语法,把AVR单片机相关的一些参数设置都函数化
  • 拥有丰富的核心库和扩展库,有面向对象思想
  • 因此Arduino程序是基于两种语言混合编写而成
  • 特点:简单易入门、功能强大

Arduino编译器

  • Arduino IDE
  • 编写Arduino语言
  • 把Arduino语言翻译成单片机可以理解的语言
  • 上传程序到开发板

Arduino语言基础

基础框架

1
2
3
4
5
6
7
8
9
void setup(){
语句体;
}

void loop(){
语句体1;
语句体2;
语句体……;
}

初始化函数: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() 计时函数,获取单片机运行 时间,单位毫秒

串口通讯