HOME > natural science メンバー > 佐瀬 一弥 > 佐瀬日記

電光掲示板をAVRで置き換え

文責:佐瀬 一弥 (2009年8月15日) カテゴリ:佐瀬日記(33)

デジタル電光掲示板はPICの16f84を使っていましたが、 AVRのATtiny2313で置き換えました。 これでどのPCでも書き込めるようになります。 しかも、低価格なため、生徒が思う存分、試行錯誤できます。 マイコンは電源供給を誤るとすぐに壊れてしまうのです。


光っているところ

プログラムも少しアレンジしました。 フォーマットは以下です。
#include <avr/io.h>
#include <avr/delay.h>

void delay_ms(t) { while (t--) _delay_ms(0.13); }

void delay_us(t) { 
	int tt;
	tt = 8*t/100;
	while (tt--) _delay_us(1); 
}

void line1(int a,int b,int c,int d, int e){
	PORTD = 0b00000001;
	PORTB = a+b*2+c*4+d*8+e*16;
	delay_ms(1);
}


void line2(int a,int b,int c,int d, int e){
	PORTD = 0b00000010;
	PORTB = a+b*2+c*4+d*8+e*16;
	delay_ms(1);

}


void line3(int a,int b,int c,int d, int e){
	PORTD = 0b00000100;
	PORTB = a+b*2+c*4+d*8+e*16;
	delay_ms(1);

}


void line4(int a,int b,int c,int d, int e){
	PORTD = 0b00001000;
	PORTB = a+b*2+c*4+d*8+e*16;
	delay_ms(1);

}


void line5(int a,int b,int c,int d, int e){
	PORTD = 0b00010000;
	PORTB = a+b*2+c*4+d*8+e*16;
	delay_ms(1);

}


int main(void)
{
	int i;
	DDRB = 0b00011111;
	DDRD = 0b00011111;
	
	while(1){
		
		for(i=0;i<100;i++){
			line1(0,1,1,0,0);
			line2(0,0,1,0,0);
			line3(0,0,1,0,0);
			line4(0,0,1,0,0);
			line5(0,0,1,0,0);
		}
	}
	
}


夏休みものづくり講座の4日連続コースはもうすぐです。 お楽しみに。



▲このページのトップNPO法人 natural science トップ

▲このページのトップNPO法人 natural science トップ




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました