当前位置:网站首页>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就会闪烁了!
边栏推荐
- About how to install mysql8.0 on the cloud server (Tencent cloud here) and enable local remote connection
- 超标量处理器设计 姚永斌 第8章 指令发射 摘录
- 108. Network security penetration test - [privilege escalation 6] - [windows kernel overflow privilege escalation]
- Basic introduction to the 16 tabs tab control in the fleet tutorial (the tutorial includes source code)
- Summed up 200 Classic machine learning interview questions (with reference answers)
- Nuclear boat (I): when "male mothers" come into reality, can the biotechnology revolution liberate women?
- Completion report of communication software development and Application
- NPC Jincang was invited to participate in the "aerospace 706" I have an appointment with aerospace computer "national Partner Conference
- 110.网络安全渗透测试—[权限提升篇8]—[Windows SqlServer xp_cmdshell存储过程提权]
- 108.网络安全渗透测试—[权限提升篇6]—[Windows内核溢出提权]
猜你喜欢
CMU15445 (Fall 2019) 之 Project#2 - Hash Table 详解
Rationaldmis2022 advanced programming macro program
超标量处理器设计 姚永斌 第9章 指令执行 摘录
<No. 8> 1816. 截断句子 (简单)
[extraction des caractéristiques de texture] extraction des caractéristiques de texture de l'image LBP basée sur le mode binaire local de Matlab [y compris le code source de Matlab 1931]
zero-shot, one-shot和few-shot
SwiftUI 教程之如何在 2 秒内实现自动滚动功能
[shortest circuit] acwing1128 Messenger: Floyd shortest circuit
Swiftui swift internal skill how to perform automatic trigonometric function calculation in swift
《通信软件开发与应用》课程结业报告
随机推荐
Upgrade from a tool to a solution, and the new site with praise points to new value
Ask about the version of flinkcdc2.2.0, which supports concurrency. Does this concurrency mean Multiple Parallelism? Now I find that mysqlcdc is full
NPC Jincang was invited to participate in the "aerospace 706" I have an appointment with aerospace computer "national Partner Conference
Sign up now | oar hacker marathon phase III midsummer debut, waiting for you to challenge
Matlab implementation of Huffman coding and decoding with GUI interface
Completion report of communication software development and Application
[full stack plan - programming language C] basic introductory knowledge
STM32F1与STM32CubeIDE编程实例-315M超再生无线遥控模块驱动
About how to install mysql8.0 on the cloud server (Tencent cloud here) and enable local remote connection
Automated testing framework
让数字管理好库存
Problem: the string and characters are typed successively, and the results conflict
Swiftui tutorial how to realize automatic scrolling function in 2 seconds
如何理解服装产业链及供应链
2022年在启牛开华泰的账户安全吗?
Introduction and application of smoothstep in unity: optimization of dissolution effect
Visual Studio 2019 (LocalDB)\MSSQLLocalDB SQL Server 2014 数据库版本为852无法打开,此服务器支持782版及更低版本
108.网络安全渗透测试—[权限提升篇6]—[Windows内核溢出提权]
Mise en œuvre du codage Huffman et du décodage avec interface graphique par MATLAB
The function of adding @ before the path in C #