esp8266模块
实验1 按键控制
要求:使用两个GPIO作为输入脚,分别连接按键sw1、sw2,
1)当按键sw1按下后,板载灯闪烁;放开sw1后,灯灭;
2)当按下SW2后,板载灯常亮,放开后,灯灭;
(注:本图只是作为参考,只用了一个sw)
(此图需要先把IO5内部上拉,为高电平)
知识点:
void setup(){
void loop(){
初始化函数,程序只运行一次11
//主程序部分,循环执行
1、8266芯片的通用管脚GPIO在使用前需设定该脚的方向,若作为控制脚,比如控制某个LED亮灭,需设为“输出”模式;若连接某个按键,则作为“输入”模式。 先在初始化函数里设置管脚的模式,OUTPUT为输出,INPUT为输入,在Arduino里可以用数字来代替管脚号,比如让GPIO7脚作为输入脚,GPIO8为输出脚,可以写为:
void setup(){//7脚为输入脚pinMode(7,INPUT);pinMode (8,OUTPUT);//e脚为输出脚
2、当某管脚作为输出脚时,可以通过digitalWrite()函数来控制该脚的电平大小,比如让管脚GPIO3为高电平,则:
void setup(){
//设定3脚为输出脚pinMode (3,OUTPUT);
void loop(){
digitalwrite(3,HIGH);//控制3脚为高电平
3、如果要读取某个输入脚的状态值,比如某个按键值,则可以使用
digitalRead()函数,比如设定GPIO4为输入脚,要读取该脚状态,则:
void setup(){
pinMode (4,INPUT);//设定4脚为输入脚
void loop(){
int i;
i=digitalRead(4);//获取4脚当前状态
4、Arduino自带串口工具,但是在使用前先设定初始条件
void setup(){
Serial.begin(9600);//设定串口的波特率
//设定GPI04为输入棋式pinMode(4,INPUT);
void loop(){
int i = digitalRead(pushButton);
将按键状态通过串口显示Serial.println(i);delay(1);
5、延迟函数有delay(ms),或delayMicroseconds(us);
void setup(){
//初始化灯脚作为输出脚,pinMode (LED BUILTIN, OUTPUT);
void loop(){
digitalWrite(LED BUILTIN,LOW);// 控制灯脚为低电平,灯灭
delay(1000);
//等待1000m3=1S
digitalWrite(LED BUILTIN, HIGH);//控制灯脚为高电电平,灯亮delay(2000);
//等待2000m3=2S
实验2 ADC控制
实验2:ADC控制
读取ADC值,当ADC值大于500,灯亮,否则灯灭
知识点:
void setup(){
//开后串行通信,并设置其频率为9600
Serial.begin(9600);//如果没有特别要求,此数值一般都为9600。
void loop ()
int sensorValue = analogRead(A0);
Serial.println(voltage):
//读取针脚号为 A0 的棋拟信号。
// analogRead()方法是棋拟信号读取方法。
//将模拟信号值存入名为 sensorValue 的整型变量
//将获取的模拟信号值打印到串口显示。
实验3 PWM控制(让灯渐亮)
实验3 PWM控制输出(1张)
任务:让LED逐渐亮起,再逐渐灭掉
以上程序有误,自行检查修改
PWM原理:
知识链接:PWM是什么-电子发烧友网
PWM是什么
PWM控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形(含形状和幅值), PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,广泛应用在从测量、通信到功率控制与变换的许多领域中。
基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。
在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。
PWM特点
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换,让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。