赞
踩
(需要C基础)
我会简单地介绍一下arduino(IDE)的工作配置,以及用简单的案例来让初学者快速入门。在此,我使用esp8266(NodeMCU版)的案例来讲解。以及会涉及到esp8266(NodeMCU)的使用。
ps:这里不介绍arduino的硬件方面;不涉及环境安装方面。
不介绍→
第一次入门硬件需要理解的概念:arduino(IDE)就是一个写代码的环境,写好代码之后将编译好的代码逻辑传到开发板中运行,之后和arduino(IDE)无任何关系。
就是说将 “控制开发板的命令” 在arduino(IDE)中按规定写好,然后将命令 传(或者叫烧录) 到开发板中,开发板按你给它的命令一条条执行。
)
1.文件–>示例此处是每个库函数的标准示例代码,在刚入手一个库文件时,可以使用示例代码快速了解,当然这里也有最基本的几个内置示例代码。
2. 编辑不需要讲ヽ(✿゚▽゚)ノ
3. 项目–>加载库–>管理库这里就是下载库函数的地方。
4. 工具–>开发板这里选择你的开发板
工具–>UploadSpeed一般直接选择最大值就行,就是将代码烧到开发板的速度。
工具–>端口这里选择你开发板所连接到的接口(只有一个开发板连到电脑的时候就选唯一的那个就行)
6.
快捷栏按钮功能依次为----编译-上传-新建-打开-保存----------打开串口监视器
(以上只说明了个人比较常用的几个功能)
如上面的图片显示的一样
新建的内容只有两个函数
setup()和loop()
其实,所有的代码无论多复杂,都遵循着种格式。
setup()里面的代码只运行一遍,类似于初始化。
loop()里面的代码会无限循环运行,说白了就是一个while(true){…}的死循环。
这里没有mian函数来执行,setup()加loop()就相当于main函数。
下面我通过讲解一个示例代码来让初学者快速了解如何play arduino
Blink
这里我们打开文件–>示例–>内置示例–>01.Basics–>Blink
完全由一个setup()和一个loop()构成
首先看setup():
参数1 的常用参数为串口,就是你手中开发板的各个引脚
参数2 的常用参数为OUTPUT和INPUT,一个为输出,一个为输入
LEB_BUILTIN是开发板上自带的一个 led灯
下面看loop():
总共两个函数 一个是digitalWrite(); 一个是delay();
digitalWrite(参数1,参数2); 函数功能为将参数1写入数字信号参数2。
参数1就是之前pinmode过的LEB_BUILTIN,参数2为写入的内容
使用这个函数就是将“HIGH”信号写入LEB_BUILTIN
即给led灯高电平,让led灯变亮。
第二个同理就是给led灯低电平,让led灯变暗。
delay(参数1);函数功能为等待或者叫延时。
参数1为int,单位为毫秒。
delay(500);就是等待500毫秒(0.5秒)
总结就是对led灯输入高信号,等待0.5秒,输入低信号,等待0.5秒,然后无限循环
即 亮0.5秒,暗0.5秒,亮0.5秒,暗0.5秒~ 进行闪烁。
由于这是示例代码,所以可以直接烧录了。
分析完内容之后,我们直接点击烧录上传
注意:上传之前,确保选定正确的开发板和端口。
以及在烧录失败之后别气馁,硬件可以通过再来一遍来解决问题。
因为硬件即玄学
因为硬件会受天时地利人和的影响:-D
然后观察开发板,烧录成功之后,你就会看到开发板的led小灯闪烁的盛景了。
既然已经学会了闪烁,那么led灯的另一个优秀功能也不能少:呼吸灯。
在呼吸之前,先简单地说两个概念——数字信号和模拟信号。
已经知道的同志可以跳过了。
010101010类似于这种只有两个状态的,就是数字信号。
例如开关,亮黑,正反。这种只有两种状态的情况,上面刚刚说过的闪烁灯就是数字信号(只有HIGH和LOW)。
而模拟信号就是可以渐变式的表示。可以连续地用多组数值表示的信号。
接下来要了解的呼吸灯就会用到模拟信号。
例如声音的高低,灯的亮度等等,可以让数值从1到100随意取值(假设区间为1到100)
如图,左边是模拟信号,右边是数字信号。
更多概念请百度= _ =: 万恶度娘.
好了,直接看呼吸灯的代码:
stepup();中依旧是pinmode我们的小led灯。
此处,我增加了一个Serial,串口函数
以下是serial函数的几个接口:
Serial.begin(); //开启串行通信接口并设置通信波特率 Serial.end(); //关闭通信串口 Serial.available();//判断串口缓冲器是否有数据装入 Serial.read(); //读取串口数据 Serial.peek(); //返回下一字节(字符)输入数据,但不删除它 Serial.flush(); //清空串口缓存 Serial.print(); //写入字符串数据到串口 Serial.println(); //写入字符串数据+换行到串口 Serial.write(); //写入二进制数据到串口 Serial.SerialEvent();//read时触发的事件函数 Serial.readBytes(buffer,length);//读取固定长度的二进制流 Serial.println(incomingByte, DEC);//打印接到数据十进制表示的ascii码。 HEX 十六进制表示
加入串口监视器功能的目的是能让我们看到数据,确保传送的数据是自己想要的数据。
loop();中是两个for循环(逻辑内容不解释了)
其中,我手上esp8266板范围是(0~1024),并且这坑爹板子还是0代表最亮,1024代表最暗!(╯‵□′)╯︵┴─┴
因为在比较亮的区间肉眼观察效果不太明显,所以我设置成了500到1024.
然后烧写。。。
上传成功之后可以看到小灯灯在生动的 娇喘 呼吸。
打开串口监视器,选择serial.begin()中设置的波特率,然后就能时刻观察到 i 的数值。
在学会操作内置led灯后,我们将尝试使用引脚来操作外接设备
LED灯:
长引脚接正极,短引脚接地。
代码:
和之前的blink几乎一样,唯一不同就是pinmode的引脚,digitalWrite的引脚发生了改变。
效果就是本来开发板内置的LED变成了外接的LED灯。
烧录,效果:
然后是呼吸灯:
需要注意的是LED灯的范围是正常的0到255(0最暗,255最亮)
然后烧录,效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。