10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ビジュアルプログラミングで Raspberry Pi Pico が扱える「Piper Make」を軽く試した時のメモ(Maker Pi RP2040 でも試す)

Last updated at Posted at 2022-01-17

このツイートをきっかけに知った、「Raspberry Pi Pico をビジュアルプログラミングで扱える」開発環境の「Piper Make」を軽く試した時のメモです。

ちなみに、ラズパイ公式のツイートで、昨年 3月に紹介されていたもののようです。

Piper Make とは

先ほどのラズパイ公式のツイートで掲載されていた、以下の記事を見てみると、「Piper Make」は教育xテクノロジーなことをやっているスタートアップの Piper, Inc. が提供しているもののようです。
●Drag-n-drop coding for Raspberry Pi Pico - Raspberry Pi
 https://www.raspberrypi.com/news/drag-n-drop-coding-for-raspberry-pi-pico/
Drag-n-drop_coding_for_Raspberry_Pi_Pico_-_Raspberry_Pi.jpg

CircuitPython や MicroPython などで開発をする話が良く出ている Raspberry Pi Pico の開発を、ビジュアルプログラミングで実現できてしまうようです。

Piper Make を試す

自分の手元には、以前買っていた Raspberry Pi Pico があるので、早速試してみました。

セットアップの流れ

まずは、軽くセットアップの流れを紹介しておきます。

開発環境のトップページの URL は「 https://make.playpiper.com/ 」です。

この画面を下に進むと、緑色の「Setu my Pico」と書かれた部分があるので、ここをクリックして先へ進みます。
セットアップ用.jpeg

そして、Raspberry Pi Pico へファームを書き込む手順が、イラストや文字で案内されるので、それに従って進めます。おおまかには、以下の流れになります。

  1. Raspberry Pi Pico の「BOOTSELボタン」を押して PC に USB接続する
  2. PRI-RP2ドライブとして PCに認識された状態になったら、それをファーム書き込みの対象の場所として GUI上で選ぶ
  3. ファームの書き込みが行われる(その際、2つくらい「書き込んで良いですか?」的な確認が表示されるので、それらを許可するようにする)

途中に画面で表示される内容の細かなところは、以下の記事の画像を見ていただくのが良いかもしれません。
 ●Setting Up Your Raspberry Pi Pico on Piper Make | Piper Make With the Raspberry Pi Pico | Adafruit Learning System
  https://learn.adafruit.com/piper-make-with-the-raspberry-pi-pico/setting-up-your-raspberry-pi-pico-on-piper-make

プログラムを動かす

準備ができたら、ブロックのプログラムを組んでいく画面へ進みます。
トップページの上部に、緑色の「Getting Started」と書かれた部分があるので、それをクリックして以下の画面へ進みます。

この画面の左下に「CONNECT」と書かれた緑の部分があるので、Raspberry Pi Pico をつないだ状態で、それを押します。

そうすると、接続設定を行う表示がブラウザの左上のほうに出てくるので、そこでリストの中の Raspberry Pi Pico に該当するものを選んで、「接続」ボタンを押します。
シリアルポートへの接続.jpg

あとは、ブロックのプログラムを作り、画面の左上あたりにある「START」のボタンを押せば OK です。
ちなみに、自分が試したのは、Raspberry Pi Pico がキーボードのように動く(HIDデバイスとして動作する)というものです。

以下のように、ブロック 4つだけと Raspberry Pi Pico本体のみで試せるものにしました。
(写真では Raspberry Pi Pico が Grove Shield for Pi Pico にささってますが、今回の内容には特に関係ありません)

別デバイス(Maker Pi RP2040)でのお試し

ここで、「手元にある別のデバイスである Maker Pi RP2040 も使えたりするのでは?」と思い、試してみました。
「Maker Pi RP2040」は、RP2040 を搭載という点で Raspberry Pi Pico と共通点があるデバイスです。

