【第3回】Arduinoを使ってデスクトップランプを作ろう!!

【第3回】Arduinoを使ってデスクトップランプを作ろう!!

こんにちは、オノルイーゼです!

みなさんお元気ですか??
いよいよ3回目ですね!

初めて読む方もいらっしゃると思いますが、この連載では、電子工作初心者の私が電子工作を通してデスクトップランプを制作していく過程を体験を基にお伝えしていきます☆

前回の復習・今回の課題

さて、まず今までに学んだことは、第1回目の[LEDの点滅][スイッチ動作]、第2回目の[抵抗のカラーコード][LEDの点滅の応用]でしたね!

前回の応用編では、点滅のスピードや明るさの調整をやりました!!こうして光り方のカラクリを知ってくると、普段見かけているライトの見方がまた変わってきますね◎

さて!今回の課題は、[センサーを使ってみよう!]と思います。
センサーといっても様々な種類があるらしく、それらの外部からの入力に応じた動作をArduinoに加えてみる事に挑戦したいと思います。

センサーを使ってみよう!半固定抵抗とは?

まずは、半固定抵抗という抵抗の入力でLEDの点滅スピードが変わるプログラムを動かしてみます!
プログラムは、今回も特別に「ハカセ」に作っていただきました☆笑
そもそも、半固定抵抗とは...??

半固定抵抗とは、抵抗値が自由に可変できる抵抗で、ガンバレば音量・音質・画面の明るさなどを調節できてしまう、そんな抵抗なのです!

ただし!この抵抗は実際に使う回数が問題で、〈完成時の初期調整〉〈修理の再調整〉〈普段使っている物でもたまにしか調整しない場合〉と、1回調整するともうあまり変更しない場合などに使用される部品だそうです。
ちなみに、写真は半固定抵抗と光センサー。

じゃーん

実践!半固定抵抗編

さて、これを使って実践していきましょうっっ!

半固定抵抗の両端のピンを、基盤のそれぞれ〈グラウンド〉と〈5V〉に接続し、真ん中のピンをArduinoの入力用のピンとして〈A2ピン〉に繋ぎました。
LEDの出力用のピンとしてはお馴染みの〈13ピン〉を使用◎
そして、A2ピンにはどんな値が出ているのかテスターを使って調べてみました!!

テスターの値は、半固定抵抗のノブの位置によって0~5Vまで変化!どうやら、この値が変化するということが重要な様です◎

おおお!!!テスター使ってると、なんかプロっぽいw

そして、作っていただいたプログラムをArduinoに書き込むと、半固定抵抗のノブの位置でLEDの点滅速度が変わることが分かりました!
〈値の変化=スピードの変化〉ということだ!

これを、数字でちゃんと確かめてみるために、Arduinoのソフト上にあるシリアルモニタボタン(右上)を押して確認してみました!
LEDの点滅スピードに対応して数字が出てきます。その値は半固定抵抗のノブの位置に応じて0~1023まで変化しました。
ということは、〈0~5V〉という電圧が〈0~1023〉までの1024段階に分割されているということが分かりました!おお~

んん~、分かったようで分からない。。。1024段階で点滅スピードが変わるってことだよね?!笑

実践!光センサー編

さて、次はプログラムはそのままで、半固定抵抗を光センサーに変えてみました!
絵で言うと、こんな感じ?
5V - 光センサー- 10kΩ - Gnd

このような形で接続し、〈光センサー〉と〈10kΩ〉の間をArduinoの入力として再び〈A2ピン〉に接続しました。
半固定抵抗の時と同じくA2ピンの値をテスターで計ってみながら、光センサーに当てる光の量を変化させてみると、、、、
〈0.4V~1.2V〉程度まで変動。この状態では、前回と異なりLEDの点滅スピードがあまり変化しませんでした。あれ~??汗

前回と同じくシリアルモニタボタンを押し、Arduinoがどんな値を受け取っているのか確認すると、光の量に応じて70~250ぐらいまでの変化。
値の変化の量が前回よりも小さいので点滅スピードの変化も少ないということみたいです。。

なるほど、なるほど...!!

今度は、PWM出力(調光)が可能な〈11ピン〉を使用して〈A2ピン〉へ入力される電圧に応じてLEDの輝度を変化させるプログラムを動かしてみました!
プログラムはハカセの作った特別プログラムを使用!ハカセwwww

ちなみに、ピンの横に"~"マークが付いているピンがPWM出力が可能なピンのこと!

まず、半固定抵抗を使って動作を見てみます!。ピンの接続方法は1と同じです◎

〈A2ピン〉から入力される値(0~1023段階)を直接使用したいのですが、〈11ピン〉から出力されるPWM信号は〈0~255段階〉のため、そのまま使うことが出来ません。
なので、Arduinoのmapという関数を使って〈0~1023〉の値を〈0~255〉に範囲を変更してみました!
すると、これによって半固定抵抗の値を最小から最大に変えることで、LEDが〈消えている状態〉から〈一番明るい状態〉まで変化させることが出来ました◎

今度は、半固定抵抗を光センサーに変えて見ました。パーツの接続方法は2と同じ◎
光センサーと抵抗で作る値は70~250ぐらいまでしか変化しなかったので、mapを使って作る値もそれに応じて設定しました。

(プログラムのmapの箇所を書き換えて《val=map(val,70,250,0,255);》とする)
すると、値が70の時にLEDが完全に消え、250の時に完全に点灯するようにしたいのに、急に全開で灯いたり、消えたり、、、、
なかなかうまく行かなかったー

これは、聞くところによるとmap上で入力の最小値を70、最大値を250と設定しましたが、A2ピンに入力される信号の値がが70を下回ったり250を上回ったりする事で誤動作を起こすことで発生する様です。
この誤作動を治すことができて、プログラムを教わったのですが、ここから脳内が???になったので、これは後日紹介できたらします。笑
とりあえず、これで誤動作が防げるようになりました。

光センサーに手を近づけて当たる光を減らすとLEDの輝度が弱くなっていき、光センサーから手を遠ざけ当たる光を増やすと、LEDの輝度が強くなっていきました。

ふぅー

まとめ

今回は、半固定抵抗と光センサーを使ってセンサーからの入力でArduinoがどのように動くかを確認しました!
使用するセンサーを変えることで、いろいろな自然現象や変化を捉え、それに応じて動く電子回路を作れることがわかりました◎
中々難しいことが続いてきましたが、なんとなく理解できた気がする。
今回でデスクトップランプを作る基礎が出来たので次回からは実際にランプを作っていきます!!!!!!

これこれこれ!!早く見せたいよーーーーーーーーーーー!笑
今回は難しいこと続きだったので、最後はお茶目にw

次回もお楽しみください☆

参考にしてくれた記事

記事が登録されていません。
この記事を参考にして、新しく記事を投稿しよう!

違反について