【初めてのArduino】5.フルカラーLED|ハンズオンで学ぶ初心者向け入門コース
Start electronics from today
このレッスンではフルカラーLEDを題材に、analogWrite関数、変数、定数について学んでいきます。
↓テキスト派の方はこちら https://lab-b.jp/first-arduino/full-color-led/
※以下3つのボードは、全く同じコードで動作することが確認できています。 ・Arduino Uno ¥3,150:https://amzn.to/39dcJgb ・ELEGOO Uno ¥2,399:https://amzn.to/3EGw84F ・KKHMF Uno ¥1,099:https://amzn.to/3L50Gzs(別途ドライバのインストールが必要な場合あり)
■目次 0:00 フルカラーLEDとアナログ出力について 1:37 今回作るもの 1:43 使う材料の準備 1:53 回路図 2:18 回路を組む 2:48 プログラムの作成 4:23 ボードに書き込む 4:34 まとめ
■関連動画 Arduinoコース1 Arduinoとは https://youtu.be/F1RlVllBwxk Arduinoコース2 準備編 https://youtu.be/jHuWhbQdLhA Arduinoコース3 Lチカ https://youtu.be/vNFUslQCxPs Arduinoコース4 スイッチ https://youtu.be/xk2BCZTjTLU
■自己紹介 ・ハードウェアエンジニア ・電子工作歴:9年 ・電子工作をゼロから体系的に並べるチャンネル「今日から始める電子工作」を運営してます
■SNS Web : https://lab-b.jp Twitter : https://twitter.com/buonoatsushi
#電子工作 #Arduino
■動画文字起こし 続いてはフルカラーLEDを題材に、analogWrite関数、変数、定数について学んでいきます。 レッスン3と4では、デジタル出力とデジタル入力という、HIGH/LOWの2つのレベルで入出力する方法を学んできました。ここから2つのレッスンでは、もっと細かいレベルで入出力が行える、アナログ出力とアナログ入力について説明します。まずはフルカラーLEDを使って、アナログ出力から習得していきましょう。理科で習ったように、赤、緑、青は光の三原色と言って、これらを配合する割合を変えることであらゆる色を作ることができます。フルカラーLEDの内部にもこの三原色に相当する3つのLEDが内蔵されており、Arduinoのアナログ出力によってそれぞれの光量を調整することで色んな色を表現できます。アナログ出力では各色256段階で調整することができるので、原理的には256の3乗、つまり1677万色の色を作ることが可能です。 アナログ出力は、PWMと呼ばれる、ある一定のON期間とOFF期間を持った490Hzまたは980Hzのパルス信号が出力されます。このON期間と周期の比率はDuty比と呼ばれます。このパルス信号によって実際にはLEDを高速で点滅させているのですが、これくらい周波数が高いと人の目では点滅が認識できず、Duty比に応じて光の強さが違って見えることになります。この性質を利用して光量調整を実現しています。なお一般的に、アナログ出力というと電圧を自在に変更できる機能を指すのですが、Arduinoの場合はあくまでPWM信号のDuty比を変えられるだけ、という点は注意してください。 これは今回作成した回路で、このように色を自由に変更することができています。それではこの回路を作っていきましょう。 今回使う材料は、Arduino Uno、ブレッドボード、オスオスのジャンパーワイヤ4本、フルカラーLED、330Ωの抵抗3つです。 こちらは、今回作成する回路図になります。フルカラーLEDは、先ほど説明した通り内部に3つのLEDを内蔵しています。今回使用したタイプはカソード側が共通となっており、アノード側にそれぞれ330Ωの抵抗を接続します。Arduinoにはいくつか波マークがついたピンがあり、これらのピンでデジタル出力とアナログ出力機能を兼用しています。ここでは、9,10,11ピンを使用しています。 次に、回路図にならってブレッドボード図を作成したのがこちらです。フルカラーLEDは脚が4つ出ており、こちらのように一番長い脚がカソードになっています。向きに注意して、回路を組んでいきましょう。はい、ということで、回路を組むことができました。 それではコーディングを行っていきます。Arduino IDEを起動して、ファイル→新規ファイルをクリックし、この画面にあるプログラムを入力してください。今回は、setup関数の前に6行のプログラムを書いています。ここで赤く囲った部分は変数と呼ばれるもので、データに名前をつけて保存しておくことができる機能です。その前についているintはintegerの略で、その変数が整数の値を持つという意味になります。プログラムの世界では、どのような形のデータかを示すのをデータ型と言い、intの場合は整数なので整数型と呼びます。データ型には他にもたくさんあるので、別のレッスンで紹介したいと思います。変数は、プログラムの中で複数箇所に使われている場合や、データに分かりやすい名前をつけたい場合等によく使われます。今回の例では、ピン番号を割り当てるところやPWMのDutyを設定するところで使用しています。intの前にあるconstというのは修飾子と呼ばれるもので、これを頭につけるとその変数は定数という扱いになり、読み取り専用にすることができます。これはあってもなくてもプログラム自体は問題なく動作するのですが、ピン番号というのは一回設定すると基本的にはその後変更する事はないので、誤って変えてしまう事のないようにconstを付けています。 setup関数の中は、RED, GREEN, BLUEピンをそれぞれ出力ピンに設定しています。そしてloop関数で、analogWrite関数を使って各ピンのPWM Duty比を設定しています。なお、Dutyは0〜255の範囲であり、0がDuty=0%、255がDuty=100%に相当します。なので、例えばDuty比を50%としたい場合は128を設定します。 最後にファイルを保存し、ツールバーの「マイコンボードに書き込む」のボタンを押して書� ... https://www.youtube.com/watch?v=MiQ5aftfZIQ
38273756 Bytes