投稿

4月, 2024の投稿を表示しています

Inkscapeで実体配線図

【2024.09.22】 こちら に移動しました.自動では遷移しませんので,左のリンクをクリックしてください.またブックマーク等を設定している場合は,それらの変更をお願いします.

秋月電子のRP2040マイコンボードでCircuitPython

イメージ
秋月電子通商 はオリジナルのマイコンボードを各種製造販売していますが, Raspberry PiのRP2040を用いたマイコンボード (以下,AE-RP2040)もあります.本家の Raspberry Pi Pico (以下,Pico)はC/C++,MicroPythonまたは CircuitPython でプログラミングできるのですが,AE-RP2040がCircuitPythonで動かせるかどうかは情報があまりなかったので,自分で試してみることにしました. CircuitPythonのPicoのページ から.UF2ファイルをダウンロードします. AE-RP2040のBOOTボタンを押し,そのままの状態でPCと接続します.無事接続できるとPC上に“RPI-RP2”というドライブが出現します.RPI-RP2がPCに認識されたらBOOTボタンから手を離してOKです. ダウンロードした.UF2ファイル(adafruit-circuitpython-raspberry_pi_pico-〇〇-△.□.×.uf2)をRPI-RP2にドラッグ&ドロップします:本記事執筆時点のCircuitPythonは9.0.4 しばらくしてRPI-RP2が消え“CIRCUITPY”というドライブが出現したら,CircuitPythonのインストールは成功です. もしうまくインストールができない場合や,使用中のCIRCUITPYドライブの挙動がおかしくインストールし直しをしたい場合は, こちらのページ にある“flush_nuke.uf2”をダウンロードしてAE-RP2040に書き込み(BOOTボタンを押しながらPCに接続して,RPI-RP2ドライブにDrag&Drop)消去してからCircuitPythonの.uf2ファイルを再インストールします. ThonnyのREPLからboardモジュールのピンを調べてみると次のようになりました: >>> import board >>> dir(board) ['__class__', '__name__', 'A0', 'A1', 'A2', 'A3', 'GP0', 'GP1'

Robo Figure Skating

イメージ
  県教委主催の高校生を対象としたプログラミング講座を夏休みに担当させていただいていますが,今年の開催に備えてロボットの回路と基板の設計変更をやっています. プログラミングのお題はオリジナル競技の“ Robo Figure Skating ”.上の写真に示す2輪走行ロボットを使い,フィギュアスケートのような3分間の走行演技をしてください,というものです.リンクの広さは3.6m×2.7m,6畳間と同じです.走行だけでなく,NeoPixelを使った光の演技も可能です. ハードウェアは毎年変更になっていて,マイコンボードは昨年からSeeed XIAO RP2040になり,今年は慣性計測装置(IMU)がSTマイクロのLSM6DS3TR-C(加速度+ジャイロ)に変更になります.上の写真は昨年度のバージョンで,XIAO RP2040 + Bosch BNO055(加速度+ジャイロ+磁気)です. 回路図は↑.モータドライバのTB6612はモータ電源とロジック電源が内部で分離されているのですが,SAMD21/51やRP2040はモータが回転し始めるとリセット(おそらくブラウンアウトリセット)がかかってしまうというトラブルに遭遇しましたので,フォトカプラで完全絶縁をしています.micro:bitのときはそういうことはなかったのですが... オプションで超音波距離センサ( 3Vで動作できるタイプのHC-SR04 1 )を接続できるようにしてあり,中学校技術の教科書にあるお掃除ロボットの走行も可能です. 基板パターンはこんな感じです↓ IMUを基板中心に置き,それがRFSロボットの車軸中心上に来るようにしています.またXIAO RP2040は中心軸から少し左に寄せていますが,これはNeoPixelが中心軸に来るようにするためです. 1 データシートによるとGPIO方式での動作時はR4とR5がNCになっていてそれがデフォルトなのだけど,秋月電子の写真ではどちらも何某かの抵抗が接続されている.そんな動作モードはないんだけどなぁ...