Skip to content

v0.1.1

Choose a tag to compare

@tarosay tarosay released this 06 Aug 07:39

Scratch 標準の接続フロー(ステータスボタンと接続モーダル)に対応しました。

スケッチは v0.1.0 と同じです。書き直す必要はありません。

v0.1.0 からの変更

拡張機能を追加すると接続画面が開きます

拡張機能ライブラリで UIAPduino を選ぶと、Scratch 標準の接続画面が自動的に開いて接続が始まります。

ブロックパレットのカテゴリ見出しに接続状態ボタンが出るようになりました。未接続なら「!」です。クリックすればいつでも接続をやり直せます。接続済みのボタンからは、状態の確認と切断ができます。

機器の一覧は出しません。UIAPduino は 1 台だけを前提にしているので、検索画面から直接「接続されました」へ進みます。

USB を抜いたときに画面で知らせます

これまでは「つながっている」ブロックが false になるだけでした。ステータスボタンが「!」に戻り、接続が切れたことを知らせるようになりました。

「つながっている」の意味が厳密になりました

USB を開いただけでは true になりません。デバイスとのやりとり(プロトコルのバージョン照合)まで終わってから true になります。

書き込んだスケッチが古い場合などに、つながったように見えてブロックが動かない、という状態が起きなくなりました。

日本語で表示されます

拡張機能一覧のカードの説明と、接続画面の文言が日本語になりました。**にほんご(ひらがな)**にも対応しています。

接続画面のマークが USB になりました

Bluetooth のマークが出ていたのを USB のマークに変えました。UIAPduino は USB-HID で接続するためです。

従来のブロックはそのままです

「UIAPduino につなぐ」ブロックは残してあります。保存済みのプロジェクトはそのまま開けます。 ブロックで接続した場合も、ステータスボタンは接続済みになります。

同梱物

ファイル 内容
Scratch-UIAPduino-3.29.1-Setup.exe インストーラ
Scratch-UIAPduino-3.29.1-portable.zip インストール不要版
Scratch-UIAPduino-3.29.1-sketch.zip UIAPduino に書き込むスケッチ(v0.1.0 と同一

スケッチについて

プロトコルのバージョンは 1 のままで、スケッチも v0.1.0 から変更ありません。

  • v0.1.0 を使っていた方: アプリだけ入れ替えてください。書き込み直しは不要です
  • はじめての方: Scratch-UIAPduino-3.29.1-sketch.zip を解凍し、ScratchUiapduino.ino を Arduino IDE で開いて書き込みます。同梱の sketch.yaml にボードと Tools メニューの設定が入っているので、手で設定し直す必要はありません

プロトコルのバージョンが違うと接続できません。アプリとスケッチは同じリリースの組み合わせで使ってください。

使い方

1. アプリを入れる

インストーラを実行するか、portable 版を解凍して Scratch UIAPduino.exe を起動します。

公式 Scratch Desktop とは別のアプリとして扱われるので、両方を入れておけます。

2. つなぐ

UIAPduino を USB で挿し、拡張機能ライブラリから UIAPduino を選びます。接続画面が開いて接続されます。

接続画面を閉じてしまっても、ブロックパレットの「!」からやり直せます。

⚠ 起動時の警告について

コード署名をしていないため、初回起動時に
「Windows によって PC が保護されました」 (SmartScreen) が表示されます。

「詳細情報」→「実行」 で進めてください。

⚠ portable 版の解凍について

zip の直下にファイルが並んでいます (約 1,400 個)。
新しいフォルダを作ってから解凍してください。
「ここに解凍」を選ぶとファイルが散らばります。

エクスプローラーの「すべて展開」や 7-Zip の「解凍先: <名前>\」なら自動でフォルダが作られます。

ブロック

v0.1.0 から変更ありません。

ブロック 内容
UIAPduino につなぐ 接続する。成功で true
つながっている 接続状態
ピン [n] を [入力/出力/入力(プルアップ)] にする pinMode
ピン [n] を [オン/オフ] にする digitalWrite
ピン [n] が入っている digitalRead
ピン [n] の出力を [0-255] にする PWM
ピン [n] の値 アナログ入力 (A0-A7)
実行待ちのコマンドをクリアする キューを捨てる

使えないピン

D13 / D14 は USB D+ / D−、D17 は RESET です。
指定した場合はスケッチ側で弾きます (アナログでは A4 / A7 が該当)。

オンボード LED は D2 です。

PWM が出るのは D0 / D2 / D5 / D6 / D12 のみです。それ以外を指定するとエラーになります
(黙ってデジタル出力にはなりません)。

制限

  • Windows のみです。macOS / Linux 版はありません
  • USB を抜いても自動では再接続しません。挿し直したら「!」をクリックするか、「つなぐ」ブロックをもう一度実行してください
  • 接続に失敗した理由は開発者コンソール (Ctrl+Shift+I) に出ます

動作確認環境

Windows 11 / Node.js v16.20.0 / Electron 15.3.1

インストーラは 32bit ですが 64bit Windows でも動作します。

ライセンス

このリポジトリの成果物は BSD-3-Clause です。
ビルド成果物には上流 Scratch (Massachusetts Institute of Technology / Scratch Foundation) の
コードが含まれます。詳細は README を参照してください。