浏览量: 472 次浏览

arduino介绍与教程

2020年2月2日 1 作者 Nie Hen

简单介绍arduino分类以及特点,IDE的使用以及 arduino的库函数介绍

‘ * Arduino 介绍
* arduino 类型
* arduino 特点
* IDE
* 教程
* arduino程序结构
* arduino函数
* I/O函数
* 时间函数
* 字符串函数
* 数学函数

Arduino 介绍

Arduino是一个基于易用硬件和软件的原型平台(开源)。它包由可编程的电路板(简称微控制器)和称为Arduino IDE(集成开发环境)的现成软件组成,用于将计算机代码写入并上传到物理板。Arduino提供将微控制器的功能打破成更易于使用的软件包的标准外形

arduino 类型

使用的不同微控制器,可提供各种Arduino板,它们通过Arduino IDE编程,差异基于输入和输出的数量,速度,工作电压,外形尺寸等
比较常用的有
Arduino Uno R3(我使用的是这个)
Arduino Pro 3.3v/8 MHz
Arduino Pro mini 5v/16mhz
…..

enter description here
enter description here

arduino 特点
  • 简单 易上手,有库文件的支持
  • Arduino板卡能够读取来自不同传感器的模拟或数字输入信号,并将其转换为输出,
  • 可以通过Arduino IDE(简称上传软件)向板上的微控制器发送一组指令来控制板功能。
  • 与大多数以前的可编程电路板不同,Arduino不需要额外的硬件(称为编程器)来将新代码加载到板上。你只需使用USB线即可。
  • 此外,Arduino IDE使用C++的简化版本,使其更容易学习编程。
IDE

截图
enter description here

官方地址
IDE官方下载地址

打开示例代码
enter description here

安装库

编译 上传
写好代码后先点击 左边的编译 然后选择好端口点击右边的上传

enter description here

教程

如果是小白的话 可以先看 w3school上面关于arduino的入门教程

https://www.w3cschool.cn/arduino/arduino_board_description.html

arduino程序结构

arduino程序是使用c++ 语言进行编写 (没有编程基础的同学建议先去学一下)
Arduino软件是开源的。Java环境的源代码在GPL下发布,C/C++微控制器库在LGPL下。

程序结构包括两个函数
1. Setup()函数
启动时会调用 setup()函数。使用它来初始化变量,引脚模式,启用库等。setup函数只能在Arduino板的每次上电或复位后运行一次。

  1. Loop()函数
    在创建了用于初始化并设置初始值的setup()函数后,loop() 函数,正如它的名称所指,允许你的程序连续循环的更改和响应。可以使用它来主动控制Arduino板。

arduino中数据类型 以及 运算符 等等与c++ 语言中的一致
当然也可以添加其他函数

打印语句不同为
前面时Serial.print () ;
括号中为 要打印的内容或者对象的值

### arduino函数

##### I/O函数
Arduino引脚默认配置为输入。

引脚配置为INPUT

pinMode(pin,INPUT)

被配置为输入的引脚可用于诸如实现电容式触摸传感器或读取LED作为光电二极管的任务。

analogRead(pin);

此函数返回0到1023之间的数字,表示0到5伏特之间的电压。例如,如果施加到编号0的引脚的电压为2.5V,则analogRead(0)返回512。(可以理解为AD转换)

引脚配置为OUTPUT

pinMode(pin,OUTPUT)

通过pinMode()配置为OUTPUT的引脚被认为处于低阻抗状态。这意味着它们可以向其他电路提供大量的电流。

digitalWrite (pin ,value);

其引脚对应的电压将被设置为相应的值:HIGH为5V(或3.3V在3.3V板上),LOW为0V(接地)

时间函数
  1. delay()
    它接受单个整数(或数字)参数。此数字表示时间(以毫秒为单位)。一般用于延时,控制一个模块的运行时间等等。
  2. millis() 函数
    此函数用于返回Arduino板开始运行当前程序时的毫秒数。使用一个月左右会溢出
    会用于模块交替运行时间判断等

    字符串函数

处理字符信息的时候 使用字符串函数会便利很多

charAt(n)—-返回字符串中第n个字符

compareTo(S2)—-和给的S2字符串比较

concat(S2)—-返回字符串和字符串S2合并后的新字符串

endsWith(S2)—-如果字符串是以S2结尾的就返回TRUE

equals(S2)—-如果字符串和S2完全相符,就返回TRUE

equalsIgnoreCase(S2)—-和equal一样,但是不限制大小写

getBytes(buffer,len)—-拷贝提供的字符长度到字节缓冲中

indexOf(S)—-返回提供的字符串的索引,如果没有就返回-1

lastIndexOf(S)—-和indexOf()一样,但是从字符串尾部开始

length()—-返回字符串中的字符数

replace(A,B)—-用字符串B替换A

setCharAt(index,c)—-把c存储在给定的字符串的索引位置

startsWith(S2)—-如果字符串以S2开始就返回TRUE

substring(index)—-返回一个从给定索引到结尾的新的字符串

substring(index,to)—-同上,但是到给定的to为结束的新的字符串

toCharArray(buffer,len)—-从字符串0长度开始到给定的缓冲长度拷贝

toInt()—-返回字符串中数字为整数值

toLowerCase()—-把字符串全部转化为小写

toUpperCase()—-把字符串全部转化为大写

trim()—-返回一个去前后空格的字符串

参考原文链接
可参考链接2

数学函数

利用 数学库math 中的一些列函数
enter description here

参考