鱼C论坛

 找回密码
 立即注册
查看: 1149|回复: 17

[学习笔记] micro python

[复制链接]
发表于 2023-12-7 17:24:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
micro python 你也会么?
@FishC_GPT

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-7 17:24:49 | 显示全部楼层
当然会啦!MicroPython是一种精简版的Python语言,专门用于嵌入式系统和微控制器。它具有一些额外的功能和限制,适合于资源受限的设备。而且由于它是Python的一个变种,所以如果你了解Python,学习MicroPython将非常容易。

如果你有任何关于MicroPython的问题,我很乐意帮助你。不过在回答问题之前,你可以先告诉我你想了解什么方面的内容,或者有什么具体的问题吗?

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:25:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 17:26:08 | 显示全部楼层
micropython使用oled输出中文
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 17:29:50 | 显示全部楼层
yc0526vip 发表于 2023-12-7 17:26
micropython使用oled输出中文

@FishC_GPT
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:30:00 | 显示全部楼层

你好!有什么编程问题我可以帮助你解答吗?

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 17:31:57 | 显示全部楼层
FishC_GPT 发表于 2023-12-7 17:30
你好!有什么编程问题我可以帮助你解答吗?

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解 ...

micropython使用oled输出中文
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:34:49 | 显示全部楼层
yc0526vip 发表于 2023-12-07 17:31
micropython使用oled输出中文

要在MicroPython中使用OLED显示中文,需要进行一些额外的配置和处理。首先,你需要确保你的OLED屏幕支持显示中文字库,并且连接到正确的引脚上。

然后,你需要下载一个适用于你的OLED屏幕的中文字库文件,通常是一个字模文件(.c或.bin格式)。这个字库文件包含了中文字符的点阵数据。

接下来,你可以编写MicroPython代码来加载字库文件并显示中文字符。这里是一个简单的示例:
from machine import Pin, I2Cimport ssd1306  # 你需要安装适用于你的OLED屏幕的ssd1306库# OLED屏幕的I2C地址和引脚I2C_ADDRESS = 0x3CSCL_PIN = 5SDA_PIN = 4# 创建I2C对象i2c = I2C(scl=Pin(SCL_PIN), sda=Pin(SDA_PIN))# 创建SSD1306对象oled = ssd1306.SSD1306_I2C(128, 64, i2c, addr=I2C_ADDRESS)# 加载字库文件(请将路径替换为你自己的文件路径)font_file = 'font.bin'with open(font_file, 'rb') as f:    font_data = f.read()# 设置字库oled.char_font(font_data)# 显示中文字符def display_chinese(text, x, y):    oled.text(text, x, y)    oled.show()# 调用函数显示中文字符display_chinese('你好,MicroPython', 0, 0)
请注意,以上代码是一个简化的示例,实际情况可能会因OLED屏幕型号和中文字库文件的不同而有所差异。你需要根据你自己的硬件和字库文件进行适当的调整。

希望这个示例能帮助到你,如果你有任何进一步的问题,请随时提问!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 17:36:17 | 显示全部楼层
FishC_GPT 发表于 2023-12-7 17:34
要在MicroPython中使用OLED显示中文,需要进行一些额外的配置和处理。首先,你需要确保你的OLED屏幕支持 ...

SSD1306的中文字库
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:37:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:37:49 | 显示全部楼层

对于SSD1306 OLED屏幕,可以使用 u8g2 库来实现中文显示。下面是一个简单的示例代码:
import machineimport u8g2# OLED屏幕的I2C地址和引脚I2C_ADDRESS = 0x3CSCL_PIN = 5SDA_PIN = 4# 创建I2C对象i2c = machine.I2C(machine.Pin(SCL_PIN), machine.Pin(SDA_PIN))oled = u8g2.ssd1306_i2c_128x64_noname(i2c, addr=I2C_ADDRESS)# 设置字体(你可以在u8g2库的文档中找到其他可用的字体)oled.set_font(u8g2.FONT_8X13_TR)# 显示中文字符def display_chinese(text, x, y):    oled.clear_buffer()    oled.draw_str(x, y, text)    oled.send_buffer()# 调用函数显示中文字符display_chinese('你好,MicroPython', 0, 20)
此示例代码使用了 `u8g2` 库来驱动 SSD1306 OLED屏幕显示中文字符。你需要先安装 `u8g2` 库,可以通过在 MicroPython 的 REPL 界面中运行 `import upip; upip.install('micropython-u8g2')` 来进行安装。

请注意,以上代码是一个简化的示例,确保你的硬件连接正常,并根据你的具体情况进行适当的调整。希望这能帮助到你,如果你有任何进一步的问题,请随时提问!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 17:41:56 | 显示全部楼层
FishC_GPT 发表于 2023-12-7 17:37
对于SSD1306 OLED屏幕,可以使用 u8g2 库来实现中文显示。下面是一个简单的示例代码:

micro python 没有 u8g2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:42:43 | 显示全部楼层
yc0526vip 发表于 2023-12-07 17:41
micro python 没有 u8g2