さらに、Raspberry Pi Pico が標準搭載していない、様々なパーツを標準搭載しています。
 ●Maker Pi RP2040 - スイッチサイエンス
  https://www.switch-science.com/catalog/7285/

上記のスイッチサイエンスさんのオンラインサイトから一部を引用すると、例えば以下のような仕組みが内蔵されています(※ これで全部ではないです)。

  • ロボット制御ボード
    • 4 x サーボモーター
    • 2 x DC モーター(クイックテストボタン付き)
  • 13 x ステータス表示LED(GPIOピン用)
  • 1 x ピエゾ圧電ブザ(ミュートスイッチ付き)
  • 2 x プッシュボタン
  • 2 x RGB LED (Neopixel)
  • 7 x Groveポート(柔軟なI/O動作オプション:デジタル、アナログ、I2C、SPI、UART...)

つまり、ハンダ付けやブレッドボードを使った配線などをやらなくても、いくつかの入出力を実現するための機能を備えてしまっています(そして、そのわりにかなり安価!)。

結果を示すと、Raspberry Pi Pico の時と同じように動作しました。

余談ですが、つい最近、Maker Pi RP2040 で Zoomアプリの操作をする(特定のショートカットキー操作を、Maker Pi RP2040 で実行する)というのを、やってみてました。
この時は、CircuitPython を開発言語に用いて、ライブラリで adafruit/Adafruit_CircuitPython_HID を使っていましたが、今回のビジュアルプログラミングで同じことができてしまいそうです。

そういえば、記事の下書きをある程度は作った状態にしていたものの、完成させられてなかった...
以下が、その下書きの冒頭の部分のキャプチャです。
下書きの記事.jpg
書き上げて公開せねば!

【追記】上記の書きかけだった記事を完成させて公開

●Maker Pi RP2040 をキーボードとして認識させてキー入力(Raspberry Pi Pico と同じ RP2040 を搭載したデバイス) - Qiita
 https://qiita.com/youtoy/items/3ad628354a64015a9cea

HIDデバイスとしての動きを実現するブロック

今回のお試しでも少し使っていた HIDデバイスとしての機能、それを実現するのに使えるブロックは以下のようなものがあるようでした。

その他

今回のお試し内容を決めるきっかけとなった記事がありましたので、それを紹介しておきます。
(上記のセットアップ手順の中で、途中に表示される画像の参照先としても示していた記事の、別ページの部分です)
 ●Two Keyboard Macro Pad | Piper Make With the Raspberry Pi Pico | Adafruit Learning System
  https://learn.adafruit.com/piper-make-with-the-raspberry-pi-pico/pi-pico-macropad

【追記2】 テキストで書かれたプログラム

他のビジュアルプログラミング環境でも、ブロックのプログラムをテキストのプログラムに変換できたり、テキストのプログラムも書けたりするものがあります。

Piper Make も、以下の画像で示した部分でテキストのプログラムを見られるようです。

具体的にはこのようなプログラムです。

## ---- Imports ---- ##
import time
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
from adafruit_hid.keycode import Keycode

## ---- Definitions ---- ##

time.sleep(1)
keyboard_HID = Keyboard(usb_hid.devices)
keyboard_HID_layout = KeyboardLayoutUS(keyboard_HID)


## ---- Code ---- ##
time.sleep(4)
keyboard_HID.press(Keycode.FORWARD_SLASH)
time.sleep(1)
keyboard_HID.release(Keycode.FORWARD_SLASH)

以下の記事に出てくる話のときには、CircuitPython で開発したのですが、キー押下の処理に違いが少しあったり等するようでした。

●Maker Pi RP2040 をキーボードとして認識させてキー入力(Raspberry Pi Pico と同じ RP2040 を搭載したデバイス) - Qiita
 https://qiita.com/youtoy/items/3ad628354a64015a9cea
CircuitPythonで実装した時のもの.jpg

このあたりは、これからもう少し見ていければと思います。

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?