電飾のマイコンまだいじっていますw
結論から先にいいますと、diorama111さんの回路動きました!!
1ヶ月あまり本とネットでC言語につて勉強して、なんとかdiorama111さんのプログラムの意味が理解できるようになりました。(ニコニコ動画の「零からの電子工作」のマイコン編 これ凄く分かり易くてよかったです。)
(10日でとても覚えられませんでしたw)
それでも、うまく動かないので、赤外線を受信する回路で、デモ等を動かすマイコンを操作する予定でした。
そこで、diorama111さんのプログラムを改編してスイッチバージョンのプログラムを作ったのですが、なんか動作速度が遅い・・・・・・・・・・。ここまで勉強してきて、プログラムは間違ってないはず。という変な自信もあるのにwそれでも、なんか変・・・・。そう言えば以前dely関数の時もおかしかったな・・・・・。
プログラムは8Mhzでの動作予定、AVRはATmega168。AVRは秋月電子さんにATmega168がなくATmega168Pがあったのでこれを購入していました。
実は、これがすべての問題の原因w
ATmega168Pは電力消費を抑えるために、なんか8分周てのになっていて、クロックが1/8になっているようなんです!
つまり1Mhzで動いてるんです。8Mhz用のプログラムを1Mhzで動かしているんですから遅いはずです。
てなことで、
ヒューズのCKDIV8のチェックを外して設定してやると、
おおっ!通常の速度で動いてる!
むっ!まてよ、って、ことは赤外線の読み取りもクロックが違っていたから出来なかったんじゃないのかな・・・・
てなことで、diorama111さんのプログラムをそのままで、学習リモコンをアイワ設定(NEC、家電協フォーマットでないので、SONYフォーマットと思われます)で動かしてみると
ちょ!!動いてるw!今までの苦労がw
多少誤動作はありますが動いています。はぁ・・・・・・・・・・・。
1ヶ月勉強してヒューズのチェック一つ外すだけで解決するなんてw
ただ、結構知識付けましたので、赤外線受信の部分のプログラム少しだけ変えさせてもらって
NECフォーマットのリモコンでも動くようにしてみました。
これで、赤外線信号の設定をすれば、色々なカタマイズが出来るようになりました。
1ヶ月のc言語、赤外線制御の勉強無駄にはなっていませんwただ、理解が浅いのと、すぐ忘れてしまうのでまだまだです・・・。
diorama111さんやvividさんのように自らプログラムを作るなんて事はまだまだできません〜!こんな複雑なプログラム書けるなんて、勉強して更に尊敬の念がましました。すばらしい!
関連すると思われる記事:
- None Found