Arduinoの始め方、できること・ブロックプログラミングの作り方
こんにちは、せでぃあ(@cediablog)です。
プログラミング教育が小学校で必修化されて注目されてきています。
プログラミングを学習するにあたって、実際にランプが光ったりモーターが動いたりする電子工作を用いることは、遊び心を勉強につなげる素晴らしい勉強法です。
私が子供と一緒に作った電子工作を例にして、子供から大人までだれでも簡単にプログラミングを用いた電子工作をはじめられる方法を紹介します。
- Arduino(アルディーノ)を使ってみたい
- 親子でのプログラミング電子工作をやってみたい
- Scrattino3(スクラッチ)を使ったプログラミングをやってみたい
お手軽マイコンArduino(アルディーノ)の始め方
STEP1:何ができるか?知っておく
Arduinoとは初心者から扱うことができるマイコンです。
アルドゥイーノやアルディーノと言われることもあります。
ラズベリーパイ(ラズパイ)と並んで、工作初心者に人気のマイコンです。
- 単純なプログラミングに最適
- シールドと呼ばれる拡張ボードが豊富
単純なプログラミングに最適
Arduinoはボタンを押したらLEDが点滅を開始する等の「順番に動作が行われて、それが繰り返される」動作を得意としています。
シールドと呼ばれる拡張ボードが豊富
Arduinoにはシールドと呼ばれる機能を拡張するボードが存在します。
無線LANアクセスポイントへ接続して通信を可能とするボード等があります。
- プログラムの複雑同時処理が苦手
- OSを持たない
プログラムの複雑同時処理が苦手
Arduinoはプログラムで記載された順番に一つずつ処理を進める処理方法です。
いろいろな回路を同時並行して進めることを苦手としています。
OSを持たない
これがラズベリーパイ(ラズパイ)との大きな違いになります。
ラズパイはLinuxベースのOSが搭載されているのに対し、ArduinoはOSを持ちません。
なので外部PCにてプログラムを作り、Arduino本体にプログラムを転送する必要があります。
STEP2:動作させるために必要機器を準備する
- Arduino本体
- パソコン
- USBケーブル
- 電子部品パーツ
- 参考書
Arduino本体
基本的なエディションとなる「Arduino Uno」で説明します。
Arduinoはオープンソースハードウェアのため、同等機能を持つ互換機が販売されています。
本家も購入できますが、私はお値打ちなELEGOO社のUNO R3を購入しました。
まずは本体・ケーブル・LED・押しボタン等の機器が揃ったキットの購入がおすすめです。
【おすすめ】モーターやLCDディスプレイ等を含むお買い得キットはこちら!
Arduino本体裏面のショート対策におすすめです。
パソコン
プログラムを作成するために必要です。
プログラム制御の演算はArduino側で行うため、パソコンのSPECは一般的なモデルで十分対応可能です。
USBケーブル
パソコンとArduinoを接続してプログラムデータのやり取りをするために必要です。
電子部品パーツ
LEDやブザー、押しボタンスイッチなどを準備してください。
Arduino本体とそのた必要なパーツが一緒になったキットが発売されています。
キットを購入することで、お値打ちに少量多品種のパーツを入手することが可能です。
【おすすめ】モーターやLCDディスプレイ等を含むお買い得キットはこちら!
ドットディスプレイなど、さらにいろいろな電子機器に触れてみたいかたはこちら!
参考書
これからArduinoを始める人におすすめの参考書がこちらです。
Arduino IDEによるプログラミングに加えて、文字入力を必要としないスクラッチによるプログラミング方法についても詳しく書かれています。
スクラッチプログラミングするなら、是非読んで欲しいおすすめ本を下記記事にてレビューしています。
STEP3:パソコンに必要なソフトをインストール
ArduinoはOSを持たないため、パソコンでプログラムを作成しArduino本体に転送する必要があります。
スクラッチでプログラミングする場合も、ファームウェアを書き込むためにArduino IDEのインストールが必要になります。
- 【必須】Arduino IDE
- 【スクラッチでプログラミングする人のみ】Scrattino3(スクラッチーノ3)
- 【Scrattino3で扱えない機器をビジュアルプログラミングしたい人のみ】mBlock
今回紹介する「統合開発ソフトウェアArduino IDE」と「スクラッチプログラミングScrattino3」は、Windows、MacどちらのOSにも対応しています。
各ソフトウェアのインストール方法については、以下の記事で詳しく解説しています。
STEP4:スクラッチまたはIDEプログラムを作ってAduino内蔵LEDを点灯させる
Arduino本体にあるLED(Lと印字のある隣のLED)を点滅させるプログラムを作成します。
外部電子機器との接続がない状態で制御できるため、プログラミングデビューに最適なテーマです。
開発環境ソフトウェア「Arduino IDE」を用いた内蔵LEDの点灯プログラミング方法を、以下の記事で詳しく説明しています。
スクラッチでのプログラミングソフト「Scrattino3」を用いたプログラミング方法を、以下の記事で詳しく説明しています。
スクラッチでのプログラミングソフト「mBlock」を用いたプログラミング方法を、以下の記事で詳しく説明しています。
STEP5:Arduinoキットを使って電子機器の使い方を学ぶ
キットを購入して、ブレッドボードの使い方や「LED」「ボタン」「明るさセンサー」等の電子パーツを使ったプログラミング学習をします。
電子パーツがどんなことに使えそうか理解することで、電子工作のアイデア検討にも活かせます。
最低限の電子機器が含まれるキットはこちらです。
【おすすめ】モーターやLCDディスプレイ等を含むお買い得キットはこちら!
ドットディスプレイなど、さらにいろいろな電子機器に触れてみたいかたはこちら!
【LESSON1】LED点灯回路を作る
電子機器の代表格といえるLEDを点灯させるプログラミングを勉強しましょう。
スクラッチを使ったプログラミングの説明動画を使って詳しく説明しています。
【LESSON2】押しボタンを使って点灯LEDを切り替える
出力機器の王道であるLEDに対し、入力の王道といえば押しボタン。
押しボタンを使って点灯LEDを順番に切り替える回路の作り方を紹介しています。
もちろん動画によるスクラッチを使ったプログラミングの作り方解説付きです。
【LESSON3】押しボタンを使ってLEDの明るさを変化させる
これまではLEDの点灯と消灯の2パターンの動作でしたが、今回はアナログ出力による明るさ変更プログラムを紹介します。
LEDを明るくするボタンと暗くするボタンを用いて、段階的な明るさ切り替えを行います。
youtube動画によるスクラッチを使ったプログラミングの作り方解説付きです。
【LESSON4】明るさセンサの明るさ検出値に応じたLED点灯制御をする
ここでは、明るさセンサの明るさ検出値(明るさの度合い)を数値化して取り込む「アナログ入力」にチャレンジします。
4色のLEDをセンサが検出した明るさに応じて、点灯・消灯する例を用いて、詳しく説明しています。
【LESSON5】明るさセンサの明るさ検出値に応じてLED明るさを連動させる
ここでは、明るさセンサの明るさ検出値(明るさの度合い)を数値化して取り込む「アナログ入力」を用いてLEDの明るさを「アナログ出力(PWM出力)」により連動制御するアナログ入出力制御にチャレンジします。
Arduino内で使用されるアナログ入力とアナログ出力(PWM出力)の振れ幅管理値の違いについて学習します。
【LESSON6】フルカラーLEDを使って点灯色を変えてみる
フルカラーLEDを使った、点灯色変化プログラミングを紹介します。
フルカラーLEDは赤(R)・緑(G)・青(B)の3色LEDが合わさった機器になっており、アナログ出力機能を用いて3色の発光バランスを調整するプログラムを作成方法について学習します。
【LESSON7】シフトレジスタを使って複数のLED点灯を切り替える
シフトレジスタ(74HC595)を使った、8つのLEDに対する点灯制御プログラミングを紹介します。
スクッラッチプログラミングを使って行うことができる点灯LEDのシフト動作の作り方について学習します。
【LESSON8】チルトスイッチを使ってLEDとアクティブブザーを制御する
チルトスイッチ(傾きセンサー)を使った、LEDとアクティブブザーを制御するプログラミングを紹介します。
チルトスイッチの傾き検出する構造についても理解することができます。
【LESSON9】サーボモーターの回転角度を制御する
サーボモーターを使った、モーターの回転角度を制御するプログラミングを紹介します。
サーボモーターの機能や、専用の角度指定命令方法について理解することができます。
【LESSON10】可変抵抗器を使って制御する
可変抵抗器を使って、抵抗値変化をアナログ入力値として入力し、LED点灯明るさやサーボモーターの回転角度制御を行うプログラミングを紹介しています。
【LESSON11】7セグメントLEDディスプレイを使って制御する
押しボタンスイッチをおすごとに、7セグメントLEDディスプレイに表示する数字が変化する制御を行うプログラミングを紹介しています。
【LESSON12】4ケタ7セグメントLEDディスプレイを使って制御する
可変抵抗器のツマミを回すことで変化するArduinoアナログ入力値を、4ケタ7セグメントLEDディスプレイに表示するプログラミングを紹介しています。
【LESSON13】超音波センサーを使って対象物までの距離を測定する
超音波センサーを使って対象物までの距離を測定し、4ケタ7セグメントLEDディスプレイに表示するプログラミングを紹介しています。
【LESSON14】パッシブブザーを使ってメロディー演奏する
パッシブブザーを使って、童謡「かっこう」を演奏するプログラミングを紹介しています。
【LESSON15】L293DモータードライバーICを使ってDCモーターの回転を制御する
L293DモータードライバーICを使ってDCモーターの正転・逆転動作や、回転速度切り替え制御を行うプログラミングを紹介しています。
【LESSON16】LCD1602を使った液晶ディスプレイ表示を制御する
液晶ディスプレイLCD1602を使って、明るさセンサ(CdSセル)が検出した明るさ値をディスプレイに表示させます。
I2Cを使ったシリアル配線方式によるLCD制御を紹介しています。
【LESSON17】温湿度センサDHT11を使って温湿度値をLCDに表示させる
温湿度センサDHT11を使って、温湿度センサが取得した温度・湿度の現在値をLCDディスプレイに表示させます。
【LESSON18】割込み制御を使って、LEDを即座に点灯させる
プログラムには演算順序があり、順番が回ってくるまで判断処理ができません。
割込み制御命令を使うことで、演算順序の影響を受けることなく指定した演算内容を即演算させることができます。
【LESSON19】乱数を使ったサイコロ振り遊び
乱数命令を使って、サイコロ振りをシミュレーションします。
桃鉄の「のぞみカード」を使ったときのようにサイコロを5回振った合計値をLCDディスプレイに表示させます。
【LESSON20】アナログジョイスティック遊び
アナログジョイスティックの仕組みを理解できるテーマです。
アナログジョイスティックをArduinoに入力させ、アナログ入力値をLCDディスプレイに表示させます。
【LESSON21】赤外線リモコンを使って、押されたリモコンボタンを判別する
赤外線リモコンの仕組みが理解できるテーマです。
Arduinoに赤外線受信機を接続して、リモコンから受信したデータを認識させます。
受信データから押されたボタンを判別して、LCDディスプレイに表示させます。
【LESSON22】サーミスタを使った温度計測
サーミスタを使った温度計測方法がわかります。
サーミスタは温度によって抵抗値が変化することを利用して、Arduino内部でアナログ電圧変化を温度に変換する計算を行います。
温度への変換計算式についても詳しく解説しています。
【LESSON23】有接点リレーを使ったDCモーターのON-OFF制御
有接点リレーの仕組みと、ダイオードを使った逆起電圧対策について理解することができます。
有接点リレーはハードでシーケンス制御回路を構築することもできる有能な電子機器です。
赤外線リモコンを使って、DCモーターの電源をON-OFF制御させます。
【LESSON24】ステッピングモーターを使った回転角度制御
ステッピングモーターの仕組みと動作原理が分かります。
専用ライブラリや専用ブロックを使って、2相励磁方式でステッピングモーターの回転動作を制御します。
STEP6:電子工作を作ってみる
私が数年前に子供(当時小6)と作った、アイデア工作「信GO機(信号機)」を紹介します。
LEGOブロックとArduinoによる信号機のプログラミング点灯回路を合わせた、オリジナル作品です。
プログラムはコピペで対応できる内容となっています。
プログラミング初心者の方も安心してチャレンジしてみてください。
文字入力不要のプログラミング「Scrattino3(スクラッチーノ3)」プログラム例も本記事で紹介します。
私の作ったオリジナル工作「信GO機」の作り方、プログラム内容について詳しく説明しています。
モーターを使った電子工作「扇風機」の作り方を紹介しています。
扇風機はmBlockを使ってプログラムを作っています!
まとめ
- 何ができるか?知っておく
- 動作させるために必要機器を準備する
- パソコンに必要なソフトをインストール
- スクラッチまたはIDEを使ってプログラミングしてみる
- Arduinoキットを使って電子機器の使い方を学習
- 電子工作を作ってみる
マイコンプログラミング初心者の方には、スターターキットを使ったプログラミング練習がおすすめです。
まずはArduino本体内蔵LEDの点灯プログラム作成から、はじめてみませんか?
最後まで読んでいただき、ありがとうございました。
プログラミング初心者の方におすすめのキットを紹介しています!
Arduino UNOの最新モデル「Arduino UNO R4 Minima」を開封レビュー!
コメント