新闻详情

新闻详情

首页 / 资讯中心 / 详情

用microPython玩转源师兄L1:LED、OLED与RGB灯5个入门项目代码全解

发布时间:2026/9/25 5:22:57来源:尧图网络
用microPython玩转源师兄L1:LED、OLED与RGB灯5个入门项目代码全解
用microPython玩转源师兄L1LED、OLED与RGB灯5个入门项目代码全解【免费下载链接】源师兄L1基于海思ws63芯片平台的源师兄开源项目硬件资料包括硬件原理图和PCB layout文档。项目地址: https://gitcode.com/yuanshixiong/ysx-v1源师兄L1是基于海思Hi3863WS63芯片的开源教学开发板本文以microPython编程为主线用通俗的方式完整讲解LED闪烁、OLED屏显示、WS2812 RGB灯变色、PWM调光以及按钮交互5个入门项目的核心代码新手一篇就能跑通。认识源师兄L1硬件microPython开发基础在写第一行microPython代码之前先花一分钟认识你的开发板。源师兄L1板载了0.96寸OLED屏、3颗可编程WS2812 RGB灯、A/B两个按键以及丰富的传感器跑在OpenHarmony 4.1系统上编程支持图形化、Python、C三种方式。对microPython入门来说你最常用的资源是这些引脚硬件资源引脚说明RGB灯3颗WS2812P0 / P1 / P2支持PWM与单线协议A按钮P5输入按下为低电平B按钮P11输入按下为低电平OLED屏128×64I2CSCL(P19)、SDA(P20)板载直连无需外接ADC采集P1/P2/P13/P14可测光感等模拟量 引脚定义以官方图为准完整说明可参考 源师兄引脚图.png 和 README.md 中的「引脚说明」章节。如果你想深挖硬件细节仓库里开源了完整的原理图与PCB资料原理图总览源师兄V1原理图.pdfOLED屏电路OLED.SchDoc主控电路Hi3863.SchDocPCB工程源师兄V1.PcbDoc编程环境一键配置连接源师兄L1源师兄L1推荐搭配专为它开发的OH-Code编程软件左侧拖拽图形化积木右侧自动生成Python代码图形化和microPython双模式无缝切换还能直接通过串口把程序下载到板子上。它也兼容 mu-editor、thonny 等通用microPython工具。环境配置三步走安装OH-CodeWindows、mac、麒麟、统信均有离线版本或打开在线版用Type-C数据线连接电脑与源师兄L1点击「串口」选择对应端口写入程序开发板自动运行项目一LED闪烁代码——microPython的Hello World控制一颗灯闪烁是检验开发板、引脚、编程环境是否全部就绪的最好方式。我们用P0引脚驱动第一颗RGB灯的红灯from machine import Pin import time led Pin(P0, Pin.OUT) # P0设为输出模式 while True: led.on() time.sleep(1) # 亮1秒 led.off() time.sleep(1) # 灭1秒逐行理解Pin(P0, Pin.OUT)把P0引脚初始化为输出这是microPython控制硬件的核心APIled.on()/led.off()输出高/低电平time.sleep(1)延时1秒让闪烁节奏肉眼可见✅ 跑通效果板子上的红灯每秒亮灭一次说明microPython开发环境配置成功项目二OLED屏显示代码——让文字上屏源师兄L1板载0.96寸、128×64的OLED屏通过I2C总线SCL为P19、SDA为P20连接固件已内置驱动模块几行代码就能显示文字import uoled oled uoled.OLED() # 初始化板载OLED oled.show_text(你好源师兄, 0, 0) # 在(0,0)位置显示文字 oled.show() # 刷新屏幕三个要点show_text(内容, x, y)的坐标参数决定文字位置横屏范围0~127、纵屏0~63改字就改引号里的内容中英文都支持show()必须调用否则画面不会刷新 不同固件版本中显示模块的函数名可能略有差异以官方教学资料为准OLED的电路细节可参考 OLED.SchDoc。项目三WS2812 RGB灯变色代码源师兄L1的3颗RGB灯采用WS2812单线协议由P0引脚驱动。microPython标准库自带neopixel模块控制起来非常简单import neopixel from machine import Pin import time rgb neopixel.NeoPixel(Pin(P0), 3) # P0驱动3颗灯 colors [(255,0,0), (0,255,0), (0,0,255)] # 红、绿、蓝 while True: for c in colors: for i in range(3): rgb[i] c # 每颗灯设为同一颜色 rgb.write() # 刷新灯光 time.sleep(2)核心就两句rgb[i] (R,G,B)给第 i 颗灯赋值颜色0~255rgb.write()一次性刷新全部灯。想显示紫色改成(255,0,255)即可——RGB的玩法从改这一行开始。项目四PWM调光代码——做出呼吸灯效果普通LED只能亮/灭而PWM脉宽调制通过快速调节占空比来模拟亮度。源师兄L1的P0~P2、P8、P12、P13均支持PWM用P0做出经典的呼吸灯from machine import PWM import time led PWM(P0) # P0设为PWM输出 while True: for duty in range(0, 100, 5): # 由暗到亮 led.duty(duty) time.sleep_ms(50) for duty in range(100, 0, -5): # 由亮到暗 led.duty(duty) time.sleep_ms(50)duty取值0~100百分比0全灭、100最亮sleep_ms(50)太小会闪烁太快、看不到渐变效果可按需调整✅ 跑通效果灯光像呼吸一样缓缓亮灭这是后面做炫酷灯光秀的基本功。项目五综合交互项目——按钮、OLED与RGB灯联动前4个项目分别练了GPIO、显示、RGB灯和PWM最后把它们串成一个完整的交互应用按A按钮3颗RGB灯换色OLED屏同步显示当前颜色from machine import Pin import uoled, neopixel import time btnA Pin(P5, Pin.IN) # A按钮输入模式 oled uoled.OLED() rgb neopixel.NeoPixel(Pin(P0), 3) colors [(255,0,0), (0,255,0), (0,0,255)] names [红色, 绿色, 蓝色] idx 0 while True: if btnA.value() 0: # A按钮按下低电平 idx (idx 1) % 3 # 颜色循环切换 for i in range(3): rgb[i] colors[idx] rgb.write() oled.show_text(颜色 names[idx], 0, 0) oled.show() time.sleep(0.5) # 防连按这个项目覆盖了你刚学到的全部技能知识点用在哪GPIO输入读取btnA.value()检测按键WS2812 RGB灯控制neopixel换色OLED屏显示颜色名称上屏主循环 延时防抖while Truesleep 扩展思路把B按钮P11加进来控制亮/灭或者结合项目四的PWM让颜色带渐隐过渡——一个迷你灯光控制台就完成了。常见问题与后续学习程序没反应先确认串口选对了端口再看引脚是否写对大小写敏感是P0不是p0引脚冲突A按钮固定占用P5、B按钮占用P11编程时避免复用引脚功能冲突P1/P13等引脚ADC、PWM复用详见 README.md 的引脚说明完成这5个项目后你已经掌握了microPython控制LED、OLED、WS2812 RGB灯的完整套路。下一步可以尝试光感传感器LTR553读取环境光、陀螺仪数据展示或者用WiFi 6、星闪NearLink做多设备联动实验——源师兄L1的全部硬件能力都在 硬件资料-PCB原理图 和固件源码目录中开源等你继续探索【免费下载链接】源师兄L1基于海思ws63芯片平台的源师兄开源项目硬件资料包括硬件原理图和PCB layout文档。项目地址: https://gitcode.com/yuanshixiong/ysx-v1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

