
▌01 byBoard Mini
在 淘寶購買到的《Python微控制器編程 從零開始》 ,其中提到了 pyBoard Mini 核心板的應用,今天購買到的PyBoard到貨了,對其進行初步的實驗測驗,
1.pyBoard基本資訊
(1)管腳定義

▲ PyBoard Mini的外管腳

▲ 外觀與個管腳定義
(2)學習資料
通過和淘寶電商主溝通,獲得相關的學習資料的下載鏈接:
資料鏈接: https://pan.baidu.com/s/11ZXjkUjAL-W2hd0thnzZ9w
提取碼:1234
下載之后,存盤在:
D:\zhuoqing\DesignCenter\MicroPython\PyBoard\MicroPython開發套件(基于pyboard STM32F05平臺)配套資料_2021-2-5
其中包括如下目錄:
- 01-開發工具
- 02-示例程式
- 03-相關韌體
- 04-原理圖&功能圖
- 05-芯片手冊
- 06-產品圖片
- 《MicroPython從0到1》基于pyBoard(STM32F405平臺)_v1.0.pdf
- 配套資料簡介.txt
2.將PyBoard接入PC
(1)安裝USB串口驅動
利用購買到器件中的Mini USB電纜將P有Board連入PC(Windows7)的USB,開始會出現如下未安裝好驅動的虛擬串口:
PyBoard Virtual Comm Port In FS Mode
同時會出現名稱為 PYBFLASH的磁盤,
根據 pyboard virtual comm port in fs mode 的解決問題 給出的解決方案,直接使用滑鼠右鍵對出現的USB設備 選擇 更新驅動軟體,通過瀏覽計算機以查找驅動程式軟體,選擇PYBFLASH即可完成USB設備的安裝,

▲ 安裝完之后出現的 PyBoard USB Comm Port
在PyBoard加載到PC的USB埠出現的PYBFLASH中存在以下檔案:
- boot.py
- dht.py
- ds18x20.py
- main.py
- onewire.py
- pybcdc.inf
- README.txt
- ssd1306.py
將其臨時保存在:
D:\zhuoqing\DesignCenter\MicroPython\PyBoard\PYBFLASH
(2)與Thonny連接
根據 安裝 Thonny 軟體環境開發PI Pico 描述,下載安裝Thonny IDE,
選擇 Thonny中的Tools中的Options對話框,通過Interpreter中選擇“MicroPython (Generic)”,然后在Port中選擇PyBoard USB Comm Port(COM10),
其中COM10需要根據計算機中PyBoard對應的USB串口的實際埠號而定,

▲ Thonny 的Options 對話框
在Thonny的Shells中輸入如下簡單的測驗陳述句:
>>> from pyb import LED
>>> led = LED(1)
>>> led.toggle()

▲ Thonny Shells輸入簡單陳述句
觀察到PyBoard上的LED被點亮:

▲ LED被點亮
下面的代碼將四個板載的LED都點亮:
from pyb import LED
led = [LED(x+1) for x in range(4)]
for l in led:
l.toggle()

▲ 四個板載LED都被點亮
from pyb import LED,delay
led = [LED(x+1) for x in range(4)]
print("LEDs flash")
while True:
for l in led:
l.toggle()
delay(250)

▲ PyBoard LEDs Flash
3.初步學習資料

《MicroPython從0到1》基于pyBoard(STM32F405平臺)_v1.0.pdf
4.恢復PyBoard出廠設定
當 pyboard出現例外時,可以 出現例外時,可以 通過以下方式修改啟動順序或者 恢復出廠設定 , 方法如下:
按著 pyBoard上的 USER鍵不放,再按一下 鍵不放,再按一下 RST鍵, LED燈會持續交替閃爍 , 當閃爍達到你想要的模式時候,松開 當閃爍達到你想要的模式時候,松開 user鍵, LED燈會快速閃爍,板子接著重 會快速閃爍,板子接著重 會快速閃爍,板子接著重 新啟動,
模式 1:只有綠燈亮 ,正常模式 :先啟動 boot.py然后 main.py,
模式 2:只有橙色燈亮 ,安全模式 ,安全模式 :啟動時候不運行任何腳本, (僅 1次有效 )
模式 3:綠燈和橙同時亮 ,檔案系統重置 :檔案系統恢復出廠狀態,然后 :檔案系統恢復出廠狀態,然后 以安全模式啟動,
注: 當編輯的程式存盤在PYBFLASH中main.py時,下次系統板上電啟動后,便運行main.py,
▌02 基本實驗
1.LED測驗
在pyb中封裝的LED物件的相關函式為:

