pyBoardMiniのインストールから簡単なテストまで


 

01 byBoardミニ


淘宝網「最初からPythonのマイクロコントローラ・プログラミング」を購入することをいい、pyBoardミニアプリケーションのコア基板を。本日購入したPyBoardが到着しました。その上で予備実験テストを実施します。

1.pyBoardの基本情報

(1)ピン定義

▲PyBoardMiniの外部ピン

▲ 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のインストールを完了します端末。

▲インストール後に表示されるPyBoardUSB通信ポート

▲ 安装完之后出现的 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の[オプション]ダイアログボックス

▲ Thonny 的Options 对话框

Thonny'sShellsに次の簡単なテストステートメントを入力します。

>>> from pyb import LED
>>> led = LED(1)
>>> led.toggle()

▲ThonnyShellsは簡単な文章を入力します

▲ Thonny Shells输入简单语句

PyBoardのLEDが点灯していることを確認します。

▲LEDが点灯している

▲ LED被点亮

次のコードは、4つのオンボードLEDすべてを点灯させます。

from pyb                    import LED

led = [LED(x+1) for x in range(4)]

for l in led:
    l.toggle()


▲4つのオンボードLEDがすべて点灯している

▲ 四个板载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)

▲PyBoardLEDが点滅

▲ 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オブジェクトの関連機能

▲ 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が流水ライトを実現

▲ 板载LED实现流水灯

2.ボタン

▲ボタン関連機能

▲ 按键相关的函数

from pyb                    import LED,delay,Switch

def func1():
    LED(4).toggle()

sw = Switch()
sw.callback(func1)

▲ボタンでLEDの状態を切り替えます(4)

▲ 使用按键切换LED(4)的状态

3.GPIO

▲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)

▲ 使用板载的USR按键控制LED(4)

4.外部中断

▲外部IO割り込みに対応する機能

▲ 外部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)

▲ 使用外部中断来切换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オブジェクトに関連する機能

▲ ADC 对象相关的函数

(1)基本的なADC読み取り

from pyb                    import LED,RTC,Pin,ADC

adc = ADC('X1')
while True:
    print(adc.read())
    pyb.delay(250)

▲ポテンショメータでX1ポートの電圧を変更します

▲ 通过电位器改变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の明るさを設定します

▲ 通过ADC设置LED的亮度

7.DAC

STM32F411CEU4のデータシートによると、DAC出力がないことに注意してください。実験参考書の紹介によると、X5とX6の2つのDACがあります。X6はボード上のパッシブブザーに接続されているため、X6のみを使用できます。

▲DACオブジェクトの関連機能

▲ 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ポートが2つしかない

▲ F411模块只有两个UART端口

▲UARTオブジェクト

▲ UART对象

from pyb                    import LED,UART

uart = UART(1, 115200)

print("Test UART.")

while True:
    uart.write(b'\x55')
    pyb.delay(10)

▲X9の信号波形

▲ X9上的信号波形

 

▌結論


この記事では、新しく購入したpyBoard Miniの予備テストを実施して、その機能の一部を検証します。

このセクションにはDACがありません。これは、後続の信号処理プロセスでの特定の制限です。

■関連文献のリンク:

おすすめ

転載: blog.csdn.net/zhuoqingjoking97298/article/details/114176586