PaddleSeg 中的 ANN 非局部语义分割模型:架构原理、配置解析与 Cityscapes/Pascal VOC 实战 2026/9/25 8:28:27

PaddleSeg 中的 ANN 非局部语义分割模型:架构原理、配置解析与 Cityscapes/Pascal VOC 实战

人工智能计算机视觉预训练 【免费下载链接】PaddleSeg Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting,…

阅读更多 →
拆解MindSpeed LLM:4层架构与核心模块,看懂昇腾大模型训练框架的设计 2026/9/25 8:28:21

拆解MindSpeed LLM:4层架构与核心模块,看懂昇腾大模型训练框架的设计

拆解MindSpeed LLM:4层架构与核心模块,看懂昇腾大模型训练框架的设计 【免费下载链接】MindSpeed-LLM 昇腾LLM分布式训练框架 项目地址: https://gitcode.com/Ascend/MindSpeed-LLM MindSpeed LLM 是面向昇腾生态的 LLM 分布式训练框架&#xff0…

阅读更多 →
JavaScript 闭包完全解读:以《You Don‘t Know JS: 作用域与闭包》(you-dont-know-js-ru)第 5 章为例 2026/9/25 8:28:21

JavaScript 闭包完全解读:以《You Don‘t Know JS: 作用域与闭包》(you-dont-know-js-ru)第 5 章为例

教程文档 【免费下载链接】you-dont-know-js-ru 📚 Russian translation of "You Dont Know JS" book series 项目地址: https://gitcode.com/gh_mirrors/yo/you-dont-know-js-ru 点击查看 免费下载 本文围绕 you-dont-know-js-ru 仓库中《О…

阅读更多 →
从treg说起:OpenRouter+MCP+CLI+Agent工具链组装实战 2026/9/25 8:28:21

从treg说起:OpenRouter+MCP+CLI+Agent工具链组装实战

1. 从 "treg" 这个标题说起:一个被低估的 Agent 工具链入口第一次看到 "treg" 这四个字母,很多人会以为是拼写错误,或者某个内部代号。但如果你最近在折腾 AI Agent 工具链,尤其是围绕 OpenRouter、MCP、CLI …

阅读更多 →
基于 PaddleNLP SimpleServing 的多标签文本分类服务化部署实战指南 2026/9/25 8:28:14

基于 PaddleNLP SimpleServing 的多标签文本分类服务化部署实战指南

人工智能大模型预训练微调LoRARLHF强化学习分布式训练 【免费下载链接】PaddleNLP Easy-to-use and powerful LLM and SLM library with awesome model zoo. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleNLP 点击查看 免费下载 多标签文本分类模型&#xf…

阅读更多 →
如何三步跑通 vue-pure-admin 并部署到 Docker 2026/9/25 8:27:16

如何三步跑通 vue-pure-admin 并部署到 Docker

如何三步跑通 vue-pure-admin 并部署到 Docker 【免费下载链接】vue-pure-admin 全面ESMVue3ViteElement-PlusTypeScript编写的一款后台管理系统(兼容移动端) 项目地址: https://gitcode.com/GitHub_Trending/vu/vue-pure-admin 改完中后台代码想…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