5
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

蓄光シートにお絵かきを「つくるっち」でやってみた

ネタ出し

 Advent Calenderのネタを作らなくては... なんかないかなー。4日目に出した「蓄光塗料をプレイマットに塗れば紫外線LEDでtoio core cubeの動いた軌跡が描けると思ったんだけど...」のネタから派生してあとひとつかふたつはいけそうな気がする... そういそういえば「つくるっち」がM5StackCとtoio™️ core cubeに対応してたよなー、ということで「蓄光塗料を(略)」を「つくるっち」でやってみることにしました。

つくるっち

 「つくるっち」はそーたメイさんによるscratchベースのビジュアルプログラミング環境です。特徴としてはESP32ベースの機器(M5Stack)や、MESH™️、toio™️に対応しており、それらをまとめて制御できたりします。
 「つくるっち」について

 今回使ってみたのは「つくるっち3.x」のWebブラウザ版(chrome限定ですが)でWindows10のPCを使いました。
  http://sohta02.sakura.ne.jp/tukurutch/

準備

 つくるっちエディタを使うだけなら「http://sohta02.sakura.ne.jp/tukurutch/ 」にchromeでアクセスすれば使えますが、M5StackC、toio™️ core cubeと通信して使うためには準備が必要です。

M5StackCの準備

  • M5StickCにつくるっち用のプログラムを書き込みます。
  • M5StickCをchromeブラウザを使うPCと同じネットワークにあるWiFiルータに繋ぎます。
    • WiFiのSSIDとパスワードをM5StickCにセットして接続したらM5StickCのLCD画面に表示されるIPアドレスを調べます。
    • このIPアドレスをあとでつくるっちエディタのM5Series IPアドレス設定ブロックに入力します。

toio™️ core cube側側の準備

  • toio™️ core cube 側は特になにもしなくていいですが、PCにscratch linkをインストールして起動しておく必要があります。また、PCはBluetooth/BLE通信機能を持っている必要があります。

通信相手

 「蓄光塗料を(略)」ではM5StickCがtoio™️ core cubeとBLE通信していましたが

今回はPCがM5StickCとtoio™️ core cubeの両方と通信する形になります。

つくるっちエディタをchromeブラウザに表示してからの手順

  • 左下のこのアイコンをクリック
  • 拡張機能から、「M5Series」と「toio」をクリックして追加
    • 追加される左端の機能ブロックアイコンにM5Seriesとtoioが増えます。
  • toioのブロックをクリックするとtoio™️ core cubeに接続しようとします。
    • Scratch Linkを起動していない状態だと以下の警告がでます。
  • Scratch Linkを起動し、toio™️ core cubeの電源をオンにしてからtoioのブロックをクリックすると以下のように表示され、「接続する」をクリックすることで接続できます。
    • 「エディターへ行く」をクリックし、エディタ表示にします。
  • toio™️ core cubeが接続できていると、この表示になります。接続が切れた場合は切れた状態アイコンになるのでクリックして再接続ができます。
    • 接続できているとき
    • 接続が切れたとき
  • 左端の機能ブロック選択で「M5Series」をクリックし、「IPアドレス設定」ブロックにM5StickCのLCD画面に表示されているIPアドレスを入力します。

 これで準備が整いました。あとはエディタの右側にブロックを並べてプログラムを作るだけです。

蓄光シートにお絵かきをやってみた。

 M5StickCに紫外線LEDをとりつけ、toio™️ core cubeにセロハンテープで固定する手順は「蓄光塗料を(略)」と同じです。
 紫外線LEDの点灯、消灯はM5Seriesブロックの「デジタルピン『26』の出力を『HIGH』」デジタルピン『26』の出力を『LOW』」で行います。
 toio™️ core cubeの制御は「toio」ブロックの「左タイヤを速さ『』、右タイヤを速さ『』で『』秒動かす」「前に『』秒動かす」「右/左に速さ『』で『』秒回す」といったものしか使えません。(蓄光シート上では位置や角度を指定した移動は使えないため)
 実際に動かしてみると、ひとつ問題がありまして、M5StickCのデジタルピンG26の制御でHIGH(紫外線LED点灯)にすることはできたのですが、なぜかLOW(消灯)にすることができませんでした。紫外線LEDが点きっぱなしになります。なので、一筆書きのものしかできませんでした。

うずまき

tukuA.png

P_20201211_205147.jpg

お団子

tukuB.png

P_20201211_205411.jpg

軌跡が「蓄光塗料を(略)」のときとちょっと違うのは「待ち」(wait/delay/sleep)の時間精度の差かなぁという気がします。まあ、ArduinoIDEで書き込み直さないとパラメータを変えられない「蓄光塗料を(略)」のときと比べてつくるっちエディタのほうがパラメータ調整は気軽に試せそうです。

さいごに

 M5StickCのG26がLOWにならない件は、そーたメイさんに問いあわせたところ、Rover-C対応のための初期化処理が入っているためGPIOの直接制御はうまく動かないとのこと。なるほどー。(いきなり質問を送ってしまいましたが、丁寧なご回答をいただきありがとうございました。)
 対処された版がでたらまた試させていただきます。よろしくお願いします。

追記

 そーたメイさんにGPIOがLOWにならない不具合を修正していただいたので、一筆書きじゃなくて途中で紫外線LEDをオンオフしながら描く例をやってみました。

四角

辺の書き始めと書き終わりでGPIOのHIGH/LOW(紫外線LEDのオンオフ)ができています。
蓄光シートの表面の摩擦が(塗料の塗りが均一でないので)違うと90度ターンがうまくいかずときどき三角形になったりします。(笑)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
5
Help us understand the problem. What are the problem?