AVR絶賛入門中
AVR絶賛入門中なほしみです。春休みの自由工作!わ〜い♪(ただのバイト兼趣味)
AVRとはPICにかわる(と巷では言われている)マイコンでフラッシュメモリやEPROMをけっこうつんでるできる子です。
アセンブラでも組めますが地味にCコンパイラやエディタが充実しているので(しかもVisualStudioLikeでやりやすい!!!)おすすめです!!!
って友達にいわれたのではじめたのですが。
とりあえずAVR(マイコンの一種)ライタの使い方を練習するために簡単なライタを作ることに。
スイッチ、AVR2313、抵抗、コンデンサ(パスコン)、発光ダイオードだけという非常に簡単なものを作ることに。回路もとくに書かず(教科書のを適当に変更して)作ることに。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/** * @file AVRのテストプログラム * @brief 0から順番に値を増やしていく。ダイオードの出力は * 1,3,5bit目がtrueのときに出力される。 */ #include<avr/io.h> #include<avr/delay.h> #define true 1 #define false 0 void init(){ DDRB = 0xff; //PORTBを8bitすべて出力に PORTB = 0x00; //PORTBの出力をすべてLowに。 } int main(){ init(); while(true){ PORTB &= 0x00; //0にリセット for(int nCounter = 0x00 ; nCounter <= 0xff ; nCounter++ ){ _delay_ms(1000); PORTB = nCounter; } } return 0; }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
という二進数三桁のカウンター。
結局こんなかんたんなもの作るのに買出しから含め12時間半、加工開始から10時間かかってしまったです。
あちこち詰まったので詰まったところをメモ。
- 5VAC-DCアダプタの接合部を間違えたせいで5V出なかった件。
前ブログに書いたとおり。解決に4時間。(日をまたいでるので、それに試行錯誤した時間、という意味。)
- AVRライタのソケットを上下間違えた。
思いっきり勘違いしてました。気づくのに30分。
- あちこち短絡
ほしみのハンダ力のなさに絶望した!
- 発光ダイオードの隣に抵抗を入れ忘れた。
発光ダイオードと抵抗はカップルにってあんなに言ったぢゃないですかぁ!!!
・・・いや、わりとよくやるミスだと思います。
- 配線図を描かずに適当にやったのでえらいことに。
こんな簡単な回路でさえ絶望感ただようハンダ付け。
本番は8つのスイッチにすべてシュミットトリガーをつけなきゃいけないので、ちゃんと配線図かいてから取り組みます。・・・ていうかプリント基板注文したほうが早い気がしてきた。
- AVRマイコンへの書き込みにとことん失敗する
どうもFlashメモリが再書き込み可能になるまでに何分かかかるみたいで、こればかりは神様にどうか成功するように祈るしかないみたい
- forループで時間稼ぎをしようとしたら、ぜんぜん稼げていなくてつっきぱなしの状態に見える。(点滅が早すぎて目がついていかない。)
_delay_msという関数がありました。そりゃあるわな。
といっても1bit目と3bit目と5bit目のみ発光ダイオードにつないでるので(8つもダイオードを使うのが面倒だったのと、AVRからの出力がとなりあってて込み入っててやる気がしなかった。だから一個飛ばし。)
一見ランダムについたり消えたりしているようにみえます。(1bit目だけはひたすらちかちかしてますが。)
・・・え?発光ダイオードがちかちかするだけで13時間!?
きっと次回はもっと面白いものができる
・・・と思いたいなぁ。
ほしみの技術力の進歩を見届けてやってくださいです。
(写真うpしたいけど電池が切れてしまったので後日。まあ誰も見たくないかもだけど。)