2018年3月9日金曜日

18.3.9 天気予報つき温度・湿度・気圧計


ものづくり教室の教材用に天気予報ができるものを試作してみた。天気は気圧の変化で予測する。センサーはBME280という温度・湿度・気圧のセンサーを使うことにした。表示は電池が長持ちすることを最優先することにして、先日作ったLEDの点滅方式でやることにする。せっかくなので、天気予報のほかに温度・湿度・気圧も表示できるようにした。


表示装置はLED12ヶを時計のように並べたものとした。点滅で天気・温度・湿度・気圧の4つの値を表示する。4拍(1小節)で1つの値を表示し、同じ値を3小節表示し、次の1小節は光らずに休む。これを4回繰り返して4つの値を表示する。


天気は1拍光って3拍休み、湿度は2拍光って2拍休み、温度は3拍光って1拍休み、気圧は4拍全部光る。
表示の順序は、天気->湿度->温度->気圧、とする。点滅を表にすると以下のようになる。


天気は、快晴・晴れ・曇り・雨、の4つのアイコンで表示し、他の値は11ヶのLEDで表示する。湿度は0-100%を10%きざみ、温度は0-30℃を3℃きざみ、気圧は990-1030hPaを4hPaきざみで目盛りを付けてある。
複数回光るものは、隣り合った2つのLEDが点滅して値を表示する。12時と1時の位置のLEDが点滅したときの値は以下のようになる。


電源は単3電池1ヶを3.3Vに昇圧して使う。コンデンサにゆっくり充電した電力で瞬間的にLEDを光らせるようにしてあるので、電源から流れる電流は非常に少ない。これで、電池をきれいに使い切ることができる。CPUは20pinのPIC18F14K22。消費電力を抑えるため、WatchDogTimerで256ms毎にスリープから起こして処理を行い、すぐにまたスリープするようにした。これで約1秒間に4回LEDを点滅させる。無駄な電力を使わないよう、CDSで周囲の明るさを検出し、暗くなったらLEDの点滅をやめるようにしてある。消費電力は非常に少ないので、使いかけの電池でも十分動くし、電池スペーサーを使えば単4電池も使える。


2018年3月8日木曜日

18.3.8 スピーカーボックスのステレオ化とアンプの低音強化


最初の試作で作ったボックスと最終版の試作のボックスを並べてステレオで聴けるようにした。アンプはPAM8012というDクラスアンプのモジュールを使うが、仲間がアンプの入力のフィルタが200Hzあたりから落ちていることを発見。小さなチップ部品にコンデンサを並列にはんだ付けして低音を強化した。


最初の試作は取り外せる前板以外はネジなしでボンドだけで組み立てたが、作業が難航することが判明し、最終版はネジを24本使うことにした。低音の強化に備え、左右の板の中央を棒で接続して振動を抑えるようにした。


アンプの入力のコンデンサは小さなチップ部品なので、追加するコンデンサの片足はアンプモジュールの入力ピンにはんだ付けし、反対側の足をチップコンデンサにはんだ付けした細い線に空中配線ではんだ付けした。細い線で空中配線しているので、となりとショートしたり切れたりする恐れがあり、そっと扱うようにしている。アンプの電源は電池だと面倒なので、USBから5Vを取り出すようにした。
材料費はスピーカーとボックスが1セットあたり1,000円くらいで、アンプはステレオで1,000円くらい、合計で3,000円程度であった
音量を大きめにすると低音もしっかり聴こえてくる。本格的なシステムとは重低音や高音など比較にならないが、BGM用としては音質・音量とも全く問題がなく、iPodやパソコンなどで好きなJazzを鳴らしている。

2018年1月13日土曜日

18.1.13 温度計つき電池放電器


ものづくり教室用の試作などで、使いかけの電池がたまってきた。以前作った電圧測定器で測って0.9V以下のものは捨てることにしていたが、きれいに使い切って捨てるための電池放電器を作ってみた。
写真の左側が電圧測定器で右側が電池放電器。放電器は3色のLEDで温度を表示する。


