Python编程小车零基础开发教程(ESP32-NodeMCU-DevKit开发板)

while循环语句-LED小灯无限次闪烁

1. 课程介绍
2. ESP32开发板引脚号说明
3. Python编程软件Thonny安装与使用
4. Python编程给引脚设置数字值-点亮ESP32开发板自带LED小灯
5. Python编程给引脚设置数字值-点亮ESP32开发板外接LED小灯
6. sleep()暂停函数-实现LED小灯闪烁效果
7. while循环语句-LED小灯无限次闪烁
8. while循环语句-LED小灯有限次闪烁
9. for循环语句-LED小灯有限次闪烁
10. 程序代码保存到芯片上运行
11. Python编程驱动电机-L298N两路电机驱动板
12. Python编程手机WIFI遥控电机-L298N两路电机驱动板
13. Python编程手机WIFI遥控四轮小车接线-L298N两路电机驱动板
14. Python编程手机WIFI遥控四轮小车完整代码-L298N两路电机驱动板
15. PS2手柄遥控器编程-遥控ESP32开发板自带LED小灯
16. PS2手柄遥控器编程-遥控四轮小车-接线安装-L298N两路电机驱动板
17. PS2手柄遥控器编程-遥控四轮小车-完整程序代码-L298N两路电机驱动板
18. PS2手柄遥控器编程-摇杆使用
19. PS2手柄遥控器编程-使用摇杆和PWM脉冲信号控制小车行驶速度完整程序
20. I2C串行总线-LCD1602显示屏
21. I2C串行总线-LCD1602显示屏-文字动画
22. I2C串行总线-LCD1602显示屏-文字滚动动画
23. Python编程ESP32播放MP3
24. Python编程ESP32播放MP3-指令格式
25. Python编程MP3播放器-手机WIFI遥控播放

1. 课程目标

    使用while循环语句实现LED小灯无限次循环闪烁。

2. 硬件接线

    和《给引脚设置数字值-点亮ESP32开发板外接LED小灯》一节完全一样。

3. 程序代码

   while语句的程序结构,如下:

while 逻辑判断条件:

    while内部程序块

   “逻辑判断条件”是一个表达式,这个表达式的运算结果必须是TrueFalse。比如“2>1”运算结果是True。比如“2>9”运算结果是False。这个表达式也可以是“True”或“False”。

   while内部程序块”可有一条或多条语句组成。“while内部程序块”中的语句和while不能对其,必须前面有空格(1个、2个、4个空格都可以,一般写4个空格),使得程序块向右侧缩进。

while循环语句执行的顺序是,先执行“逻辑判断条件”,如果结果是True,则会执行“while循环块”,否则不会执行“while循环块”,循环即刻终止。如果“逻辑判断条件”的结果是False,会会执行“while内部循环块”,然后从头开始进入下一轮判断与执行。只要有一次“逻辑判断条件”的结果是False,则while即刻终止。然后继续执行while整个语句块后面的程序。

例:使用while循环语句实现LED灯无限次闪烁的代码如下:

import machine

import time

 

pin22 = machine.Pin(22, machine.Pin.OUT) #设置22号引脚为输出引脚

pin23 = machine.Pin(23, machine.Pin.OUT) #设置23号引脚为输出引脚

 

while True:

    #点亮LED小灯,并延时1

    pin22.value(1) #给引脚设置数字值为1(高电平)

    pin23.value(0) #给引脚设置数字值为0(低电平)

    time.sleep(1) #延时1

 

    #关闭LED小灯,并延时1

    pin22.value(0) #给引脚设置数字值为0(低电平)

    pin23.value(0) #给引脚设置数字值为0(低电平)

    time.sleep(1) #延时1

    上面程序代码while的“逻辑判断条件”是True,这个表达式的结果永远是True,不会变,所以这个循环永远会执行下去。

    如下的代码,由于蓝色部分的语句前面没有缩进,不是while的内部程序块,所以循环执行的是红色部分语句,最终的效果是LED灯一直亮着。

import machine

import time

 

pin22 = machine.Pin(22, machine.Pin.OUT) #设置22号引脚为输出引脚

pin23 = machine.Pin(23, machine.Pin.OUT) #设置23号引脚为输出引脚

 

while True:

    #点亮LED小灯,并延时1

    pin22.value(1) #给引脚设置数字值为1(高电平)

    pin23.value(0) #给引脚设置数字值为0(低电平)

    time.sleep(1) #延时1

 

#关闭LED小灯,并延时1

pin22.value(0) #给引脚设置数字值为0(低电平)

pin23.value(0) #给引脚设置数字值为0(低电平)

time.sleep(1) #延时1

4. 实验结果

参看实验结果视频。