▌ 01 byBoardミニ
で淘宝網「最初からPythonのマイクロコントローラ・プログラミング」を購入することをいい、pyBoardミニアプリケーションのコア基板を。本日購入したPyBoardが到着しました。その上で予備実験テストを実施します。
1.pyBoardの基本情報
(1)ピン定義
▲ PyBoard Mini的外管脚
▲ 外观与个管脚定义
(2)教材
淘宝網のeコマース所有者とのコミュニケーションを通じて、関連する学習資料のダウンロードリンクを取得します。
情報リンク:https://pan.baidu.com/s/11ZXjkUjAL-W2hd0thnzZ9w
抽出コード:1234
ダウンロード後、次の場所に保存します。
D:\ zhuoqing \ DesignCenter \ MicroPython \ PyBoard \ MicroPython開発キット(pyboard STM32F05プラットフォームに基づく)サポートinformation_2021-2-5
これらには、次のディレクトリが含まれます。
- 01-開発ツール
- 02-サンプルプログラム
- 03-関連ファームウェア
- 04-回路図と機能図
- 05-チップマニュアル
- 06-製品写真
- 「0から1までのMicroPython」はpyBoard(STM32F405プラットフォーム)_v1.0.pdfに基づいています
- 補足情報introduction.txt
2.PyBoardをPCに接続します
(1)USBシリアルポートドライバーをインストールします
デバイスで購入したミニUSBケーブルを使用してPボードをPC(Windows 7)のUSBに接続すると、ドライバーがインストールされていない次の仮想シリアルポートが最初に表示されます。
FSモードのPyBoard仮想通信ポート
同時に、PYBFLASHという名前のディスクが表示されます。
fsモードのpyboard仮想通信ポートによって提供されるソリューションによると、マウスの右ボタンを直接使用して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ピコの説明、ダウンロードとThonny IDEをインストールします。
Thonnyのツールで[オプション]ダイアログボックスを選択し、インタープリターで[MicroPython(Generic)]を選択してから、[ポート]で[PyBoard USB通信ポート(COM10)]を選択します。
その中で、COM10は、コンピュータのPyBoardに対応するUSBシリアルポートの実際のポート番号に従って決定する必要があります。
▲ Thonny 的Options 对话框
Thonny'sShellsに次の簡単なテストステートメントを入力します。
>>> from pyb import LED
>>> led = LED(1)
>>> led.toggle()
▲ Thonny Shells输入简单语句
PyBoardのLEDが点灯していることを確認します。
▲ LED被点亮
次のコードは、4つのオンボード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.予備研究資料
「0から1までのMicroPython」はpyBoard(STM32F405プラットフォーム)_v1.0.pdfに基づいています
4.PyBoardの工場出荷時設定を復元します
パイボードに異常が発生した場合は、以下の方法で起動順序を変更したり、工場出荷時の設定に戻すことができます。
pyBoardのUSERキーを押したまま、もう一度キーを押したまま、もう一度RSTキーを押すと、LEDライトが交互に点滅し続けます。点滅が目的のモードに達すると、点滅が目的のモードに達したときに放します。必要な場合は、ユーザーボタンを離すと、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出力がないことに注意してください。実験参考書の紹介によると、X5とX6の2つのDACがあります。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がありません。これは、後続の信号処理プロセスでの特定の制限です。
■関連文献のリンク: