首页/新闻资讯/正文详情

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

发布时间:2026/9/25 5:22:58 来源:云帆数科 栏目:资讯中心
用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),仅供参考

相关推荐

远景糊成毛玻璃?3 步用 DLSS Swapper 把游戏换成新版
远景糊成毛玻璃?3 步用 DLSS Swapper 把游戏换成新版

远景糊成毛玻璃?3 步用 DLSS Swapper 把游戏换成新版 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 远景发虚、边缘发飘?多半是游戏里的 DLSS 文件还停在旧版。DLSS Swapper 免费开源&#xff… · 2026/9/25 5:22:58

libcudf Table 类完全指南:cudf::table、table_view 与 mutable_table_view 的设计、构造与实战
libcudf Table 类完全指南:cudf::table、table_view 与 mutable_table_view 的设计、构造与实战

数据分析数据工程机器学习 【免费下载链接】cudf cuDF - GPU DataFrame Library 项目地址: https://gitcode.com/gh_mirrors/cu/cudf 点击查看 免费下载 本文是 libcudf C API 文档体系中 Table Classes(表类)模块的深度技术指南。该模块是… · 2026/9/25 5:22:58

Erlang/OTP 进程性能优化完全指南:从进程创建到消息传递的底层原理与实战
Erlang/OTP 进程性能优化完全指南:从进程创建到消息传递的底层原理与实战

编程语言语言运行时标准库编译器并发编程 【免费下载链接】otp Erlang/OTP 项目地址: https://gitcode.com/gh_mirrors/ot/otp 点击查看 免费下载 本文基于 Erlang/OTP 官方 Efficiency Guide 中的进程专题(system/doc/efficiency_guide/eff_guide_proc… · 2026/9/25 5:22:52

PaddleSpeech 的 Kaldi 兼容语音特征提取:python_kaldi_features 从原理到实战
PaddleSpeech 的 Kaldi 兼容语音特征提取:python_kaldi_features 从原理到实战

人工智能语音音频NLP媒体生成 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation … · 2026/9/25 5:56:03

AI PLC落地实战:确定性与智能的工业融合方法论
AI PLC落地实战:确定性与智能的工业融合方法论

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:56:03

Plugin4Shell零点击漏洞:AI编程助手插件安全风险与防护指南
Plugin4Shell零点击漏洞:AI编程助手插件安全风险与防护指南

1. 从"零点击"说起:Plugin4Shell 到底在讲一件什么事先把结论摆在前面:Plugin4Shell 不是一个具体的软件产品,而是一类针对 AI 编程助手插件体系的漏洞利用思路的统称。它的核心特征在于"零点击"——也就是说&#xff0c… · 2026/9/25 5:56:03

AdminJS useModal Hook 实战指南:在管理后台中实现 Alert、Confirm 与自定义内容弹窗
AdminJS useModal Hook 实战指南:在管理后台中实现 Alert、Confirm 与自定义内容弹窗

后端低代码 【免费下载链接】adminjs AdminJS is an admin panel for apps written in node.js 项目地址: https://gitcode.com/gh_mirrors/ad/adminjs 点击查看 免费下载 导读 useModal 是 AdminJS 前端提供的一个 Redux 驱动的弹窗 Hook,它将 adminj… · 2026/9/25 5:55:57

SaFeRDialogues 实战指南:让对话模型优雅回应安全失败后的用户反馈
SaFeRDialogues 实战指南:让对话模型优雅回应安全失败后的用户反馈

NLP人工智能深度学习 【免费下载链接】ParlAI A framework for training and evaluating AI models on a variety of openly available dialogue datasets. 项目地址: https://gitcode.com/gh_mirrors/pa/ParlAI 点击查看 免费下载 SaFeRDialogues(Safe… · 2026/9/25 5:55:57

fast-colors computeAlphaBlend() 函数深度解析:FAST 中的 alpha 混合不透明化计算
fast-colors computeAlphaBlend() 函数深度解析:FAST 中的 alpha 混合不透明化计算

前端UI组件 【免费下载链接】fast The adaptive interface system for modern web experiences. 项目地址: https://gitcode.com/gh_mirrors/fa/fast 点击查看 免费下载 导读 computeAlphaBlend() 是 microsoft/fast-colors 颜色工具库中负责将两层半透明颜色&quo… · 2026/9/25 5:55:57

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码