【貂蝉がプログラミングを学ぶ】MicroPythonハンズオン(12) - 制御基板のHello World 2

豆知識:制御盤とは何ですか?
コントロールボードは、STEAMメーカー教育、人工知能教育、ロボットプログラミング教育を普及させるオープンソースのインテリジェントハードウェアです。ESP-32高性能デュアルコアチップを統合し、WiFiとBluetoothのデュアルモード通信をサポートし、IoTアプリケーションを実現するIoTノードとして使用できます。同時に、制御ボードにはOLEDディスプレイ、RGBライト、加速度計、マイク、光センサー、ブザー、キースイッチ、タッチスイッチ、ゴールドフィンガー外部拡張インターフェースが統合されており、グラフィックスとMicroPythonコードプログラミングをサポートしており、インテリジェントロボットを実現できます。 , Maker Smart Worksなどのスマートコントロールアプリケーション。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

コントロールボードのハードウェア機能:
ESP-32 メインコントロール
プロセッサ: Tensilica LX6 デュアルコアプロセッサ (1 コアが高速接続を処理し、1 コアが独立したアプリケーション開発) メイン周波数
: 最大 240MHz クロック周波数
SRAM: 520KB
フラッシュ: 8MB
Wi-Fi標準: FCC/CE/TELEC/KCC
Wi-Fi プロトコル: 802.11 b/g/n/d/e/i/k/r (802.11n、速度最大 150 Mbps)、A-MPDU および A-MSDU アグリゲーション、サポート0.4us 保護間隔
周波数範囲: 2.4~2.5 GHz
Bluetoothプロトコル: Bluetooth v4.2 BR/EDRおよびBLE規格に準拠
Bluetoothオーディオ: CVSDおよびSBCオーディオ 低消費電力: 10uA
電源方式: Micro USB電源
動作電圧: 3.3V
最大動作電流: 200mA
最大負荷電流: 1000mA
オンボード
3 軸加速度計 MSA300、測定範囲: ±2/4/8/16G
地磁気センサー MMC5983MA、測定範囲: ±8 ガウス、精度 0.4mGz、電子コンパス誤差 ±0.5 °
光センサー
マイク
3 フルカラー ws2812 ランプビーズ
1.3 インチ OLED ディスプレイ、16*16 文字ディスプレイをサポート、解像度 128x64
パッシブブザー
、2 つの物理ボタン (A/B) をサポート、6 つのタッチボタン、
1 つのワニ口クリップインターフェイスをサポート、簡単さまざまな抵抗センサーへのアクセス
拡張インターフェイス
20 チャンネルのデジタル I/O、(12 チャンネル PWM、6 チャンネルのタッチ入力を含む)
5 チャンネル 12 ビット アナログ入力 ADC、P0 ~ P4
1 チャンネルの外部入力ワニ口クリップ インターフェイス: EXT/GND は
I2C、UART をサポート、SPI通信プロトコル

ここに画像の説明を挿入
ここに画像の説明を挿入

8. 行の編集と入力履歴
左右の矢印キーを使用してカーソルを移動し、現在の入力行を編集できます。Home キーまたは Ctrl-A を押してカーソルを行の先頭に移動し、End または Ctrl を押します。 -E で末尾の行に移動します。削除には Delete キーまたは Backspace キーを使用します。

REPL は、入力したテキストの最初の数行を一定数(ESP32 では最大 8 行)記憶します。前の行を呼び出すには、上下の矢印キーを使用します。

Tab キー
Tab キーを使用すると、モジュール内のすべてのメンバーのリストを表示できます。これは、モジュールやオブジェクトがどのような機能やメソッドを持っているかを調べるのに役立ちます。上記の例でマシンをインポートしたと仮定して、「.」と入力し、Tab キーを押して、マシン モジュールのすべてのメンバーのリストを表示します。

>>> machine.
__class__       __name__        ADC             DAC
DEEPSLEEP       DEEPSLEEP_RESET                 EXT0_WAKE
EXT1_WAKE       HARD_RESET      I2C             PIN_WAKE
PWM             PWRON_RESET     Pin             RTC
SLEEP           SOFT_RESET      SPI             Signal
TIMER_WAKE      TOUCHPAD_WAKE   Timer           TouchPad
UART            ULP_WAKE        WDT             WDT_RESET
deepsleep       disable_irq     enable_irq      freq
idle            mem16           mem32           mem8
reset           reset_cause     sleep           time_pulse_us
unique_id       wake_reason
>>> machine.

9. REPLペーストモードとその他の制御コマンド

Ctrl-E を押すと特別な貼り付けモードになり、大きなテキスト ブロックをコピーして REPL に貼り付けることができます。Ctrl-E を押すと、貼り付けモードのプロンプトが表示されます。

ペーストモード。Ctrl+C でキャンセル、Ctrl+D で終了