1V以下の電池の電圧をステップアップレギュレータで3.3Vに昇圧し、LEDを光らせることにした。7SegmentLEDの温度計の電源にしてみたが、1Vを3.3Vに昇圧すると電流はごくわずかしか流せずLEDが暗くて使い物にならない。コンデンサに電気をためて瞬間的にピカッと光らせるようにしてみたところ、光るのが見えるようになった。赤のLEDがピカピカ光るようにしてみたが、何の役にも立たない。あれこれ考え、3色のLEDで温度を表示することにした。実験してみたところ、3.3Vでは明るさがイマイチなので電圧を5Vに変更した。CPUは8pinのPIC12F1822で、消費電力を抑えるために通常はスリープしていて、WatchDogTimerで500ms毎に起こして処理をするようにした。


温度は0-29℃を2ケタで表示する。電流の関係で同時には1色しか点灯できないので、赤・緑・青の色の順序で温度を表示することにした。
120BPMくらいのテンポで4拍のうちの1,2,3拍の色で数字を表す、4拍目は休み。温度の10の位は1拍めで表示し、1の位は2,3拍めで表示する。10の位は、青・緑・赤が0,1,2とする。1の位は、青・緑・赤を1-4-7,2-5-8,3-6-9のスジに対応させて表示する。例えば24℃は赤・緑・青、8℃は青・赤・緑となる。
なるべく見やすくなるように、透明なストローをサンドペーパーでスリガラス状にした煙突みたいなものをLEDにかぶせてみた。

2017年12月18日月曜日

17.12.18 スピーカーボックス


ものづくり教室の来年の教材むけにスピーカーボックスを試作した。スピーカーは秋月から調達した8cmのフルレンジ(300円)。箱は厚さ9mmのMDF板で作った容量6Lのバスレフ型。ダクトは外径48mmの塩ビパイプ。箱に付けるためのアダプターを3DPrinterで作成。24本の木ネジを締めるのが体力勝負。スマホなどのヘッドホン端子をつないで聴けるようにアンプも用意した。予想以上に聴ける音が出るので、机に置いてBGMを流している。

2017年9月15日金曜日

17.9.15 2台でうろうろ歩き


以前、格子状の道をうろうろ歩き回る車を作ったが、2台の車がぶつからないようにうろうろ歩き回るようにしてみた。


1台目の車は以前使ったレゴのモーターで動く小型のものを使い、2台目は車輪の間隔が少し広いものを作成した。2台目は単3電池3ヶでモーターを駆動する。ギア比は1台目は24:24、2台目は16:40。センサーは反射型のフォトインタラプタ2ヶを車輪の前方に取り付け、ライントレースと交差点の検出を行う。CPUは16bitのPIC24FV32KA301。



道路は以前作った格子状の道をそのまま使う。2台がぶつからないように制御するため、車同士が通信する仕組みを考えてみたが、車体の方向が変化するため安定した通信は難しいと判断し、リモコンで制御することにした。車とリモコンは赤外線リモコンの送受信の仕組みで通信する。通信はリモコンがマスターとなり、定期的(100ms毎)に車の状態を順番に問い合わせ、交差点を通り過ぎたら次の行先の方向を指示するようにした。2台の車は対角線の位置からスタートし、リモコンの指示に従って動き回る。車が4隅の角にいるときは、行先が1方向しかないため、相手の車が行先にいる場合は通り過ぎるまで止まって待つことにした。それ以外の交差点では相手がいない方向に進む。


2017年7月8日土曜日

17.7.8 歯車の模型


ものづくり教室で歯車の説明をするため、レゴの歯車で模型を作った。生徒や保護者が歯車に興味を持ってくれたようである。


1:平歯車
一番普通の歯車で軸は平行、回転数は歯数に反比例する。減速するときには小さい歯車で大きい歯車を回す。大きく減速するときは歯車の組み合わせを増やしていく。


2:傘歯車
傘のような形をした歯車で、軸は直角に交わる


