• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / Arduino / Arduino番外編 / Arduinoをビジュアルプログラミングする ~ Ardublock, BlocklyDuino, S4A, Scrattino, mBlock ~

Arduinoをビジュアルプログラミングする ~ Ardublock, BlocklyDuino, S4A, Scrattino, mBlock ~

2019年12月2日 by STEMSHIP コメントを書く

Arduinoのプログラミングは、C/C++を学んだことがある人からすると、すんなりと入り込めると思います。しかし、多くの子供はキーボードを打つことさえ難しいのが現状です。そこで、登場するのがScratchのようにブロックを置いてプログラムする方法です。Arduino用にさまざまなツールが開発されていますので、それぞれの特徴について解説します。

なぜビジュアルプログラミング?

 初めてプログラミングをする子供に学んで欲しいことは、自分のアイデアを形にして、トライ&エラーを繰り返し、より良いものを作り上げる楽しさです。プログラミングは、それを実現するための手段であり、習得することが目的では有りません。 テキストベースのプログラム を学ぶためには、その前提知識として、「キーボードを打てる」「中学生レベルの英語がわかる」が必要です。その知識がなければ、「キーボードの文字探し」「よくわからない英字の羅列を記憶」というストレスを感じ、その上「コンパイルエラー」で嫌気が差して、2度とプログラミングをやりたくなくなってしまうかもしれません。プログラミングの障壁をできるだけ下げるためには、Scratchのようにブロックをドラッグ&ドロップでビジュアルプログラミングできる環境が必要です。

各種開発環境の比較

開発環境対応OSひらがな
対応
コード
生成
動作時の
PC接続
PC画面
と連携
更新
頻度
ArduBlockWin, Mac, Linux☓有り不要☓☓
BlocklyDuinoWin, Mac, Linux
(Chromeアプリ)
○有り不要☓○
S4AWin, Mac, Linux☓無し必要○☓
Scrattino 3Win, Mac○無し必要○○
mBlockWin, Mac,
iOS, Android
○有り不要△○

ArduBlock

ArduBlockは、Arduinoのコード生成を手助けするツールです。使用環境の準備は簡単で、 ArduBlockをダウンロードして 、普段使用しているArduino-IDEのtoolsフォルダに移動させるだけです。これだけで、ブロックをドラッグ&ドロップして、コードを生成することができます。 ブロックは日本語化されていますが、一部のブロックは英語表記が残っています。また、ひらがな対応はしていないため、小学校低学年だと一人で操作するのは難しいかもしれません。 ArduBlockの最新版の日付を見ると、2017年12月となっているため、今後の更新はあまり期待できません。

<各ブロックの説明>

  • 制御: プログラムの論理フローを決定します。ブロックには、delay、loop、while、if / elseなどの構造が含まれます。
  • ピン: Arduino側のピンを制御します。デジタル・アナログ、プルアップ、PWMなどが設定できます。
  • テスト:  数値の大小関係の比較や、ANDやORが含まれます。
  • 計算する:  加減乗除の数学演算、絶対値、三角関数などが含まれます。
  • 変数/定数: さまざまなタイプの変数(整数、浮動小数点、文字)が含まれます。
  • Generic Hardware: サーボ、超音波センサ、LCDなどのよく利用されるモジュール制御が含まれます。
  • 通信: シリアルまたはI2Cポートを介した通信が含まれます。