その後、テキストを貼り付け (または入力) できます。特殊キーやコマンド (Tab や Backspace など) はペースト モードでは機能せず、そのまま受け入れられることに注意してください。Ctrl-D を押してテキストの入力を終了し、実行します。

他に 4 つの制御コマンドがあります。

空白行で Ctrl-A を押すと、raw REPL モードに入ります。これは、文字がエコーされないことを除いて、永久貼り付けモードに似ています。
空白の上で Ctrl-B を押すと、通常の REPL モードになります。
Ctrl-C は入力をキャンセルするか、現在実行中のコードを中断します。
空白行で Ctrl-D を押すとソフト リブートが実行されます。

ここに画像の説明を挿入

10. OLED画面にはHello Worldが
4ヶ国語で中央に表示されます。

コントロールボードには、解像度 128x64 の 1.3 インチ OLED ディスプレイが装備されています。Google Noto Sans CJK 16x16 フォント、フォント高さ 16 ピクセルを使用し、簡体字中国語、繁体字中国語、日本語、韓国語をサポートします。実験的なコードは次のとおりです。

from mpython import *

oled.fill(0)
oled.DispChar("世界你好", 40, 0, 1)
oled.DispChar("안녕하세요", 37, 16, 2)
oled.DispChar("Hello, world!", 26, 32, 3)
oled.DispChar("こんにちは世界", 22, 48, 4)
oled.show()

注釈

DispChar(str,x,y) 関数は、左上隅が座標となるテキストを FrameBuffer に書き込むことができます。str はテキストの内容を表示するもので、簡体字中国語、繁体字中国語、英語、日本語、韓国語をサポートしています。xy oled の開始 xy 座標を表示します。oled.show() は、FrameBuffer を oled に送信して、画面を更新して表示します。

Noto Sans CJK 16 ピクセルのモノ高、不等幅フォントを使用します。文字が異なれば幅も異なります。

mPython X グラフィックス プログラミング (4 つのモード)

表示された文字列「Hello World」が中央に来るように x の値を調整します。

ここに画像の説明を挿入

ここに画像の説明を挿入

11. mPython シミュレーション関数は Hello World を表示します
。プログラムは制御ボードなしでテストおよび実行できます。

ここに画像の説明を挿入

コンピュータ上の表示効果は図のようになります

ここに画像の説明を挿入
12. OLED スクリーンを理解する

コントロールボードには1.3インチのOLEDディスプレイが搭載されています。有機エレクトロレーザーディスプレイとしても知られるOLED(有機発光ダイオード)は、1979年に中国系アメリカ人の鄧清雲教授によって研究室で発見されました。これは、自発光する有機材料の非常に薄いコーティングです。つまり、電流が流れると、これらの有機材料が発光します。従来のディスプレイ画面と比較して、OLEDは技術的優位性の点で画期的であると言えます。OLED は広い視野角を持ち、ほぼ無限に高いコントラスト、低消費電力、非常に高い応答速度、フルカラー、簡単な製造プロセスという利点を持っています。OLED 材料はバックライト光源を追加しなくても自己発光することができるため、プロセスが大幅に簡素化され、体積が削減されます。OLEDは上記の優れた特性から、次世代フラットパネルディスプレイの新たな応用技術と考えられています。

制御基板上の OLED ディスプレイの解像度は 128x64 です。解像度とは、画面に表示されるピクセル数を指します。では、ピクセルとは何でしょうか? 制御基板上の OLED ディスプレイの解像度は 128x64 です。解像度とは、画面に表示されるピクセル数を指します。では、ピクセルとは何でしょうか? 画面上には絵が表示されますが、実際に画面の横に貼り付けると、画面が無数の小さな点で構成されていることがわかります。各点は比較的小さいため、目が誤って認識されてしまいます。それは完全な写真だと思いました。

ピクセルは画面上の点として理解できます。画面は複数のピクセルで構成されています。128x64 の解像度は、水平方向に 128 ピクセルが含まれ、垂直方向に 64 ピクセルが含まれることを意味します。画面には合計 128x64 ピクセルがあります。「ポイント描画」コマンドを使用すると、画面上の任意のピクセルを確認できます。サンプルプログラムと実行結果を下図に示します。画面上には絵が表示されますが、実際に画面の横に貼り付けると、画面が無数の小さな点で構成されていることがわかります。各点は比較的小さいため、目が誤って認識されてしまいます。それは完全な写真だと思いました。ピクセルは画面上の点として理解できます。画面は複数のピクセルで構成されています。128x64 の解像度は、水平方向に 128 ピクセルが含まれ、垂直方向に 64 ピクセルが含まれることを意味します。画面には合計 128x64 ピクセルがあります。「ポイント描画」コマンドを使用すると、画面上の任意のピクセルを確認できます。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_41659040/article/details/131998120