Arduino小白入门全解,学习笔记

Arduino小白入门全解,学习笔记

这是我写的第一篇文章,接下来会陆续更新arduino的基础知识与项目实践

Arduino介绍

官网链接 Arduino

Arduino是源自意大利的一个开放源代码的硬件项目平台,该平台包括一块具备简单I/O功能的电路板以及一套程序开发环境软件。Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制电灯、电机和其他各式各样的物理设备;Arduino也可以开发出与PC相连的周边装置,能在运行时与PC上的软件进行通信。Arduino的硬件电路板可以自行焊接组装,也可以购买已经组装好的模块,而程序开发环境的软件则可以从网上免费下载并使用。

引脚介绍

如图
在这里插入图片描述

引脚作用
0和1接口串口输出输入(入门很少用到,如无必要尽量不用这两个接口)
2到13接口可作为数字输入输出 (输出or输入,可自己定义) 其中带 ~ 符号的可作为模拟输出
A0到A5模拟输入
GND接地线
5V输出5V电压
3.3V输出3.3V电压
Vin外部电源给arduino供电 ,电压要在7~12V之间
SCL与SDAI2c接口,初学者很少用

相关概念

  1. 数字输入输出:只有0和1两种状态,表示开或关(高电平或低电平)
  2. 模拟输入输出:就是将电信号转化为一系列数值,有一系列的量,如可设置灯泡百分之几的亮度,而不是只有开关。
  3. 模拟输入:0-5V的电压转换为0-1023的整数来表示
  4. 模拟输出:PWM (脉宽调制)输出 (0~255)
  5. 高电平低电平:Arduino一般用的是5V的电压,超过3V就算是高电平,低于1.5V就是低电平啦,一般来说高电平就是5V上下,低电平就是指的0V。
  6. PWM :(脉宽调制)输出,带PWM功能的引脚标有波浪线 ‘~’。
  7. 拉高:给Arduino的引脚设定了模式之后,有时并未指定引脚的状态,引脚会悬空,状态忽高忽低,拉高就是说让引脚保持高电平的状态
  8. 拉低:相反

编程环境

Arduino IDE 下载

安装好如下
在这里插入图片描述
注意,上传时要在‘工具’中选择开发板型号与端口(新手易错)

文件 >> 示例中有示例代码

编程语法

打开IDE的时候会发现是下面的格式:以下两个是必须的结构
voidsetup()
{ 启动函数 初始化代码、IO口定义代码,只运行一次的代码
}
voidloop()
``{ 循环执行函数 运行顺序是从上到下,一直重复运行的代码
}

pinMode(端口号,OUTPUT / INPUT / INPUT_PULLUP)  //   设置引脚输入输出模式  
                                             //OUTOUT : 输出,INPUT : 输入,INPUT_PULLUP输入上拉模式
digitalWrite(端口号,HIGH / LOW)              //  设置引脚的输出电平
//                                             HIGH :高电平,LOW:低电平
digitalRead(端口号)   					    //读取外部输入的数字信号
               							// 1(HIGH)为高电平,0(LOW)为低电平
analogReference(type)
//作用是配置模拟输入引脚的基准电压(即输入范围的最大值),它是一个无返回值的函数,只有一个参数type,type的选项及具体含义如下:
//DEFAULT:默认5V或者3.3V为基准电压。
//INTERANL:低电压模式,使用片内基准电压源
//INTERNAL1V1:低电压模式,以1.1V为基准电压
//INTERNAL2V56:低电压模式,以2.56V为基准电压。
//EXTERNAL:扩展接口,以AREF引脚(0~5V)的电压为基准电压。
analogWrite(端口号,value)
//模拟输出定义,无返回值函数,有两个参数pin和value,参数pin表示输出PWM的引脚,这里只能选择函数支持的引脚,参数value表示PWM占空比,其范围在0~255,对应占空比为0~100%,简单说就是输出百分之几的电压
delay(  数字 )   
// 毫秒为单位的延时函数
delayMicroseconds(数字)
//延时函数,可以产生更短时间的延时,参数是延时的长度,单位为微秒。
Serial.begin()
//用于设置串口的波特率,波特率是指每秒传输的比特数,除以8就可以得到每秒传输的字节数,一般用
//300   600  1200  2400  4800  9600  14400  19200 28800  38400 57600 115200。

Serial.available()
//用于判断串口是否接受到数据,该函数返回值为int型,不带参数。

Serial.read()
//用于将串口数据读入,该函数返回值是int型,不带参数。

Serial.print()
//用于从串口输出数据,数据可以是变量,也可以是字符串。

Serial.printIn()
//比Serial.print()多了回车换行功能,自动回车

进阶

中断函数
单片机的中断可以描述为:由于某一随机事件的发生,单片机暂停在原程序的运行,转而执行另一个程序(随机事件),处理完毕之后又自动回到断点处继续执行,其中, 中断源、主程序、中断服务程序简述如下:
中断源:引起中断的原因,或能够发生中断请求的来源。
主程序:单片机现在运行的程序。
中断服务程序:处理中断请求的程序。
interrupts()和noInterrupts()
在Arduino中,interrupts函数和noInterrupts函数分别负责打开与关闭中断,这两个函数均为无返回值的函数,无参数。
attachInterrrupt(interrupt,function,mode)
该函数用于设置外部中断,有三个参数,分别表示中断源、中断处理函数和触发模式,它们的具体含义如下:
中断源:可选01,对应23号数字引脚。
中断处理函数:指定中断的处理函数,是一段程序,当中断发生时执行该子程序部分,其中参数为函数的指针。
触发模式:有四种类型-LOW(低电平触发)、CHANGE(跳变时触发)、RISING(上升沿触发)、FALLING(下降沿触发)。
detachInterrupt(interrupt)用于取消中断。
    


导入函数库

‘管理库’中可搜索库文件,若没有需要外部导入
方法一:下载库的ZIP文件,直接在Arduino IDE中导入,导入按钮如图

在这里插入图片描述

方法二:解压库的zip文件,将文件夹放置于 文档/Arduino/libraries 文件夹内

最后

持续更新arduino 树莓派 python 等等
接到有帮助的话 求点赞👍 求关注❤️ 求分享👥
有问题可以评论
点关注,不迷路
如果有任何错误,任何建议,请批评指教,不胜感激 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuanFuXinCSDN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值