「Arduino」を使ったマイコンのプログラミングを子供と一緒に学習するブログ。子供と一緒に楽しみながら気長にアップしてく予定です。RGBダイオード制御編です。回路図とブレッドボード図を追記しました。本Lesson解説で使用しているのはArduino互換品です。互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。そのため互換品の品質も悪くなく、それでいて値段は安いです。正規品本体の値段程度で豊富な部品が多数ついています。Yahoo!正規品の本体単品がほしい方はこちらとなります。LED)を利用して色の変化を楽しみます。LEDは赤、緑、青のLEDが一つになったLEDです。この3色の輝度を変更することにより、色の変化を確認することができます。このLessonを実践することで、テレビの原理も子供に理解してもらうことが可能かと思います。子供と一緒に、実験感覚でやってみることをお勧めします。LEDの色が3色以外の色になっていることを確認します。輝度の変更はパルス幅変調(PWM)にて制御します。難しい言葉がでてきましたが、簡単に説明すると、「LEDがONしている時間を制御する」ということです。この、PWMについても理解することが目標となります。楽しんで遊ぶことも目標の1つです。準備さっそく、準備にとりかかりましょう。ブレッドボードブレッドボードを使用することで、半田を使用することなく穴に素子を挿すことで接続ができます。03を参照してください。本Lessonでは、抵抗とLEDを使いLEDの輝度を変更する。作業を通してUNOの5V電源ポートの存在と、ブレッドボードの使い方を覚える。LED赤、緑、青の3色のLEDが一つになったLEDです。下図に示すように4本のリード線があります。3本のリード線が、それぞれ青、緑、赤となりANODE(+極)となります。残りの一本がCATHODE(陰極)になります。03でも説明しましたが、LEDは大電流を流すと、焼き切れてしまいます。電源に接続することはしないようにしましょう。抵抗などで電流を制限して使いましょう。手持ちがないかたは以下からどうぞ。Yahoo!遊びで多数のLEDを光らせたい方は、セットで購入がおすすめです。種類が豊富で色々と楽しめます。名前の通り、抵抗は電流の流れを妨げる働きがあります。本Lessonでは220Ωの抵抗を使います。03を参照してください。カラーコードの説明があります。本Lessonでは、抵抗とLEDを使いLEDの輝度を変更する。作業を通してUNOの5V電源ポートの存在と、ブレッドボードの使い方を覚える。wire(配線)UNOの電源ポートとブレッドボードの接続や素子どうしを接続に使います。–メス」の3種類を揃えておくことをお勧めします。Yahoo!PWM制御の説明PWMのパルスは下に示すような、周期的なパルスのことです。本Lessonではこのパルスの5Vになっている期間、0Vになっている期間を制御します。PWM制御PWM信号の周波数は約490Hzです。時間に直す場合は、逆数を取れば良く「時間=1/周波数」の関係があります。約0.002秒(約1/500秒)となります。下に示すように、1/500秒ごとに同じパルスを繰り返します。その時に5Vになっている期間、0Vになっている期間を制御することでLEDの点滅のスピードが変わります。この変化が人間の目には明るさが変わっているように見えることになります。「analogWrite」関数には0~255の値を設定することができます。この値によって1/500秒の間の5Vの期間、0Vの期間を制御できるようになっています。使用する関数とピン番号UNOは「analogWrite」関数を使用することによって、指定したピンからアナログ値(PWM波)を出力します。LEDの明るさを変えたいときや、モータの回転スピードを調整したいときに使えます。UNOのボードでは、デジタルピン「3、5、6、9、10、11」でこの機能が使えます。最初に回路図を確認してください。次に、回路図に合わせて部品を接続します。LEDを動かしていきましょう。Arduinoのピン配置を確認したい方は番外編02を参照してください。arduinoの入門編を書いていて、arduino自体の説明をしたいと考えていました。arduino自身のことを理解しておいた方が良いですよね。LED、抵抗を接続します。使用するポートは、PWM制御可能なピンである「3、5、6」です。本Lessonでは、「3(青)、5(緑)、6(赤)」としたいと思います。LEDのCathodeはGNDに接続します。こちらがブレッドボード図。回路図は「fritzing」を利用しています。「fritzing」の使い方は下記を参照してください。fritzingUNOの実際の回路を写真で掲載しても、接続がわかりずらいかなと考えていました。前々から「fritzing」を利用して回路を描くことで、わかりやすくしたいと考えていました。するポートは、「3、5、6、GND」です。本Lessonでは、「3(青)、5(緑)、6(赤)」としています。LEDのCathodeはGND。穴に挿入しづらいときは、ラジオペンチなどを使用すると良いかもしれません。下記はつないで電源を入れた状態です。接続時は電源はつながないでください。コードの書き込み接続が終わったら、USBケーブルを使用してUNOにコードを書き込んで行きましょう。Kitから、チュートリアル入手していれば、その中にコードが梱包されています。本Lessonでは、チュートリアルのコードを利用していきたいと思います。入門編」を参照ください。小学校でもプログラミングが始まる。我が家の子供にも、プログラミングを教えられないか。プログラミングしてもつまらない。目に見える形で楽しみたい!そこで、Arduinoの出番。「Arduino」であれば、色んなものを直接制御でき目に見...omoroya.comIDE統合環境の「ファイル」⇒「開く」で梱包されているコードを開きます。開いたら、編集しても良いように「ファイル」⇒「名前を付けて保存」で保存しておきましょう。今回は「04_RGB_LED」と名前をつけて保存しました。ここで「マイコンボードに書き込み」をクリックすれば下記で説明するコードが書き込まれます。色々な色に変化するのがわかると思います。コマンドの説明これまでのLessonにでてきていないコマンドについて説明します。プログラム中の定数に対して名前を付けることができます。3の場合、BLUEと記述されているところが全て3という値に置き換えられます。-32768から32767の値の範囲を取る整数型を意味します。redValue;redValue上記値の範囲での整数型と定義するということです。}で囲まれたブロックを繰り返し実行します。指定したピンからアナログ値(PWM波)を出力します。Unoのボードでは、デジタルピン3、5、6、9、10、11でこの機能が使えます。サンプルコードチュートリアルのコードには、詳細説明がありません。各コードの脇に、日本語の説明をつけました。参考にしていみてください。}//以下基本は同じ。輝度を変えるLEDが異なるだけ。}//以下基本は同じ。輝度を変えるLEDが異なるだけ。青(255⇒0)、赤(0⇒255)をループ内で実行の順番に輝度を変更して色の変化がわかるコードになっています。※0はOFF、255は輝度最大となります。赤、緑、青の輝度の変化によって、色々な色に見えるのがわかったでしょうか?redValue、greenValue、blueValueの数値を変えて色々と試してみると良いと思います。数値を変更する場合は、255または0に変えてみてください。最後のfor文の手前の設定を下記のように変えてみてください。255;また、違った色の変化が見られると思います。実際に光らせた状態がこちら。赤、緑、青によって色々な色が再現できるのはテレビと同じです。小型の除ける顕微鏡などありましたらテレビ画面をのぞいてみてください。液晶画面が赤、緑、青のかたまりが一つあり、画面上にそのかたまりがたくさん並んでいるのが見えるはずです。こんな感じに見えるはずです。手元になければ、ぜひ一台あった方が良いと思います。手軽に色々と遊べます。お勧めの携帯型顕微鏡を記載しておきます。・電源:単4形アルカリ乾電池1本(別売)・重量:約30g(電池含まず)値段もお手頃で、使いやすいです。Yahoo!まとめ今回は以下の内容について理解してもらいました。LEDの色が3色以外の色になっていることを理解する。輝度の変更はパルス幅変調「PWM」にて制御することを理解する。今回は、この「PWM」というのを理解することがポイントです。楽しんで遊ぶことも目標の1つでした。今回のLessonは、なかなか良かったです。【RGBダイオード制御編】はここまで。みなさんもやってみてください。05は【プッシュボタンスイッチ編】です。デジタル入力について理解できる内容となっています。【プッシュボタンスイッチ編】このLessonでは、機械的にスイッチを使ってLEDをオン、オフさせるわけではありません。スイッチを「押した」「押してない」という行為をデジタル信号としてUNOに認識させるということです。それによって、UNOから電源が供給されLEDのオン、...omoroya.com最後に疑問点、質問などありましたら気軽にコメントください。この電子部品の解説をしてほしい!などなどなんでもOKです。リンク切れなどあればコメントいただけると助かります。Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。Arduino入門編で使用しているUNOはAmazonにて購入可能です。互換品とは言え、Arduinoはオープンソース。複製して販売するのもライセンス的に問題なし。そのため互換品の品質も悪くなく、それでいて値段は安いです。正規品本体の値段程度で豊富な部品が多数ついています。学習用、遊び用、お試し用には安価な互換品がおすすめです。Yahoo!上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。Yahoo!Amazonでお得に買う方法Amazonでお得に購入するなら、Amazonギフト券がおすすめです。現金でチャージするたびに、チャージ額に応じたポイントが付与されます。本Lessonでは電子ブザー(アクティブブザー)を使い、電圧を掛けるだけで決まった音程のブザー音を出します。08【チルトスイッチ編】です。Sensor(チルトセンサー)と呼ばれる部品です。チルトスイッチを傾けたり、戻したりすることでLEDが消灯、点灯する回路を作ります。シリアルモニタによるLED制御編」です。シリアルモニタを利用してPCからLEDを制御することに挑戦です。PCから直接UNOを制御することで、LEDのON、OFF制御をさせるといったことか可能です。本Lessonでは、液晶ディスプレイ+サーミスタに挑戦です。今回の目標はサーミスタで取得した値を液晶に表示させることです。これで、ちょっとした「温度計」の完成です。本Lessonでは、液晶ディスプレイ+電子部品に挑戦です。今回は超音波センサで取得した値を液晶に表示させることが目標です。これで、ちょっとした「距離計」の完成です。28、29でステッピングモーターの基礎を学習しました。30は赤外線受信センサモジュールを追加してリモコンでステッピングモーターを制御します。コメントをキャンセルメールアドレスが公開されることはありません。