diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..359bb5307e8535ab7d59faf27a7377033291821e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml diff --git a/.idea/Community-document.iml b/.idea/Community-document.iml new file mode 100644 index 0000000000000000000000000000000000000000..8b8c395472a5a6b3598af42086e590417ace9933 --- /dev/null +++ b/.idea/Community-document.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000000000000000000000000000000000000..a5c3b12383864bafaa953a912639ea8783b5c07d --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,20 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..105ce2da2d6447d11dfe32bfb846c3d5b199fc99 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..d56657add3eb3c246989284ec6e6a8475603cf1d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..77e6910aa8e0faa743d9a3cab30cd399bcd23c7a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..94a25f7f4cb416c083d265558da75d457237d671 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/Advanced_development/zh/QuecPythonSub/Digital_tube.md b/docs/Advanced_development/zh/QuecPythonSub/Digital_tube.md new file mode 100644 index 0000000000000000000000000000000000000000..cbfd3b5ca727110c053a7ae66d542914c0ba48c2 --- /dev/null +++ b/docs/Advanced_development/zh/QuecPythonSub/Digital_tube.md @@ -0,0 +1,115 @@ +## 修订历史 + +| 版本 | 日期 | 作者 | 变更表述 | +| ---- | ---------- | ------ | -------- | +| 1.0 | 2021-09-23 | Kayden | 初始版本 | + + + +## 数码管开发实验 + +本篇文章主要简介基于EC600X_QuecPython_EVB_V1.3开发板进行数码管开发实验,直接适用的模组为EC600S、EC600N、EC600U。 + +## 硬件资源 + +本实验使用的模组硬件资源只有GPIO,由于使用的是数码管模块,仅需要三个GPIO就可以进行本实验。关于数码管模块的介绍和接线情况下面进行详细介绍。 + +共阳极四位数码管模块原理图: + +![](media/Schematic_diagram_of_nixie_tube_module.png) + +本实验为了尽量做到搭载不同模组的开发板之间接线的通用性,接线均接在固定的排针脚,具体连接情况以及排针对应软件GPIO号情况见下表。 + +| 数码管模块排针名称 | V1.3开发板排针名称及模组引脚号 | EC600S/EC600N GPIO | EC600U GPIO | +| ------------------ | ------------------------------ | ------------------ | ----------- | +| VCC | 3V3 | - | - | +| SCLK | P61 | GPIO14 | GPIO1 | +| RCLK | SDA(P58) | GPIO28 | GPIO16 | +| DIO | P60 | GPIO13 | GPIO4 | +| GND | GND | - | - | + +注:模组引脚对应软件GPIO号查看链接:[GPIO相关API](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=pin) + +## 实验代码 + + 下载代码 + +```python +""" +@Author: Kayden +@Date: 2021-09-23 +@Description: Digital tube experiment +@FilePath: Digital_tube.py +""" +from machine import Pin +import utime + +''' +数码管模块和V1.3开发板的排针连接方式为: +DIO接开发板上P60对应的排针 +RCLK接开发板上P58对应的排针 +SCLK接开发板上P61对应的排针 +P60对应EC600S/EC600N模组的GPIO13、对应EC600U模组的GPIO4 +P56对应EC600S/EC600N模组的GPIO28、对应EC600U模组的GPIO16 +P61对应EC600S/EC600N模组的GPIO14、对应EC600U模组的GPIO1 +''' +# 当使用的模组为EC600S/EC600N时 +# DIO = Pin(Pin.GPIO13, Pin.OUT, Pin.PULL_PU, 0) +# RCLK = Pin(Pin.GPIO28, Pin.OUT, Pin.PULL_PU, 0) +# SCLK = Pin(Pin.GPIO14, Pin.OUT, Pin.PULL_PU, 0) + +# 当使用的模组为EC600U时 +DIO = Pin(Pin.GPIO4, Pin.OUT, Pin.PULL_PU, 0) +RCLK = Pin(Pin.GPIO16, Pin.OUT, Pin.PULL_PU, 0) +SCLK = Pin(Pin.GPIO1, Pin.OUT, Pin.PULL_PU, 0) + +# 变量初始化 +i = 0 +j = 0 + +# 字模元组 0 1 2 3 4 5 6 7 8 9 A b C d E F - +LED_fonts = (0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E, 0xBF) + + +# 向74HC595写入数据的函数 +def LED_OUT(data): + for i in range(8): + if data & 0X80: + DIO.write(1) + else: + DIO.write(0) + data <<= 1 + SCLK.write(0) + SCLK.write(1) + + +# 数码管依次显示17个字模的函数 +def LED_Display(): + for j in range(17): + LED_OUT(LED_fonts[j]) + LED_OUT(0x0f) + RCLK.write(0) + RCLK.write(1) + utime.sleep(1) + + +if __name__ == "__main__": + while True: + LED_Display() + +``` + +## 实验操作 + +1.使用杜邦线进行硬件连接; + +2.将示例代码下载进模组运行; + +3.查看数码管上显示结果。 + +最终我们可以看到四个数码管循环显示17个字模,部分现象可见下图: + +![](media/Digital_tube_experiment_phenomenon.png) + +更多有关于数码管使用的方法可百度查找资料。 + diff --git a/docs/Advanced_development/zh/QuecPythonSub/Photoresistor.md b/docs/Advanced_development/zh/QuecPythonSub/Photoresistor.md index 078ee14055684c23bbc9c174772f94ae09f95377..d8fdf36391ea5f05b057ee0b5420fdd7309166a5 100644 --- a/docs/Advanced_development/zh/QuecPythonSub/Photoresistor.md +++ b/docs/Advanced_development/zh/QuecPythonSub/Photoresistor.md @@ -195,9 +195,9 @@ if __name__ == "__main__": #### 实验操作 -1.将代码烧录进开发板运行。 +1.将代码烧录进开发板运行; -2.用物品挡住光敏电阻,改变照射到光敏电阻的光强, +2.用物品挡住光敏电阻,改变照射到光敏电阻的光强; 3.查看串口输出的阻值的变化。 diff --git a/docs/Advanced_development/zh/QuecPythonSub/code/Digital_tube.py b/docs/Advanced_development/zh/QuecPythonSub/code/Digital_tube.py new file mode 100644 index 0000000000000000000000000000000000000000..b59691dc1bb40b879a791a0d82be116ed93f4aa4 --- /dev/null +++ b/docs/Advanced_development/zh/QuecPythonSub/code/Digital_tube.py @@ -0,0 +1,61 @@ +""" +@Author: Kayden +@Date: 2021-09-23 +@Description: Digital tube experiment +@FilePath: Digital_tube.py +""" +from machine import Pin +import utime + +''' +数码管模块和V1.3开发板的排针连接方式为: +DIO接开发板上P60对应的排针 +RCLK接开发板上P58对应的排针 +SCLK接开发板上P61对应的排针 +P60对应EC600S/EC600N模组的GPIO13、对应EC600U模组的GPIO4 +P56对应EC600S/EC600N模组的GPIO28、对应EC600U模组的GPIO16 +P61对应EC600S/EC600N模组的GPIO14、对应EC600U模组的GPIO1 +''' +# 当使用的模组为EC600S/EC600N时 +# DIO = Pin(Pin.GPIO13, Pin.OUT, Pin.PULL_PU, 0) +# RCLK = Pin(Pin.GPIO28, Pin.OUT, Pin.PULL_PU, 0) +# SCLK = Pin(Pin.GPIO14, Pin.OUT, Pin.PULL_PU, 0) + +# 当使用的模组为EC600U时 +DIO = Pin(Pin.GPIO4, Pin.OUT, Pin.PULL_PU, 0) +RCLK = Pin(Pin.GPIO16, Pin.OUT, Pin.PULL_PU, 0) +SCLK = Pin(Pin.GPIO1, Pin.OUT, Pin.PULL_PU, 0) + +# 变量初始化 +i = 0 +j = 0 + +# 字模元组 0 1 2 3 4 5 6 7 8 9 A b C d E F - +LED_fonts = (0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E, 0xBF) + + +# 向74HC595写入数据的函数 +def LED_OUT(data): + for i in range(8): + if data & 0X80: + DIO.write(1) + else: + DIO.write(0) + data <<= 1 + SCLK.write(0) + SCLK.write(1) + + +# 数码管依次显示17个字模的函数 +def LED_Display(): + for j in range(17): + LED_OUT(LED_fonts[j]) + LED_OUT(0x0f) + RCLK.write(0) + RCLK.write(1) + utime.sleep(1) + + +if __name__ == "__main__": + while True: + LED_Display() diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/Digital_tube_experiment_phenomenon.png b/docs/Advanced_development/zh/QuecPythonSub/media/Digital_tube_experiment_phenomenon.png new file mode 100644 index 0000000000000000000000000000000000000000..0f214ce4c1f33b63606c04fdc35bd2b9dc899c77 Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/Digital_tube_experiment_phenomenon.png differ diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/Schematic_diagram_of_nixie_tube_module.png b/docs/Advanced_development/zh/QuecPythonSub/media/Schematic_diagram_of_nixie_tube_module.png new file mode 100644 index 0000000000000000000000000000000000000000..e719133601c15136ed84efb70b71699279348df6 Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/Schematic_diagram_of_nixie_tube_module.png differ