(1)Micropython+ESP32 点亮一个LED

简介: 用Python开始硬件开发

之前有接触过通过adriuno来进行ESP32和ESP8266的开发。 但是因为日常工作当中没有太多的机会使用CPP,所以进展一直不大。知道后面开始使用MicroPython进行ESP32的开发,感觉路一下都亮了。


今天尝试回顾一个初学者的使用过程。点亮一个RGB LED 。

使用的硬件

ESP32 开发板一个

RGB LED一个

image.png


如图,RGB LED 一共4个引脚。分别是

GND - 接地

R - Red

Y - Yellow

G - Green

简单进行一个接入 :


image.png

分别对应了

GND — GND

R - GPIO13

Y - GPIO12

G - GPIO14

将开发板上电。 注:这里没有接入电阻,最好给LED接入一个电阻。 红色LED1.5-1.7V, 绿色1.8-2.0V。

下面进行代码的编写。

frommachineimportPinr_led=Pin(12, Pin.OUT)
y_led=Pin(13, Pin.OUT)
g_led=Pin(14, Pin.OUT)
r_led.on()
y_led.on()
g_led.on()

完成后,烧录到开发板。效果如下


image.png

接下来尝试一下LED交替闪烁,代码如下:

def flash_led(self):
        r_led = Pin(12, Pin.OUT)
        y_led = Pin(13, Pin.OUT)
        g_led = Pin(14, Pin.OUT)
        while True:
            r_led.on()
            utime.sleep_ms(100)
            r_led.off()
            y_led.on()
            utime.sleep_ms(100)
            y_led.off()
            g_led.on()
            utime.sleep_ms(100)
            g_led.off()

以上为使用原生的Microptython进行的一个点亮测试。  目前HAAS也提供了ESP32的固件,也可以使用HAAS的固件进行LED操作。  

HAAS ESP 32 固件烧录,可以在阿里云HAAS官网当中下载。并根据引导使用VS CODE安装好HAAS Studio后进行烧录,或下载Thonny进行。 如果是对于PYTHON来说都是新手的话,建议使用Thonny来进行开发。


在HAAS里面,我们可以使用board.json 来配置我们各个引脚。 配置如下:

因为我们使用的是GPIO,所以这里,就只看关于IO-GPIO的配置项。

image.png

对应到我们项目当中的board.json,配置如下:

{
"name": "haasedu",
"version": "1.0.0",
"io": { 
"r_led":{ 
"type": "GPIO",
"port": 12,
"dir": "output",
"pull": "pulldown"        },
"y_led":{ 
"type": "GPIO",
"port": 13,
"dir": "output",
"pull": "pulldown"        },
"g_led":{ 
"type": "GPIO",
"port": 14,
"dir": "output",
"pull": "pulldown"        } 
    },
"debugLevel": "ERROR",
"repl": "disable"  }

配置完成后,实现代码如下:

fromdriverimportGPIOimportutimeclassHAASLed:
deflight_led(self):  
r_led_gpio=GPIO()
y_led_gpio=GPIO()
g_led_gpio=GPIO()
r_led_gpio.open("r_led")
y_led_gpio.open("y_led")
g_led_gpio.open("g_led")
r_led_gpio.write(1) # 打开LEDy_led_gpio.write(1)  
g_led_gpio.write(1)
defflash_led(self):
r_led_gpio=GPIO()
y_led_gpio=GPIO()
g_led_gpio=GPIO()
r_led_gpio.open("r_led")
y_led_gpio.open("y_led")
g_led_gpio.open("g_led")
whileTrue:
r_led_gpio.write(1)
utime.sleep_ms(100)
r_led_gpio.write(0)
y_led_gpio.write(1)
utime.sleep_ms(100)
y_led_gpio.write(0)
g_led_gpio.write(1)
utime.sleep_ms(100)
g_led_gpio.write(0)


将代码烧录到开发板后,3个LED依次交替闪烁。

目录
相关文章
|
存储 缓存 资源调度
Koodo Reader : 一个开源免费的电子书阅读器
【1月更文挑战第3天】 今天在浏览 GitHub 的时候,偶然发现了一个非常有趣的开源项目——Koodo Reader。这个项目是一款开源免费的电子书阅读器,支持多种格式。它具有一些非常独特的功能,深深地吸引了我的注意。在接下来的内容中,我将为大家详细介绍一下这个备受关注的阅读器项目。
1740 3
Koodo Reader : 一个开源免费的电子书阅读器
|
JavaScript 前端开发 小程序
HaaS UI - 轻量级IoT小程序解决方案
HaaS UI是一套应用在HaaS硬件上的轻量级IoT小程序解决方案,支持AliOS Things内核,支持用JS开发UI应用,同时也支持Native App(不做主要推荐)。
HaaS UI - 轻量级IoT小程序解决方案
|
8月前
|
人工智能 监控 安全
使用 Ollama + FastAPI 打造轻量级 AI 应用部署方案
本文介绍了一套基于 Ollama 和 FastAPI 的轻量级 AI 模型部署方案,解决云端部署成本高、本地部署复杂的问题。通过 200 行核心代码实现模型加载到 API 服务的全流程,适用于中小型应用。方案结合 Ollama 的本地化运行能力和 FastAPI 的高性能特性,支持模型量化、并发控制和资源监控,提供 Docker 容器化及 K8s 扩展配置,优化性能与安全性。开发者可在 2 小时内完成环境搭建与部署,满足日均百万级请求需求,为 AI 应用快速落地提供有效支持。
804 0
|
存储 分布式计算 数据可视化
大数据常用技术与工具
【10月更文挑战第16天】
749 4
|
9月前
|
人工智能 自然语言处理 安全
详解:Claude 3.7 Sonnet 国内使用指南_claude使用教程
Claude 3.7在对话理解和生成能力上都进行了显著的提升
6146 14
|
传感器 物联网 芯片
如何在物联网项目中使用 MicroPython
本指南介绍如何在物联网项目中使用MicroPython,涵盖设备选择、环境搭建、基础编程及网络通信等内容,助你快速上手MicroPython开发。
|
Ubuntu 安全 Linux
基于Ubuntu24.04原内核6.8.0升级到6.9.0
通过上述步骤,我们在Ubuntu 24.04系统上成功地将内核从6.8.0升级到了6.9.0。升级内核有助于提高系统的安全性和性能,但也可能带来兼容性问题。因此,在升级前备份重要数据,并确保新内核支持所需的所有硬件和软件。通过合理的验证和测试,可以确保系统在新内核上稳定运行。
1294 6
|
安全 搜索推荐 Ubuntu
|
安全 Java 数据安全/隐私保护
Stirling-PDF:一款优秀的开源PDF处理工具
Stirling-PDF是一个基于spring-boot开发的开源项目,旨在提供一个功能强大的基于Docker的本地托管PDF操作工具。它使您能够对PDF文件进行多种操作,包括拆分、合并、转换、重新组织、添加图片、旋转、压缩等。该本地托管应用最初由ChatGPT完全开发,并已发展成一个功能齐全的工具,可满足您的各种PDF需求。
6262 3