arduino基础-基于esp8266
arduino快速入门
- 介绍arduino的使用方法以及esp8266使用
- 工具栏介绍
- 代码界面
- 第一个功能
- 第二个功能
- 外接LED灯
介绍arduino的使用方法以及esp8266使用
(需要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():
- 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)
如图,左边是模拟信号,右边是数字信号。
更多概念请百度= _ =: 万恶度娘.
好了,直接看呼吸灯的代码:
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灯后,我们将尝试使用引脚来操作外接设备
- 引脚介绍:
D开头的(D0,D1,D2等等)就是数字信号引脚
A开头的(A0等等)就是模拟信号引脚。
TX和RX为输入输出口。(注意:TX为数据输出,RX为数据输入。在两开发板对接数据流通时,输入对应输出,输出对应输入!就是TX接RX,RX接TX)
GND为接地(或者电源负极)
3V3或者Vin为电源正极
(其他引脚这里不解释)
LED灯:
长引脚接正极,短引脚接地。
代码:
和之前的blink几乎一样,唯一不同就是pinmode的引脚,digitalWrite的引脚发生了改变。
效果就是本来开发板内置的LED变成了外接的LED灯。
烧录,效果:
然后是呼吸灯:
需要注意的是LED灯的范围是正常的0到255(0最暗,255最亮)
然后烧录,效果:
arduino基础-基于esp8266相关推荐
- arduino loar_采用ESP8266和Arduino设计基于IoT的患者健康监测系统
随着大量新的医疗保健技术的发展,物联网正在迅速改变医疗保健行业.在本篇文章中,我们使用ESP8266和Arduino设计了一款基于IoT的患者健康监测系统.该项目中使用的物联网平台是ThingSpea ...
- 最简单DIY基于ESP8266的智能彩灯②(在网页用按键和滑动条控制RGB灯)
ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 第二篇:最简单DIY基于ESP8266的智能彩灯②(在网页用按键 ...
- 最简单DIY基于ESP8266的智能彩灯③(在网页用按钮+滑动条+手机APP控制RGB灯)
ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 第二篇:最简单DIY基于ESP8266的智能彩灯②(在网页用按键 ...
- 基于ESP8266网页控制RGB三色灯的颜色
基于ESP8266网页控制RGB三色灯的颜色 首先让我们来了解一下的RGB三色灯的原理,RGB有四个引脚,最短的引脚接地,另外三个引脚接高电平,依次是亮红色,绿色,蓝色,这是三种最基本的配色,然而我们 ...
- 基于ESP8266的联网温度监测点
基于ESP8266的联网温度监测点 起源 是啥玩意 耗材 电路 程序 esp8266部分 网站PHP程序 接收程序 查看程序 使用方法 起源 闲的慌,想找点事情做 监测详细的温度可以作为其他自动化控制 ...
- php与硬件通过wifi对接,基于ESP8266的WiFi排插接入贝壳互联实现天猫精灵控制
认识众多玩家高手/拆客/DIYer,查阅更多资源,一起学习技术知识 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 hzy3774 于 2020-1-8 00:45 编辑 * 实验 ...
- Obloq模块:基于ESP8266的物联网模块
OBLOQ 物联网模块 OBLOQ模块是DFRobot公司开发的一款基于ESP8266芯片的物联网通信模块.模块使用串口(TTL UART)和Arduino(或者其他单片机)通信,支持MQTT,HTT ...
- Arduino基础入门篇01—进入Arduino的世界
欢迎来到Arduino的世界,本文主要介绍Arduino的优势,开发所涉及的硬件分类,开发语言及开发环境的下载.可登陆Arduino官网学习了解更多Arduino信息. 什么是Arduino Ardu ...
- 最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯)
ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 文章目录 ESP8266和ESP32智能彩灯开发系列文章目录 前 ...
最新文章
- 4 种数据库缓存最终一致性的优缺点对比?最终选择方案四!
- Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubuntu14.04)(五)...
- element表格图片放大_图片在表格中,鼠标经过图片上方,图片有放大预览效果 (vue+element )...
- 【问链-Eos公开课】第二课 EOS环境搭建(Ubuntu系统下)
- 虚拟机上装的centos7使用xshell连接不上_使用Xshell连接虚拟机Ubuntu
- 1004 C语言设置测试数据个数和测试结束标志
- 对服务与工厂感到困惑
- redmine cannot load such file – rbpdf-font
- 安卓手机管理器_神器推荐,安卓手机拯救者来了!!!
- Ivy Bridge处理器
- 郑州市城市建成区20年时空变化特征提取与分析
- html新建文件夹,JS实现新建文件夹功能
- xp 无法关闭计算机,电脑xp系统关不了机,一直显示在正在关机为什么 除了重装,还能怎么办...
- 采集工具助力企业拓客,让你的业务快速扩张
- 辣评10月自主SUV销量:优胜劣汰开始 哪些产品将死得其所?
- 【转载】纳兰性德的诗词全集
- 【重要征稿】IEEE 2022年网络、计算机和通信国际学术研讨会(ISNCC2022)
- “魔盗”窃密木马(FakeCDR)研究
- 03.尚硅谷网课3-字符实体与语义标签
- windows 新版skia编译 版本号m37_2062(2018.1.1)