やっと忙しい日々から少しだけ解放されたHaidoです。

今回はAVRマイコンの開発環境を整えました。
IMG_20140816_222255 (2)
ライタは AVRISP mkIIを使っています。これ自体は去年から買ってあったのですが、うまいこと書き込めずにずーっとお蔵入りしてました。この間行われたものづくりコンテスト電子回路組立部門でC言語を必死に勉強したので、やっぱりその知識を捨てるのは勿体ない気がしますね。それで埃をかぶってたライタを取り出してきて開発環境を整えようと頑張ってみました。開発環境を整えるのは他のサイトを参照してください。

そうこうしてるうちにどんどん時間が奪われていくので金魚氏に相談してみることに。親切に教えてくださってありがとうございます。 でも結局書き込めなかった原因はもっと根本的な部分にあることが分かりました。新規プロジェクトの設定の選択ミスと言う情けない部分で動作しないと悩んでたのでした。


やっとマイコンの開発環境が整ったので更に知識を身に着けていきたいですね。
参考までに私の動作環境とサンプルプログラムの公開でもしておきましょうか。
OS:windows8.1
使用ソフト:AVRstudio バージョン6.2(8/16現在の最新版)
マイコン:ATmega328P,ATTINY13A

プログラムは動画に出てくる下ボードの2つのLEDが交互に点滅するプログラムを載せておきます。
上のランダムにLEDが止まるプログラムは動画に出てくるのでやりたい人はそれをみて理解してください。あまりブログをソースで埋め尽くすのは好きじゃないのでご協力を。欲しい人はコメント欄にでも書いてください。個別に対応します。

/*
 * GccApplication1.c
 *
 * Created: 2014/08/16 2:25:27
 *  Author: Haido
 */ 

/*
*【接続】
*B0にLED
*B1にLED
*【動作】
*LEDが0.5sで交互に点灯・消灯を繰り返す
*/

#include <avr/io.h>
#include <util/delay.h>

int main (void){
DDRB = 0xFF;  //ポートB出力
PORTB = 0x00;  //ポートB初期化
while (1){
PORTB = 0b000001;
_delay_ms(500);
PORTB = 0b000010;
_delay_ms(500);
}
return 0;
}

これは外部入力もないし単純で簡単な回路ですね。ライタの動作確認には持って来いのプログラムと言ってもいいでしょう。 

次はLCDに挑戦してみました。
BvOiFPLCMAEbzkQ
いい感じですね。ライブラリ使わずに全てプログラミングしてます。ポインタ使って入力も楽な仕様。

BvOk1F5CUAApSke
バックライトつけると結構いい感じになりました。1/8Wの抵抗を表面実装部分にはんだ付けするのにちょっと手こずりしたね。

BvUsg2-CEAEfyWm
更に7segの制御なのですが、ブレッドボードが小さすぎて接続できず諦めました。画像はただ光らせてるだけ。プリント基板の製作環境が整ったらこういった学習が手軽にできるボードも作りたいですね。これくらいは手配線でも大丈夫ですが。

その他サーボ等制御しましたが写真載せても地味なので省略します。こちらは割り込み処理を行う方式を使っているので色々なプログラムに組み込めそうです。

マイコンが使えるようになると電子工作の幅が思いっきり広がりますね。今までアナログ回路で面倒な回路を組んでいたのがマイコン一つでできちゃうものもあります。それにC言語の使い道はマイコンだけでなく、様々なところで通用する言語なのでやって損はありません。(大雑把な言い方にして逃げてる)

マイコンの進捗はこんな感じです。

【おまけ】
次回予告的な感じになるのかと。
現在プリント基板を自作する環境も整えています。現在届いているものは、転写に使う マット仕上げのA4コピー用紙・塩化第二鉄(腐食液)の2つです。この二つは両方とも送料手数料無料で合計700円程です。あとは生基板の到着を待つのみ。18日までお盆休みで、振り込みを確認したら発送するとのこと。それまでに基板のパターンを印刷しておきたいですね。月曜日学校行くのでその時に部室のレーザープリンター使って出力しちゃいましょう。またこれは一つの記事としてまとめるのでお待ちを。