当前位置:   article > 正文

arduino基础-基于esp8266_arduino 延时 esp8266

arduino 延时 esp8266

介绍arduino的使用方法以及esp8266使用

(需要C基础)
我会简单地介绍一下arduino(IDE)的工作配置,以及用简单的案例来让初学者快速入门。在此,我使用esp8266(NodeMCU版)的案例来讲解。以及会涉及到esp8266(NodeMCU)的使用。
ps:这里不介绍arduino的硬件方面;不涉及环境安装方面。
不介绍→ARDUINO

第一次入门硬件需要理解的概念:arduino(IDE)就是一个写代码的环境,写好代码之后将编译好的代码逻辑传到开发板中运行,之后和arduino(IDE)无任何关系。
就是说将 “控制开发板的命令” 在arduino(IDE)中按规定写好,然后将命令 传(或者叫烧录) 到开发板中,开发板按你给它的命令一条条执行。

工具栏介绍

arduino)

1.文件–>示例此处是每个库函数的标准示例代码,在刚入手一个库文件时,可以使用示例代码快速了解,当然这里也有最基本的几个内置示例代码。
2. 编辑不需要讲ヽ(✿゚▽゚)ノ
3. 项目–>加载库–>管理库这里就是下载库函数的地方。
4. 工具–>开发板这里选择你的开发板
工具–>UploadSpeed一般直接选择最大值就行,就是将代码烧到开发板的速度。
工具–>端口这里选择你开发板所连接到的接口(只有一个开发板连到电脑的时候就选唯一的那个就行)
6. 快捷栏功能介绍
快捷栏按钮功能依次为----编译-上传-新建-打开-保存----------打开串口监视器
(以上只说明了个人比较常用的几个功能)

代码界面

如上面的图片显示的一样
新建的内容只有两个函数
setup()和loop()
其实,所有的代码无论多复杂,都遵循着种格式。
setup()里面的代码只运行一遍,类似于初始化。
loop()里面的代码会无限循环运行,说白了就是一个while(true){…}的死循环。
这里没有mian函数来执行,setup()加loop()就相当于main函数。

下面我通过讲解一个示例代码来让初学者快速了解如何play arduino

第一个功能

Blink
这里我们打开文件–>示例–>内置示例–>01.Basics–>Blink
Blink
完全由一个setup()和一个loop()构成
首先看setup():

  • pinMode(参数1,参数2); 可以理解为初始化函数。
    参数1为需要设置的串口,或者某单位,参数2为将参数1设置为某状态。
    图中blink代码功能为将LEB_BUILTIN设置为OUTPUT模式

参数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)
如图,左边是模拟信号,右边是数字信号。
数字信号模拟信号
更多概念请百度= _ =: 万恶度娘.

好了,直接看呼吸灯的代码:
Breath
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 十六进制表示
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

加入串口监视器功能的目的是能让我们看到数据,确保传送的数据是自己想要的数据。

loop();中是两个for循环(逻辑内容不解释了)
其中,我手上esp8266板范围是(0~1024),并且这坑爹板子还是0代表最亮,1024代表最暗!(╯‵□′)╯︵┴─┴
因为在比较亮的区间肉眼观察效果不太明显,所以我设置成了500到1024.

然后烧写。。。
上传成功之后可以看到小灯灯在生动的 娇喘 呼吸。
打开串口监视器在这里插入图片描述,选择serial.begin()中设置的波特率,然后就能时刻观察到 i 的数值。

外接LED灯

在学会操作内置led灯后,我们将尝试使用引脚来操作外接设备
esp8266

  • 引脚介绍
      D开头的(D0,D1,D2等等)就是数字信号引脚
      A开头的(A0等等)就是模拟信号引脚。
      TX和RX为输入输出口。(注意:TX为数据输出,RX为数据输入。在两开发板对接数据流通时,输入对应输出,输出对应输入!就是TX接RX,RX接TX)
      GND为接地(或者电源负极)
      3V3或者Vin为电源正极
    (其他引脚这里不解释)

LED灯:
LED
长引脚接正极,短引脚接地。
代码:
blink
和之前的blink几乎一样,唯一不同就是pinmode的引脚,digitalWrite的引脚发生了改变。
效果就是本来开发板内置的LED变成了外接的LED灯。
烧录,效果:
Blink

然后是呼吸灯:
Breath
需要注意的是LED灯的范围是正常的0到255(0最暗,255最亮)
然后烧录,效果:
Breath

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/400119
推荐阅读
相关标签
  

闽ICP备14008679号