【物联网】Arduino+ESP8266物联网开发(一):开发环境搭建 安装Arduino和驱动
2.ESP8266基础应用
学习过程中会用到的基础引脚如下。开发板提供3V电源,一般传感器工作电压都是3V,可通过开发板供电。如果设备需要的电压超过3V,如水泵、风扇等设备,需要5V以上电压,需要外接电源。
数字信号引脚接收或输出0-1信号,可作为输入也可作为输出。如按键开关、传感器等都是输入设备;风扇、灯、蜂鸣器等都是输出设备。
一些数字引脚在启动时有特殊含义,使用时需要考虑。
在接入设备的时候,常用标记如下:
接地:G、GND、-
电源:VCC、3V、5V、+
信号:IN、D0、S
2.1 控制发光二极管
下图是基础的发光二极管,通电即可点亮。将二极管正极接D5引脚,负极接地。
代码如下,上传后二极管点亮。
void setup() {
pinMode(D5, OUTPUT); //设置引脚为输出模式
digitalWrite(D5,HIGH);//二极管高电平亮
}
下图是发光二极管模块,低电平驱动,VCC接电源,IN接数字信号引脚。
代码如下,上传后二极管模块点亮。
void setup() {
pinMode(D1, OUTPUT); //设置引脚为输出模式
digitalWrite(D1,LOW);// LED低电平亮
}
可以通过按钮开关控制二极管,常用的开关有三个引脚,电源、接地、数字信号引脚。如果开发板上有多个按钮,那么每个按钮会对应一个数字信号引脚,如下图。
按钮开关按下后自动回弹,按下时输入低电平,弹起时为高电平。我们要实现的效果是第一次按下时灯亮,再按时灯灭。
bool LIGHTED=false;//标识LED灯的开关状态
void setup() {
pinMode(D2, INPUT);//设置引脚为输入
pinMode(D1, OUTPUT); //设置引脚为输出模式
}
void loop() {//这个循环方法会一直运行
if (digitalRead(D2) == LOW)
{
delay(1000);//1秒内按钮开关要弹起,否则会持续读到低电平,灯会闪烁
if(LIGHTED){
digitalWrite(D1,HIGH);// LED高电平灭
LIGHTED=false;
}else{
digitalWrite(D1,LOW);// LED低电平亮
LIGHTED=true;
}
}
}