\ 限定の返礼品あり! /
ArduinoビジュアルプログラミングでLEDを点灯【Lesson1】
こんにちは、せでぃあ(@cediablog)です。
Arduinoプログラミングスターターキットシリーズ第一弾は「LEDを点灯させる」です。
Lチカ回路と呼ばれることもあり、一番初めに覚えてほしいプログラミング回路になります。
小学生も安心してプログラミングができるように、スクラッチでのプログラミング方法についても動画付きで紹介しています。
これからプログラミングを勉強したい人に読んで欲しいです
- ArduinoでLEDを点灯させるときの配線方法
- Arduino IDEでのプログラミング方法
- スクラッチを使ったプログラミング方法
せでぃあはこんな人物です
✅プライム企業に勤める電気・機械設計エンジニア
✅親子の絆を深めるため、夏休みに子供と一緒に電子工作を製作
✅Arduinoプログラミングを用いて作ったプログラミング電子工作「信GO機」が市の発明くふう展で「優秀賞」を受賞
✅本ブログにてArduinoスクラッチプログラミングLESSON記事投稿中
✅YouTubeチャンネル「せでぃあブログちゃんねる」運営中
子供の成長を育む!小学生のお子様にぴったりなプログラミング教室が見つかるように厳選しました!
LED点灯動作の説明
今回の説明するLED点灯回路の動作は以下になります。
緑⇒黄⇒赤の順に、点灯するLEDを0.5秒間隔で切り替える
- LED点灯動作
- スクラッチを使ったプログラミング手順
まずは動画を見て、LEDを使ってどんな点灯動作をさせようとしているのか、確認してください。
また、スクラッチを使ったプログラミングをするためには準備作業が必要です。
動画にて準備作業に必要な手順をくわしく説明しています。
LED点灯回路の作り方
プログラミングするために、パソコンが必要です。
電子部品等の必要な機器については、このあと説明します。
パソコンに統合開発ソフトウェア「ArduinoIDE」のインストールを行います。
Arduinoのセットアップ方法については、以下の記事にて詳しく説明しています。
Arduino IDEでの言語プログラミングも勉強したい方は、プログラミングの流れを理解しておいてください。
以下の記事にて、プログラミングから動作確認までの流れを詳しく説明しています。
パソコンにスクラッチでプログラミングするためのソフトウェア「Scrattino3(スクラッチーノ3)」のインストールを行います。
以下の記事にて詳しく説明しています。
電子部品とジャンパーワイヤの差し込みだけで配線が可能です。
専用開発ソフトウェア「Arduino IDE」を使います。
私が作成したプログラムをコピペして使ってください。
スクラッチプログラミングについては、動画または後述するプログラミング例を参考にしてください。
緑⇒黄⇒赤の順に点灯するLEDが切り替わっているか確認してください。
記載のプログラムは動作確認済です。
LED点灯回路で使うもの
- パソコン
- Arduino本体
- USBケーブル
- ブレッドボード
- LED(緑・黄・赤×各1)
- 抵抗(220Ω×3)
- ジャンパー線(オスーオス)×4本
今回はELEGOO社の初心者スターターキットに入っている部品のみで作ることができますが、Arduino裏面のショート対策としてクリアケースも併せて準備することをおすすめします。
パソコン
プログラムを作成するために必要です。
プログラム制御の演算はArduino側で行うため、パソコンのSPECは一般的なモデルで十分対応可能です。
パソコンのOSはWindows、Macどちらでも対応可能です。
Arduino本体【キット】
基本的なエディション「Arduino Uno」の互換機である、ELEGOO社のUNO R3を使用しています。
Arduino本体裏面のショート対策に、別売りのクリアケースの購入をおすすめしています。
各ソケットの役割など、Arduino本体の機能について以下の記事にて詳しく説明しています。
USBケーブル【キット】
パソコンとArduinoを接続してプログラムデータのやり取りをするために必要です。
ブレッドボード【キット】
たくさんの穴が開いていて、部品の端子を穴に差し込むだけで電気的に接続が可能な板です。
LED(緑・黄・赤)【キット】
赤・黄・緑のLED(発行ダイオード)を、各1個使用します。
LED素子にはプラスマイナスの極性があるため配線時には注意が必要です。
LED頭部の平らな面を見つける極性判定方法がおすすめ!
抵抗(220Ω)【キット】
220Ωの抵抗を3本使用します。
LEDは流せる電流値に制約があるため、抵抗を直列つなぎすることでLEDに流れる電流を調節します。
抵抗は極性がないので、配線時に方向を気にする必要はありません。
LEDを点灯させるために接続する抵抗の選び方については、こちらの記事で詳しく説明しています。
ジャンパー線(オスーオス)【キット】
ジャンパー線を4本使用します。
Arduino本体とブレッドボードの接続に使用します。
LEDの色とジャンパー線の色を合わせると、配線するときに分かりやすいです。
初心者キットに含まれる機器に関しては、以下の記事にて詳しく紹介しています。
配線のやり方
上図が配線説明図となりますので、これと同じ配線をすれば完成します。
- LEDをブレッドボードに差し込む
- 抵抗をブレッドボードに差し込む
- ジャンパー線をブレッドボードとArduinoソケットに差し込む
LEDや抵抗、ジャンパー線はArduinoのソケットやブレッドボード穴に差し込むだけでOKです。
LEDはプラス・マイナスの極性があります。
抵抗は極性がありません。
上記説明図で「+」マークがある側(右側)をプラス側にしてください。
LED極性の見分け方については、こちらをご確認ください。
機器故障させないためにも、USBケーブルを抜いた「通電OFF」状態にて配線を行ってください
プログラミングのやり方
Arduino IDEとスクラッチの両方について、プログラミング方法とプログラムを説明します。
2つのプログラミングの特徴は以下の通り。
ArduinoIDE:文字列による命令語形式
スクラッチ:ブロックによるビジュアル形式
文字列を使わないスクラッチの方が、直感的で分かりやすく小学生におすすめのプログラミング方法になります。
スクラッチを使ってプログラミングをする方は、スクラッチの説明まで読み飛ばしてください。
Arduino IDE
Arduino IDEとは統合開発ソフトウェアで、C言語のような文字列を用いたプログラミング方法です。
プログラミングするにあたり、ある程度の命令語を知っておく必要があります。
Arduino IDEのインストール方法については、以下の記事で詳しく説明しています。
プログラミング方法
Arduino IDEを使って、文字列プログラミングを行います。
Arduino IDEを使ったプログラミング~動作確認方法については、以下の記事で詳細説明しています。
プログラム
/* 作品名:LESSON1 */
/* 作成者:せでぃあ https://cediablog.com */
/* プログラムによるLED点灯制御(0.5秒おきに緑⇒黄⇒赤を切り替え) */
int led_G = 3 ; //緑LEDのIO割り当て
int led_Y = 6 ; //黄LEDのIO割り当て
int led_R = 9 ; //赤LEDのIO割り当て
void setup() {
// put your setup code here, to run once: プログラム起動時1回だけ処理される回路
// 入出力の割り当て
pinMode(led_G, OUTPUT); //3番ピンは出力として使用
pinMode(led_Y, OUTPUT); //6番ピンは出力として使用
pinMode(led_R, OUTPUT); //9番ピンは出力として使用
//出力の初期化処理
digitalWrite(led_G, LOW); //緑LEDを消灯
digitalWrite(led_Y, LOW); //黄LEDを消灯
digitalWrite(led_R, LOW); //赤LEDを消灯
}
void loop() {
// put your main code here, to run repeatedly: プログラム起動後ループ処理される回路
//信号点灯モードの切り替わりシーケンス
/* モード1・・・緑LED点灯 */
digitalWrite(led_G, HIGH); //緑LED=点灯
digitalWrite(led_Y, LOW); //黄LED=消灯
digitalWrite(led_R, LOW); //赤LED=消灯
delay(500); //0.5秒ウェイト
/* モード1・・・緑LED点灯 */
digitalWrite(led_G, LOW); //緑LED=消灯
digitalWrite(led_Y, HIGH); //黄LED=点灯
digitalWrite(led_R, LOW); //赤LED=消灯
delay(500); //0.5秒ウェイト
/* モード1・・・緑LED点灯 */
digitalWrite(led_G, LOW); //緑LED=消灯
digitalWrite(led_Y, LOW); //黄LED=消灯
digitalWrite(led_R, HIGH); //赤LED=点灯
delay(500); //0.5秒ウェイト
}
上記がLED点灯回路のプログラムになります。
各プログラム列の右側にプログラム内容をコメント記入してありますので参考にしてください。
命令語の解説
今回のプログラムで使用した命令文について、解説します。
変数のデータ型指定
変数のデータ型を指定するものです。
今回はピンソケット番号を代入するので整数を扱う「int型」を指定します。
データ型 | 説明 | 扱える範囲 |
---|---|---|
int | 2バイトの整数を代入可能。 | -32768~32767 |
long | 4バイトの整数を代入可能 | -2,147,483,648~2,147,483,647 |
float | 4バイトの小数を代入可能。 | 3.4028235×1038~-3.4028235×1038 |
char | 1バイトの値を代入可能。文字列の代入に利用されます。 | -128~127 |
boolean | 0または1のみ代入可能。フラグのON-OFFなどに利用されます。 | 0,1 |
pinMode(入出力番号,INPUTまたはOUTPUT)
指定したデジタル入出力ソケット番号の機能を指示します。
入力として使用する場合は「INPUT」、出力の場合は「OUTPUT」を指定します。
digitalWrite(入出力番号,HIGHまたはLOW)
指定したデジタル入出力ソケット番号の電圧をON、またはOFFします。
ONさせたいときは「HIGH」、OFFさせたいときは「LOW」を指定します。
delay(時間)
()内で指定した時間(単位はmsec)だけ、プログラム実行を待たせます。
今回のプログラムではLEDが点灯した後、500msec=0.5sec待ってから次のLED消灯命令を実行させています。
スクラッチ
Scrattino3(スクラッチーノ3)というソフトウェアを使って、プログラミングする方法です。
Scrattino3のインストール方法やプログラミング、動作確認方法については、以下の記事にて詳しく説明しています。
動画を見ながらプログラミングしてみてください
スクラッチプログラム(Scrattino3|スクラッチーノ3)
上記がスクラッチのプログラミングとなります。
右側の解説の()内はブロックの種類になります。
Scrattino3(スクラッチーノ3)でのスクラッチプログラミングの作り方について、本記事冒頭の動画にて詳しく説明しています。
Arduino専用ブロックについては、以下の記事にて詳しく説明しています。
LESSON1:LED点灯回路のまとめ
- LEDは極性があるので、配線する際は接続先に注意が必要
- 小学生にはブロックプログラミングのスクラッチがおすすめ
- Arduinoをスクラッチで制御するときは、USBケーブルの常時接続が必要
小学生のお子様には断然、スクラッチでのプログラミングがおすすめです!
まずLEDを点灯させるLESSON1をクリアして、次のLESSON2(押しボタン回路)に臨んでください。
次は押しボタンにチャレンジしよう
プログラミングLESSON2:押しボタンで点灯LEDを切り替える。
小学生のお子様には、プログラミング教室での基礎学習をおすすめしています。
Arduinoプログラミング(スクラッチも)を使った電子工作を紹介しています。
スクラッチプログラミングを学習するのにおすすめな勉強本をレビューしています。
コメント