ビジュアルプログラミングが大人におすすめな理由!ノーコードで楽しむ方法を紹介
こんにちは、せでぃあ(@cediablog)です。
プログラミング未経験なのでコード作成にハードルの高さを感じます。
このような悩みにお答えします。
これまでプログラミングを一度も作ってこなかった初心者の方でも簡単にプログラミングすることができる方法があります。
それが、ビジュアルプログラミングです。
上記はArduinoの本体に内蔵されているLEDを1秒間隔で点滅させるプログラムです。
たったこれだけのブロックの組み合わせで、LEDを点滅させるプログラムが作れるなんて便利だと思いませんか?
ビジュアルプログラミングは文字列を使わないプログラミング方法で、機能ブロックを積み木のように組み合わせることでプログラミングができる方法です。
この方法を使うことで、プログラミング初心者でも気軽にプログラミングを行うことができます。
本記事では大人がビジュアルプログラミングを楽しむ方法を紹介しています。
ビジュアルプログラミングはプログラミング初心者におすすめです!
- ビジュアルプログラミングがおすすめな理由
- おすすめビジュアルプログラミングツール
- Arduinoを使ってビジュアルプログラミングを楽しむ方法
せでぃあはこんな人物です
✅プライム企業に勤める電気・機械設計エンジニア
✅親子の絆を深めるため、夏休みに子供と一緒に電子工作を製作
✅Arduinoプログラミングを用いて作ったプログラミング電子工作「信GO機」が市の発明くふう展で「優秀賞」を受賞
✅本ブログにてArduinoスクラッチプログラミングLESSON記事投稿中
✅YouTubeチャンネル「せでぃあブログちゃんねる」運営中
Arduinoについて知りたい方は、こちらの記事を読むと概要が分かります。
プログラミング方法は大きく分けて2つ
プログラミング方法は、大きくは以下の2つに分けられます。
プログラミング方法
- 文字コード式
- ビジュアル式
ビジュアル式は、ブロック式と呼ばれることもあります。
これらのプログラミング方式の概要を簡単に説明していきます。
文字コード式
上記はArduinoの本体に内蔵されているLEDを1秒間隔で点滅させるプログラムの例になります。
プログラムのルールに沿って、自ら文字列を入力することでプログラムを作っていきます。
文字コード式の特徴
- プログラムは「英数字+記号」で作る。(コメントは日本語可)
- プログラムコードの書き方ルールに沿う必要がある。
- 命令語(関数)の知識がある程度必要。
プログラミング初心者にはハードルが高めですね。
Arduinoは手軽に始められるマイコンの一つですが、ある程度のプログラミング学習が必要になります。
文字コード式プログラミングのルールについては、こちらの記事で紹介しています。
ビジュアル式
上記は、ビジュアルプログラミングツール「mBlock」のプログラム作成画面になります。
本記事冒頭で紹介した、Arduino内蔵LED点滅プログラムです。
ビジュアルプログラミングは、機能を持ったブロックをドラッグアンドドロップにより組み合わせて作っていきます。
ビジュアル式の特徴
- ブロックの組み合わせでプログラムを作る
- ドラッグアンドドロップやプルダウンなど直感的な操作が可能
- 命令語(関数)への対応ブロックの種類が少ない
ブロックの組み合わせだけでプログラムが作れるなら、私にもできそうです!
文字コード式に比べて見た目の抵抗感なく、プログラミングができるとろこがいいですね。
ビジュアルプログラミングのデメリット
ビジュアルプログラミングは、直感的にプログラミングができる便利なツールですがデメリットもあります。
- 文字コードプログラミングに比べて、できることが少ない
- コメント入力ができない
- デバッグがやりづらい
できることが少ない
文字コードプログラムは、基本的にArduinoを持つ機能のすべてをコード入力により使用することができます。
一方で、ビジュアルプログラミングは提供されている機能ブロックの種類に限りがあります。
そのため文字コードプログラムを作らないと実現できない動作(関数)があるため注意が必要です。
ビジュアルプログラミング非対応の例
・シフトレジスタを使った制御プログラム
このあと紹介する「mBlock」というビジュアルプログラミングツールは、拡張ブロックの追加機能もありよく使われる機能(関数)はおおよそ網羅されています。
プログラミング初心者には、さほどデメリットに感じないと思います。
コメント入力ができない
そもそもコメントって何ですか?
コメントとは、プログラムの演算には全く関係しないプログラム内容を補足するための説明文(覚え書き)になります。
コメントがあることで、プログラム内容を理解しやすくなったり、頭の中で整理しながらコード作成ができるようになるメリットがあります。
ビジュアルプログラミングでは、プログラム内にコメントを記述することができません。
ブロックを見るだけで機能が分かりますし、コメントを付ける必要性もないぐらい分かりやすいプログラムだと思います。
コメントが記入できなくても、特に不自由はないと感じています。
デバッグがやりづらい
文字コードプログラミングでは、簡単に指定した命令文をコメント化することができます。
命令文のコメント化は、動作がうまくいかなかったときにどこのプログラム部分に間違いがあるのか検証するときに使える便利な機能です。
コメント化により実行する命令を限定することで、問題個所を抽出しやすくなります。
プログラムの問題個所を修正することを「デバッグする」と言います。
ビジュアルプログラミングはコメント化できなくても大丈夫ですか?
ビジュアルプログラミングは不具合が起きにくいので、コメント化できなくても不都合はないと感じています!
文字コードプログラミングはArduino IDEという統合開発環境ツールを用いて作成します。
ビジュアルプログラミングがおすすめな理由
ビジュアルプログラミングは、プログラミング初心者にとってデメリットをはるかに上回るメリットを持っています。
- 関数を知らなくてもプログラム作成が可能
- プログラム間違いが少ない
- 小学生から手軽に始められる
関数を知らなくてもプログラム作成が可能
文字コードプログラミングを使ってプログラムを作るためには、やりたいことをプログラム演算させるための「関数」を覚える必要があります。
これがプログラミング初心者から見た、プログラミングのハードルを上げる要因になっています。
ビジュアルプログラムはこれらの機能がブロックに変換されているので、ブロックを選んでくっつけるだけでプログラムを作ることができるメリットがあります。
覚えることが少ないのは、初心者にとって大きなメリットですよ!
Arduinoのデジタル出力ソケット制御
指定したデジタル入出力ソケット番号の電圧をON、またはOFFします。
ONさせたいときは「HIGH」、OFFさせたいときは「LOW」を指定します。
文字コードプログラムの場合
digitalWrite(入出力ソケット番号,HIGHまたはLOW)
ビジュアルプログラムの場合
デジタル出力制御ブロックを選択して、ソケット番号とON-OFF出力指令を選択するだけで簡単に出力命令プログラムが作れます。
プログラム演算条件制御
if else文など、条件式が成立しているか否かで、どちらの命令文を実行するか振り分ける命令文にもルールがあります。
どういう条件が成立したら、どんな演算をさせたいか?によっていくつかの関数を覚える必要があります。
文字コードプログラムの場合
if( 条件 ){
条件成立時に実行する文 ;
} else {
条件不成立時に実行する文 ;
}
if文などは「 { 」や「 } 」の挿入位置や数を間違えるとプログラムエラーになるので、結構気を使います。
ビジュアルプログラムの場合
さまざまな制御条件ブロックが準備されています。
if文やif else文と同じ制御ができるブロックや、繰り返し条件ブロックなどよく使う制御ブロックは一通りそろっているので安心です。
これだけ揃っていたら物足りない、ということはないです。
標準で準備されているArduino専用ブロックを紹介しています。
プログラム間違いが少ない
文字コードプログラミングは、自由度の高さがあるためプログラム間違いが発生しやすいです。
むしろ一発で文法に間違いがないプログラムが書ける確率は、かなり低いです。
よくあるプログラム間違い例
- 命令語や変数名の入力間違い
- かっこ「 { 」や「 } 」の数や記述位置間違い
- 大文字小文字の間違い
文字コードプログラミングは、キーボードを使った手入力が基本になります。
そのため、1文字でも打ち間違いがあるとプログラムエラーとなり演算実行が出来なくなります。
ビジュアルプログラミングはプルダウンで選択できるものが多く、文字入力する機会が非常に少ないです。
変数も一度作成すれば、ブロック化できるので誤入力してしまう可能性も非常に少ないです。
ビジュアルプログラミングは、文字コード式に比べてプログラム作成から完成までの道のりが楽なことが特徴です。
ミスタイプによるコードエラーは結構あるので、これが回避できるメリットは大きいと思います!
変数を使ったビジュアルプログラミング例を紹介しています。
小学生から手軽に始められる
小学生にとってビジュアルプログラミングは大人に対してよりも大きなメリットがあると感じています。
子供に対するメリット
- 英単語を知らなくても良い
- パソコンのキーボードが使えなくても良い
- 夏休みの自由研究にも使える
英語を知らなくても大丈夫
文字コードプログラミングは英数字と記号で作ることになります。
命令語も「if」や「else」のように英単語ベースになるため、これから英語を学んでいく小学生にとっては大人よりもハードルの高さを感じることかと思います。
ビジュアルプログラミングはブロックが日本語表記のため、英語を知らなくても安心して必要な機能ブロックを選んでプログラムを作り上げることができます。
キーボード操作が苦手でも大丈夫
また、まだパソコンのキーボード操作に慣れていなかったり手が小さくてキーボードのキー操作がやりづらいと感じるお子様もいるのではないでしょうか?
ビジュアルプログラミングはほとんどマウスのドラッグアンドドロップ操作によってプログラム作成が可能なため、キーボード操作が苦手な方も安心してプログラムを作成することができます。
夏休みの自由研究にも使える
小学生高学年になってきたら、電子工作にもチャレンジしてみて欲しいです。
夏休みの自由研究は遊びながら学べる貴重な機会だと思います。
ビジュアルプログラミングを使った電子工作をチャレンジしてみてはいかがでしょうか?
親子のきずなも深められそうですね!
プログラミングの世界に興味を持つきっかけとしてもおすすめです。
レゴとArduinoキットを使った電子工作「信GO機」の作り方を紹介しています。
おすすめビジュアルプログラミングツール
プログラミング初心者におすすめなビジュアルプログラミングツールを紹介します。
おすすめなツール
- mBlock
- Scrattino3
特におすすめなのが、機能ブロックが充実している「mBlock」です。
それぞれのビジュアルプログラミングツールの特徴について、紹介しています。
おすすめ第1位:mBlock
mBlock は、Makeblock社が開発したスクラッチベースのビジュアルプログラミングツールです。
ブラウザ上または、スマホ・PC(パソコン)にインストールをしてプログラミングを行う無償ソフトウェアになります。
mBlockの特徴
- 豊富な機能ブロック
- アップロードモードによる高速演算
- ブロック拡張機能
mBlockの始め方については、こちらの記事をご参照ください。
Makeblock社は子供向けプログラミング教育ロボット「mbot」を開発した企業であり、そのmbotもこのmBlockを用いてビジュアルプログラミングを作ることができます。
mbotは小学生のSTEM教材としておすすめです!
豊富な機能ブロック
mBlockでは、Arduino専用の制御ブロックが20種類も準備されています。
基本的な動作機能が網羅されているため、プログラミング初心者であれば機能の不足感を感じることはないと思います。
これだけ機能ブロックがあれば、いろいろな動作が試せますよ!
これとは別に、条件振り分け用の制御ブロックも準備されていますので安心してください。
mBlockのArduino専用ブロックを詳しく紹介しています。
アップロードモードによる高速演算
mBlockには、ビジュアルプログラミングをArduinoの文字コードに変換する機能があります。
その変換後のコードをArduino本体に書き込んで、Arduinoのマイコンでプログラム演算させることが可能です。
mBlockでは、その機能をアップロードモードと言います。
PCでプログラム演算してArduinoを制御すると、USBケーブルを使った通信速度に限界があるため演算周期がゆっくりになってしまうデメリットがあります。
アップロードモードを使うことで、文字コードプログラミングのような高速演算をさせることができます。
mBlockイチオシの理由がアップロードモードの存在です!
アップロードモードの使い方については、こちらの記事にて詳しく説明しています。
ブロック拡張機能
mBlockでは一般に公開されている拡張ブロックを追加して、プログラム内で使用することができます。
LCD(液晶ディスプレイ)や温湿度センサなど、デフォルトではその制御ブロックが存在していないものは、拡張ブロック機能を用いてブロックを追加することで対応が可能となります。
ビジュアルプログラミングの拡張機能は嬉しいですね!
ビジュアルプログラミングに慣れてきたら拡張ブロックを使ったプログラミングにもチャレンジしてみてくださいね!
LCD(液晶ディスプレイ)制御用の拡張ブロックの使用例を紹介しています。
おすすめ第2位:Scrattino3
Scrattino3(スクラッチーノ3) は、PC(パソコン)にインストールをしてプログラミングを行う無償ソフトウェアです。
Scrattino3は、子供向けプログラミングツールとして有名なScratch3.0(スクラッチ3.0)の拡張機能となっています。
Scratchでプログラミングしたことがある方であれば、抵抗なくScrattino3を使ったビジュアルプログラミングを始めることができます。
mBlockに対して機能ブロックが少ない分、シンプルで使い勝手が良いメリットがあります。
一方で、以下のデメリットあるため、Scratch3.0以外のツールを使うことに抵抗がなければmBlockの使用をおすすめします。
- プログラム演算が遅い
- ブロックの拡張機能がない
Scrattino3は、PC内部でプログラム演算してUSB通信を使ってArduinoを演算する方式しか使えません。
Arduino内部で0.1秒未満の高速演算させたい場合は、対応ができませんので注意が必要です。
また、mBlockのようなブロック追加する拡張機能はありません。
Scrattino3のインストール方法と使い方はこちらの記事にて詳しく説明しています。
ビジュアルプログラミングの楽しみ方
ここからは、ビジュアルプログラミングを使って楽しむために必要なものを紹介します。
- マイコン本体(Arduino UNO R3)
- 電子パーツ
- USBケーブル
- 参考書
参考書はマストアイテムというわけではありませんが、プログラミング初心者にとって心強い味方になってくれることは間違いないと思いますので紹介させていただきます。
マイコン本体(Arduino UNO R3)
プログラムを演算するためには、頭脳となるマイコンが必要です。
Arduino UNO R3はビジュアルプログラミングに対応しており、文字コードプログラミングが全くできない方でも安心してプログラミングを始めることができます。
私はELEGOO社の互換機を使っています。
電子パーツ
Arduino本体に様々な電子パーツを接続することで、制御動作を確認することができます。
電子パーツの例
- タクトスイッチ(押しボタン)
- LED
- 超音波センサー
- ブレッドボード
- ジャンパーワイヤー
制御機器パーツ
タクトスイッチは、ボタン入力による動作条件を作りたいときに使用します。
LEDは(赤・青・黄・緑)などの色の使い分けによるアイデア工作への適用も可能です。
超音波センサーは対象物との距離を測定することが出来る機器で、電子工作にもよく使用されています。
配線用パーツ
ブレッドボードやジャンパーワイヤーは、Arduino本体と制御機器パーツを接続するために使います。
これらを使うことで、基本的にはピンをソケットと言われる穴に差し込むだけで簡単に配線作業を行うことができます。
子供でも安全に作業ができそうですね!
コスパ最強のArduinoスターターキットを紹介の中身と機能を紹介しています。
お手頃価格で、必要な部材が揃えられるのでおすすめですよ!
USBケーブル
PCとArduino本体を接続するために必要になります。
mBlock、Scrattino3のどちらを使う場合でも必ず必要となるのがこのUSBケーブルになります。
参考書
これからビジュアルプログラミングを始める方におすすめな2冊を紹介します。
おすすめ書籍
- Arduinoではじめる電子工作超入門
- できるキッズScratch3プログラミング入門
Arduinoではじめる電子工作超入門
Arduinoの始め方から、ビジュアルプログラミングを使ったプログラミング方法について詳しく説明されている本です。
フルカラーで写真をふんだんに使った分かりやすい解説が特徴で、プログラミング初心者におすすめな一冊です。
Scrattino3を使ったビジュアルプログラミング方法が紹介されており、Arduinoのビジュアルプログラミング参考書としても活用できます。
できるキッズScratch3プログラミング入門
こちらは、Scratch3.0(スクラッチ3.0)を使った、プログラミング学習本です。
Arduino本体を持っていなくても、パソコン画面上でゲームを作りながらビジュアルプログラミングを学習することができます。
まずはビジュアルプログラミングを体験してみたい、そんな方におすすめな一冊です。
ビジュアルプログラミングは大人におすすめ【まとめ】
- 英単語がわからなくてもプログラミングが可能
- ビジュアルプログラミングツールはmBlockがおすすめ
- 大人でも十分楽しめる拡張性がある
ビジュアルプログラミングが子供が使うだけのプログラミング方法ではない、ということがお分かりいただけましたでしょうか?
文字コードプログラミングに負けないくらい制御できる機器も豊富で、かつ直感的なプログラム作成が可能な利便性も兼ね備えています。
大人も子供も、ビジュアルプログラミングを通じてプログラミング電子工作の楽しさに一度触れてみてください。
自分のやりたい動作が実行できると嬉しいですよ!
最後まで読んでいただき、ありがとうございました。
オリジナル電子工作「扇風機」の作り方を紹介しています。
コメント