▲ LED 物件的相關函式

▲ 延遲相關的函式
(1)流水燈
from pyb import LED,delay
led = [LED(x+1) for x in range(4)]
print("LEDs flash")
count = 0
while True:
for l in led:
l.on()
delay(100)
l.off()
delay(100)

▲ 板載LED實作流水燈
2.按鍵

▲ 按鍵相關的函式
from pyb import LED,delay,Switch
def func1():
LED(4).toggle()
sw = Switch()
sw.callback(func1)

▲ 使用按鍵切換LED(4)的狀態
3.GPIO

▲ GPIO相關物件的函式
下面代碼是通過USR板載按鍵控制板載LED(4)的狀態,
from pyb import LED,delay,Switch,Pin
p_out = Pin('B4', Pin.OUT_PP)
p_in = Pin('X17', Pin.IN, Pin.PULL_UP)
while True:
if p_in.value() == 0:
p_out.high()
else:
p_out.low()
演示效果:

▲ 使用板載的USR按鍵控制LED(4)
4.外部中斷

▲ 外部IO中斷對應的函式
from pyb import LED,delay,Switch,Pin,ExtInt
callback = lambda e: LED(4).toggle()
ext = ExtInt(Pin('Y1'), ExtInt.IRQ_FALLING, Pin.PULL_UP, callback)

▲ 使用外部中斷來切換LED(4)
5.實時時鐘

▲ 始終相關的函式
from pyb import LED,RTC,Pin
rtc = RTC()
if rtc.datetime()[0] != 2019:
rtc.datetime((2019,4,1,1,0,0,0,0))
while True:
print(rtc.datetime())
pyb.delay(500)

▲ 實時時鐘輸出的字符
6.ADC

▲ ADC 物件相關的函式
(1)基本的ADC讀取
from pyb import LED,RTC,Pin,ADC
adc = ADC('X1')
while True:
print(adc.read())
pyb.delay(250)

▲ 通過電位器改變X1埠的電壓
(2)改變LED亮度
from pyb import LED,RTC,Pin,ADC
adc = ADC('X1')
while True:
adv = adc.read()
intensity = int(adv / 16)
for i in range(4):
LED(i+1).intensity(intensity)
pyb.delay(25)

▲ 通過ADC設定LED的亮度
7.DAC
注意,按照STM32F411CEU4的資料手冊,它并沒有DAC輸出,可以按照實驗參考書上介紹,它具有2個DAC,分別是X5,X6,其中X6連接了板上的無源蜂鳴器,因此只能使用X6,

▲ DAC 物件的相關函式
執行程式,會發現,其中并沒有DAC模塊,
from pyb import LED,RTC,Pin,ADC,DAC
dac = DAC(1, bits=12)
dac.write(0x400)
print('DAC output 0x400')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: can't import name DAC
在相同的淘寶銷售商,它給出的 PyBoard -STM32F405開發板 中帶有DAC轉換器,
8.UART

▲ F411模塊只有兩個UART埠

▲ UART物件
from pyb import LED,UART
uart = UART(1, 115200)
print("Test UART.")
while True:
uart.write(b'\x55')
pyb.delay(10)

▲ X9上的信號波形
▌結論
本文對于剛剛購置得到的 pyBoard Mini進行初步測驗,驗證了其中部分功能,
這個版塊不具有DAC,這是它在之后的信號處理程序中有道一定的限制,
■ 相關文獻鏈接:
- 淘寶購買到的《Python微控制器編程 從零開始》
- pyBoard Mini
- pyboard virtual comm port in fs mode 的解決問題
- 安裝 Thonny 軟體環境開發PI Pico
- PyBoard -STM32F405開發板
- 基于PI Pico一些基礎實驗
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/264864.html
標籤:其他
上一篇:IO流實作文章的復制
下一篇:11. 含k個3的數