3:ウオームギア
ネジのような形をした歯車。平歯車と組み合わせる。軸は直角だが交わらない。ウオームギアが1回転すると、平歯車は1歯分回転するので、大きな減速ができる。平歯車でウオームギアを回すことはできない。


4:変速機
自動車の変速機の原理を説明する模型。2つの軸の一方を移動させ、噛み合う歯車を変えることで減速比を変える。


5:ディファレンシャルギアの模型
レゴの歯車とブロックを組み合わせて作ったディファレンシャルギアの模型。傘歯車が3つ噛み合わされていて、左右の車輪の回転数を変えることができる。レゴのブロックで作るのはけっこう面倒で形も大きくなってしまった。


6:ディファレンシャルギアあり・なしの車の比較
ハンドル付きの4輪車を2台作り、1台はレゴのディファレンシャルギアを付け、もう1台は左右の車輪を同じ軸につけてある。ハンドルが真っ直ぐのときは、どちらも軽く動くが、ハンドルを大きく曲げると、ディファレンシャルギアがないものはどちらかの車輪がすべるため、抵抗が非常に大きくなる。自動車にはディファレンシャルギアが必要、ということを実感できる。


2017年7月1日土曜日

17.7.1 モーターで動かす歯車時計


しつこく時計が続く。歯車で動く時計で、ものづくり教室の教材にできるものを作った。前回の爪で動かすものはレゴのパーツがたくさん必要で、爪の部分の調整が微妙なので見送りとし、動作が安定するようモーターで動かすことにした。


モーターで長針を動かす仕組みは、歯車が少なくてすむよう、ウオームギアで長針の軸につけた24歯の歯車を回すことにした。モーターの軸にかけた輪ゴムでプーリーを回し、その軸にウオームギアを取り付ける。ウオームギアが1回転すると、24歯の歯車が1歯分回転する。
1分毎にモーターを回し、プーリーを2/5回転させれば、60分では2/5 * 60 = 24となりプーリーが24回転する。ウオームギアも24回転するので、ウオームギアと噛み合う24歯の歯車が1回転する。これで1時間で長針が1回転する。
1分でプーリーを2/5回転させるため、プーリーの周りに5ヶの穴をあけ、穴2つ分回ったらモーターを止めるようにした。以前リニアモーターカー用に3Dプリンタで作ってもらったプーリーは穴が6ヶだったので、穴を5ヶにしたものを作ってもらった。センサーはCD温度計と同じ赤外線LEDとフォトトランジスタを使う。


長針から短針への減速比は1/12。レゴの歯車を使い、8/16 * 8/24 * 8/16 = 1/12とする。3回減速だと回転方向が逆になるので、もう1回16/16で方向を合わせる。
長針と短針の軸が同じ位置になるよう、2重になった軸を作る。長針はレゴの軸を使い、レゴの軸に外径6mmのアルミパイプをかぶせ、これに短針と最後の16歯の歯車を取付る。16歯の歯車の軸を通す穴を6mmにするため、3Dプリンタで16歯の歯車を試作してみたところ、うまく使えるものができた。


長針と短針は3Dプリンタで作成した。歯車の組み合わせに遊びがあるので、針の軸が重心の位置になるようにする。形をいろいろ考えてみたが、シンプルに円と直線で作ることにした。針の色は5色用意し、生徒が選べるようにした。
文字盤はCDにインクジェットプリンタで印刷して作る。数字のないバージョンを作成したところ、仲間が数字入りのものを作ってくれたので、これも生徒が選べるように両方用意した。


CPUは8ピンのPIC12F1822を使う。以前リモコン用に作ったプリント基板を使うことにした。時計の精度を良くするため、32.768KHzのクリスタルを使う。他に、モーターを駆動する出力・LEDの出力・センサーの入力・スイッチの入力で6本のポートを全て使う。基板上の部品のレイアウトを考え、ジャンパ線を1本つけ、抵抗を1ヶ裏側につけることでうまくまとめることができた。
電池が弱ってきても1分毎の動きがうまくいくよう、モーターを駆動するPWM信号の長さを調整している。