当前位置:网站首页>EPP+DIS学习之路(2)——Blink!闪烁!
EPP+DIS学习之路(2)——Blink!闪烁!
2022-07-07 10:12:00 【MakeMaker】
上一篇搞定了编程软件和基本的程序上传,抄了一段程序实现了板载LED的控制,那这一篇开始就要学一学这个python语言了,先来看上一篇的程序:
import machine
pin = machine.Pin(2, machine.Pin.OUT)
pin.on()
第1句 import machine是加载machine模块,加载了后我们才能对ESP32的引脚进行控制。
第2句machine.Pin(2, machine.Pin.OUT)则是将2号引脚定义为输出引脚
第3句pin.on()就是让这个引脚输出高电平,也就是3.3V
这个对引脚的控制还可以用下面写法:
pin.value(1)
它们是相同的。
那这一篇就先让这个LED灯闪烁起来,先修改程序如下:
import machine,time
pin = machine.Pin(2, machine.Pin.OUT)
pin.on()
time.sleep(1)
pin.off()
time.sleep(1)
上面用了time.sleep(1),这个语句的意思也很明显,就是让ESP32睡1秒,其实就是延时1秒,有下面几种写法:
time.sleep(1) # 睡眠1秒
time.sleep_ms(500) # 睡眠500毫秒
time.sleep_us(10) # 睡眠10微妙
当然使用time函数之前先要加载time模块,可以直接跟在machine后面,加个逗号
点击绿色的运行按钮,如果接着上一篇的话应该就会迅速的上传完成,其实就是将ESP32里的main.py覆盖了一下,如果是刚打开软件的话,会出现下面的对话框
同样选择MicroPython设备
这时发现ESP32里已经有main.py了,就是我们上节课的程序,现在将其覆盖即可!
点击是后就会上传了。这时你会发现LED就亮了1秒,然后就熄灭了,没有闪烁。我们再来看看程序:
pin.on()
time.sleep(1)
pin.off()
time.sleep(1)
打开LED,停1秒,然后关掉再停1秒,然后......就没有然后了。可以看到micropython和Arduino的运行机制有些不同,Arduino会一直循环运行loop()里的语句,而micropython只会运行一遍主程序。为了让其一直循环运行,我们得自己写一个类似loop()的语句:
import machine,time
pin = machine.Pin(2, machine.Pin.OUT)
while True:
pin.on()
time.sleep(1)
pin.off()
time.sleep(1)
我们加了第3句while True:
这是个while循环语句,只要while后面的语句为真,函数内的语句就会循环运行,我们直接写了while True:那么就永远为真了,函数内的语句就会永远运行下去。注意函数包含的语句要与前面空四个空格,这是python的编程格式,在C里面是{ },在python里就是空四个空格。具体的自己去百度python的基础教程。
再次上传,这下ESP32上的LED就会闪烁了!
边栏推荐
- 111. Network security penetration test - [privilege escalation 9] - [windows 2008 R2 kernel overflow privilege escalation]
- Various uses of vim are very practical. I learned and summarized them in my work
- [texture feature extraction] LBP image texture feature extraction based on MATLAB local binary mode [including Matlab source code 1931]
- 111.网络安全渗透测试—[权限提升篇9]—[Windows 2008 R2内核溢出提权]
- @Bean与@Component用在同一个类上,会怎么样?
- Flet教程之 18 Divider 分隔符组件 基础入门(教程含源码)
- Camera calibration (2): summary of monocular camera calibration
- [neural network] convolutional neural network CNN [including Matlab source code 1932]
- Up meta - Web3.0 world innovative meta universe financial agreement
- 2022 年第八届“认证杯”中国高校风险管理与控制能力挑战赛
猜你喜欢
111.网络安全渗透测试—[权限提升篇9]—[Windows 2008 R2内核溢出提权]
Review and arrangement of HCIA
小红书微服务框架及治理等云原生业务架构演进案例
【玩转 RT-Thread】 RT-Thread Studio —— 按键控制电机正反转、蜂鸣器
Superscalar processor design yaoyongbin Chapter 9 instruction execution excerpt
Fleet tutorial 15 introduction to GridView Basics (tutorial includes source code)
Mise en œuvre du codage Huffman et du décodage avec interface graphique par MATLAB
【滤波跟踪】基于matlab捷联惯导仿真【含Matlab源码 1935期】
Hi3516 full system type burning tutorial
Flet教程之 15 GridView 基础入门(教程含源码)
随机推荐
Baidu digital person Du Xiaoxiao responded to netizens' shouts online to meet the Shanghai college entrance examination English composition
Complete collection of common error handling in MySQL installation
HCIA复习整理
相机标定(1): 单目相机标定及张正友标定基本原理
Problem: the string and characters are typed successively, and the results conflict
小红书微服务框架及治理等云原生业务架构演进案例
@Bean与@Component用在同一个类上,会怎么样?
Upgrade from a tool to a solution, and the new site with praise points to new value
MySQL安装常见报错处理大全
[shortest circuit] acwing 1127 Sweet butter (heap optimized dijsktra or SPFA)
【滤波跟踪】捷联惯导纯惯导解算matlab实现
Programming examples of stm32f1 and stm32subeide -315m super regenerative wireless remote control module drive
一起探索云服务之云数据库
百度数字人度晓晓在线回应网友喊话 应战上海高考英语作文
[texture feature extraction] LBP image texture feature extraction based on MATLAB local binary mode [including Matlab source code 1931]
Solve the problem that vscode can only open two tabs
Camera calibration (1): basic principles of monocular camera calibration and Zhang Zhengyou calibration
【紋理特征提取】基於matlab局部二值模式LBP圖像紋理特征提取【含Matlab源碼 1931期】
SwiftUI 教程之如何在 2 秒内实现自动滚动功能
人大金仓受邀参加《航天七〇六“我与航天电脑有约”全国合作伙伴大会》