<使用手順>

  1. ArduBlockをダウンロード ( https://github.com/taweili/ardublock )
  2. Arduino-IDEのtoolsフォルダにファイルを移動。
  3. Arduino-IDEを起動して、ツールメニューの「ArduBlock」をクリック。
  4. ブロックを配置して、プログラムを作る。
  5. 「Arduino」にアップロードをクリック。

BlocklyDuino

 BlocklyDuinoは、Googleが作ったBlocklyをベースにして、ArduinoをScratchのようにブロックを並べるだけで、コードを生成してくれます。このツールは、日本人が開発したもので、日本の子供がもっと簡単にArduinoをプログラミングできるようにという思いで作成されたものです。BlocklyDuinoができるまでを説明したスライドが公開されていますので、興味のある方は見てください。
 このツールは、chrome拡張機能として提供されています。日本語にはもちろん対応していますが、それだけではなく、ひらがなにも対応しています。現時点の最終更新日は2019年3月なので、ある程度のメンテナンスはされているようです。いくつかのCoderdojoでも利用されているようです。さらに、開発者は Let’s Make With Arduino! というサイトでサンプルコードを公開しています。すばらしい!

<使用方法>

  1. Chromeストアからインストール ( https://chrome.google.com/webstore/detail/blocklyduino-editor/ohncgafccgdbigbbikgkfbkiebahihmb?hl=ja )
  2. BlocklyDuinoを起動 (http://code.makewitharduino.com/)。
    日本語表示に切り替えたい場合は、右上の歯車をクリックして設定する。
  3. 「ブロック」タブでプログラムを書く。
    サンプルプログラムを使用する場合は、 Let’s Make With Arduino!からコードをコピーする。BlocklyDuino画面右上の▼を押して、インポートをクリックして、ペーストする。
  4. 「arduino」タブでソースコードをコピーする。
  5. Arduino-IDEにペーストして書き込む。

S4A

S4Aは、Arduinoにファームウェアを書き込んで、PCと接続して使うことが前提となりますが、Scratchのようにブロックを組み合わせてプログラミングできます。ArduBlockやBlocklyDuinoとは異なり、コードは生成されません。S4Aの最終更新日を見ると、2014年12月となっており、今後の更新はあまり期待できません。しかし、Scratchをベースとしているため、Arduinoでコントローラを作成して、PC画面を制御する作品を作ることができるのが大きな利点です。対応OSは、Windows/Mac/Linuxといった基本OSは抑えており、日本語化もされています。Bluetoothを使えば無線で通信することもできます。

<使用方法>

  1. S4A公式サイトからS4Aプログラムとファームウェアをダウンロードする。ファームウェアは「Download our firmware from here」と書かれたところにリンクがあります。
  2. S4Aプログラムをインストールする。
  3. S4Aを起動すると「Searching board……」と表示されており、まだArduinoが認識できていないことを確認する。
  4. 先程ダウンロードしたファームウェアを開くと、拡張子「ino」のファイルがあるので、これをArduinoに書き込めば、S4Aプログラムで認識される。
  5. あとは、Scratchと同じ用にブロックを並べて動かす。

Scrattino

Scrattinoは、Scratchの拡張機能としてArduinoと接続することができます。現在は、Scratch3.0に対応したScrattino3が最新版です。S4Aとは異なり、公式のScratch3.0にあらかじめScrattino拡張機能が組み込まれているので、慣れた画面で手軽に始められます。 対応OSはWinとMacです。Scratchと連携させるために、最初の1回はFirmataというプログラムの書き込みが必要です。 現在の最終更新日は2019年4月なので、今後もメンテナンスは継続されると思われます。

<使用方法>

  1. Arduino-IDEメニューから、「ファイル->スケッチ例->Firmata->StandardFirmata」を開いて書き込む。
  2. Scrattino3を公式サイトからダウンロードする。
  3. Scrattino Desktop.exeを起動し、左下の拡張機能の追加ボタンを押して、「scrattino」をクリックする。
  4. PCに接続しているArduinoがリストに出てきたら、「接続する」ボタンを押す。
  5. 接続が完了したら「エディターへ行く」ボタンを押す。
  6. ブロックを並べてプログラムし、動作させる。

mBlock

mBlockは、Makeblock社が開発した言語で、Scratchをベースにしています。MakeBlock社は、プログラミング教育用に「mBot」「mTiny」「Codey Rocky」などの製品を販売しています。mBlockはこれらの製品をプログラムするために特化した言語です。「Arduino Uno」や「Arduino mega2560」もプログラムできるようですが、使用できるブロックは少なく、融通が利かない感じがします。しかし、対応OSは多彩(Windows, Mac, iOS, Android)です。現在(2019年12月時点)対応しているデバイスは下記のとおりです。

<MakeBlock社製品>

  • Codey Rocky
  • HaloCode
  • Neuron
  • mBot
  • mBot Ranger
  • Bluetooth Controller
  • MotionBlock
  • NovaPi
  • MegaPi Pro
  • Ultimate 2.0

<その他製品>

  • Arduino Mega2560
  • Arduino Uno
  • micro:bit

試しにWindows版をインストールしたところ、その手順は簡単で、迷うところはありませんでした。ユーザーインターフェースは見やすく、日本語対応しており、ひらがな対応もしていますので、小学校低学年でも一人で操作できそうです。

<mBlockの一般画面>

<mBlockのインストール画面>

<mBotの画面>

<Arduino mega2560の画面>

Filed Under: Arduino番外編

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2023年3月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 10月    

Copyright © 2023 · STEMSHIP.COM