用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用

一、前言:
这是我的第一篇CSDN博客,从这学期开学开始接触单片机,期间从C51,到Arduino,再到ESP8266以及现在刚刚开始学期的32,已经整整一个学期。虽然不敢说多么精通,但还是希望通过一些博客来发表我的感想和实验的经历。
在这个系列中,我将用尽量简单易懂的语言,从最基础的点亮LED开始,到使用ESP8266+OLED屏播放Bad apple。以下为实验最终效果–>点此前往B站~.(欢迎素质三连嘻嘻~)。

二、实验设备简介以及环境搭载

  1. ESP8266 NodeMCU简介:先贴张图用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第1张图片
    这就是我们要用到的ESPB266 NodeMCU开发板,ESP8266具有普通单片机的串口调试,PWM 调控,GPIO控制I2C总线控制的基础功能,带有ESP8266WiFi模块以及稳压电路,CH340等开发板基本操作,可以简单理解为加了WiFi的单片机开发板。
    为什么选择这款开发板:一开始是想用Arduino UNO做,可是Arduino的小的可怜的内存,仅仅存了30帧就啃不动了。面对总共1740帧、1113600字节的点阵数据,Arduino显然是不够用,而NodeMCU光SPIFFS就有3M的存储空间可以支配,并且在Arduino IDE搭载ESP8266开发插件后,代码几乎与Arduino一模一样,因此在Arduino UNO上做了一小部分后,就果断移植到了NodeMCU上。
    在这里插入图片描述
  2. 在Arduino IDE 搭载ESP8266开发环境:
    ①下载Arduino IDE:官网下载.论坛下载.
    ②搭载ESP8266开发环境:安装完成后打开IDE,点击 左上角用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第2张图片
    将该链接复制进附加开发板管理器网址:http://arduino.esp8266.com/stable/package_esp8266com_index.json
    用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第3张图片
    点击工具>开发板>开发板管理工具搜索ESP8266,选择最新版本并安装
    用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第4张图片
    用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第5张图片
    (下载慢的同学请科学上网)

下载完成后,点击工具>开发板,找到NodeMCU1.0并选择
用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第6张图片
③运行示例测试程序:将板子链接电脑,打开设备管理器查看CH340驱动端口号,在Arduino IDE 工具>端口选择相应端口
用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第7张图片用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第8张图片打开文件>示例>esp8266>Blink点击上传,烧录到板子,上传完毕后可发现板子有一颗蓝色的led在闪烁
用ESP8266播放播放bad apple(一):点亮LED——IO口的简单输出应用_第9张图片
三、Arduino语言简介
以下将用Blink示例为例子,简单说明Arduino语言:

/*只执行一次*/
void setup(){
	pinMode(2,OUTPUT);           //设置GPIO2为输出模式
}
/*void loop()循环执行*/
void loop(){
	digitalWrite(2, LOW);        //设置GPIO2为低电平,LED点亮
	delay(1000);                 //延时1000毫秒
	digitalWrite(2,HIGH);        //设置GPIO2为高电平,LED熄灭
	delay(2000);                 //延时2000毫秒
}	                   

函数介绍:

void setup()
void loop()    			//arduino语言是基于c语言的的改装,main()主函数被分为了setup()和loop(),setup()只执行一次,loop()循环执行

pinMode(pin,Mode)		//pinMode()函数用于设置引脚模式,pin为引脚号,Mode为模式,分为OUTOUT(输出模式)和INPUT(输入模式)
digitalWrite(Pin,LOW or HIGH)	//digitalWrite()函数用于设置引脚高低电平,HIGH或1为高电平(5v或3v3),LOW或0为低电平(0v)\\
delay(TIME)			//延时函数,延时TIME毫秒

四、点亮LED

  1. 实验器材:面包板,LEDx1,470Ω电阻x1,杜邦线
  2. 连接电路:LED正极接D4引脚,负极接电阻后连接到GND:
  3. 实验代码:将D4引脚设置为输出模式,并设置为高电平:
void setup(){
	pinMode(D4, OUTPUT);     //设置引脚模式
	digitalWrite(D4,HIGH);	  //设置为高电平
}

void loop(){
}

点击文件>新建,写入代码,保存,将代码烧录至板子,实验现象:

五、流水灯

  1. 实验器材:和上一个一样,多来几个LED

  2. 连接电路:三个LED正极分别连接D2,D3,D4,负极经电阻接到GND:(有点丑别介意)

  3. 实验代码:

void setup(){
	pinMode(D2,OUTPUT);
	pinMode(D3,OUTPUT);
	pinMode(D4,OUTPUT);         //设置D2,D3,D4为输出模式
	digitalWrite(D2,LOW);
	digitalWrite(D3,LOW);
	digitalWrite(D4,LOW);       //将D2,D3,D4置为低电平
	/*初始化*/      
}
void loop(){
	digitalWrite(D2,HIGH);
	delay(500);
	digitalWrite(D2,LOW);		//第一个LED发光,等待500ms后熄灭

	digitalWrite(D3,HIGH);
	delay(500);
	digitalWrite(D3,LOW);		//第二个LED发光,等待500ms后熄灭

	digitalWrite(D4,HIGH);
	delay(500);
	digitalWrite(D4,LOW);		//第三个LED发光,等待500ms后熄灭
/*代码执行到这将会回到loop()第一行*/
}

将代码上传至板子,将会看到三个led灯依次闪烁

你可能感兴趣的:(ESP8266)