抱歉,我之前给出的示例中引用了u8g2库,实际上MicroPython并没有默认支持该库。对于MicroPython来说,常用的OLED屏幕驱动库是ssd1306库。你可以使用以下步骤来显示中文字符:

1. 确保你已经连接好了SSD1306 OLED屏幕并正确地接线。

2. 在你的项目中导入以下库:
from machine import Pin, I2Cimport ssd1306
3. 创建一个I2C对象,并初始化SSD1306:
i2c = I2C(scl=Pin(5), sda=Pin(4))oled = ssd1306.SSD1306_I2C(128, 64, i2c)
4. 下载字模文件(通常是一个*.fnt文件),将其放在与你的代码文件相同的目录下或者指定它的路径。

5. 使用`oled.text()`来显示中文字符。例如:
oled.text("你好,MicroPython", 0, 20)
6. 最后,刷新OLED屏幕:
oled.show()
这样就可以在SSD1306 OLED屏幕上显示中文字符了。请确保你已经下载了合适的字模文件,并根据你的具体情况进行相应的调整。希望这能帮助到你,如果还有其他问题,请随时提问!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 17:43:56 | 显示全部楼层
FishC_GPT 发表于 2023-12-7 17:42
抱歉,我之前给出的示例中引用了u8g2库,实际上MicroPython并没有默认支持该库。对于MicroPython来说,常 ...

ssd1306字模文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:44:48 | 显示全部楼层

SSD1306 OLED屏幕的字模文件是一种用于存储字符字形的文件,通常以*.fnt或*.bin的格式存在。这些文件包含了每个字符在屏幕上显示所需的像素点信息。

你可以从一些开源资源库或在线社区获取SSD1306 OLED屏幕的字模文件。下面是一种获取字模文件的方法:

1. 在线字模生成器:有一些在线工具可以帮助你生成自定义的字模文件。你可以通过搜索“在线字模生成器”来找到一些常用的工具。选择适合你需求的工具,输入要显示的中文字符,然后选择字体样式和大小,并生成字模文件。将生成的字模文件下载到你的项目目录中。

2. 字模转换工具:如果你已经有了字体文件,你可以使用一些字模转换工具将其转换成SSD1306 OLED屏幕可用的字模格式。例如,你可以使用`font_to_ili9341.py`脚本来将ttf格式的字体转换为字模文件,然后再将字模文件转换为SSD1306可用的格式。

无论你选择哪种方法,确保你的字模文件与SSD1306 OLED屏幕的尺寸和像素布局兼容。一旦你获得了适合你的屏幕的字模文件,你可以将其与MicroPython代码一起使用,通过oled.text()函数来显示中文字符。记得根据你的字模文件和显示位置进行适当的调整。

希望这能帮到你!如有其他问题,请随时提问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 17:52:14 | 显示全部楼层
FishC_GPT 发表于 2023-12-7 17:44
SSD1306 OLED屏幕的字模文件是一种用于存储字符字形的文件,通常以*.fnt或*.bin的格式存在。这些文件包含 ...

micro python ssd1306 库
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 17:53:05 | 显示全部楼层
yc0526vip 发表于 2023-12-07 17:52
micro python ssd1306 库

在MicroPython中,你可以使用ssd1306库来控制SSD1306 OLED屏幕。这个库提供了一系列函数和方法,用于初始化屏幕、显示文本、绘制图形等操作。下面是一个基本的示例代码,演示如何使用ssd1306库来控制SSD1306 OLED屏幕:
from machine import Pin, I2Cimport ssd1306# 初始化I2C总线i2c = I2C(scl=Pin(5), sda=Pin(4))# 初始化OLED屏幕oled = ssd1306.SSD1306_I2C(128, 64, i2c)# 清空屏幕oled.fill(0)oled.show()# 显示文字oled.text("Hello, MicroPython!", 0, 0)oled.text("Welcome to FishC!", 0, 20)oled.show()
这段代码首先通过`machine`模块的`Pin`和`I2C`类来初始化I2C总线对象,然后通过`ssd1306`模块的`SSD1306_I2C`类初始化OLED屏幕对象。接下来,将屏幕清空并调用`show()`方法来进行显示。最后,使用`text()`方法在屏幕上显示文本,并再次调用`show()`方法来刷新屏幕。

请注意,上述代码的引脚配置可能需要根据你实际连接的硬件进行调整。此外,ssd1306库还提供了其他功能,比如绘制图形、显示位图等。你可以查阅具体的库文档或参考示例代码来了解更多关于该库的详细用法和功能。

希望这能帮到你!如果你还有其他问题,请随时提问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-8 11:55:55 | 显示全部楼层
FishC_GPT 发表于 2023-12-7 17:53
在MicroPython中,你可以使用ssd1306库来控制SSD1306 OLED屏幕。这个库提供了一系列函数和方法,用于初始 ...

用micro python写一个esp-01s的亮灯程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 05:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表