ver.2021.7.8 © いずみ♡ 無断複製転載を禁ず (リンクは可)
学生に「大きなコンピューター v.s. 小さなコンピューター」の話をするのに、 小さい実例をデモしたいなと思い立ち、 巷で米粒マイコンと呼ばれる ATMEL ATtiny10 で “ちっさいちっさい HELLO WORLD”をやってみた。
マイコンでまず何をやるかというと HELLO WORLD ですよね。 一見、いやこれはLチカ、と思うかもしれないけど、 HELLO WORLDです。モールス符号です。
| デモプログラム helloworld.ino |
|---|
#define LD PB2
#define T 100
void MorseChar(unsigned int c){
unsigned int x;
digitalWrite(LD,LOW);
while (c>0) {
x=c&0xf000;
x=x>>12;
digitalWrite(LD,HIGH);
delay(x*T);
digitalWrite(LD,LOW);
delay(T);
c=c&0x0fff;
c=c<<4;
}
delay(T*2);
return;
}
void setup() {
pinMode(LD,OUTPUT);
}
void loop() {
MorseChar(0x1111);//H
MorseChar(0x1000);//E
MorseChar(0x1311);//L
MorseChar(0x1311);//L
MorseChar(0x3330);//O
delay(T*4);
MorseChar(0x1330);//W
MorseChar(0x3330);//O
MorseChar(0x1310);//R
MorseChar(0x1311);//L
MorseChar(0x3110);//D
delay(T*16);
}
|
ATtiny10 に書き込むには、基本的に AVRISP mkII という書き込み器が必要らしい。 が、現在は廃番で入手不能。 kosakalabさんの記事『Arduino UNO Rev.3 で AVRISP mkII クローンを作る』を参照して、 秋月電子 Arduino UNO Rev.3 互換機を作成した。
作業内容
参照
表面実装の ATtiny10 にそのまま書き込むのは接続が物理的に難しい。 そこで necobit さんの書き込み補助基板 Rev.2を使用した。 書類用のダブルクリップ(小)に小さく切ったゴム板を貼り付けて固定具とした。
参照
コンパイラ&プログラマには Arduino IDE を流用する。 kosakalab さんの 『Arduino IDE に ATtiny10/13 の開発環境を組み込む』を参照して Arduino IDE で ATtiny10/13 を扱えるようにする。
作業内容
参照
まずはLチカでテストする。 プログラム時にも空いているPB2ピンなら干渉を心配せずに利用可能である。 kosakalabさんのAVRISP化Arduino 使い方・書き込みテスト』を参照して やってみた。
問題と対策
参照
ブレッドボードで動作確認、ATtiny10 のプログラムをしてから、 実際の回路を製作する。 極小はんだ付け、がんばる…。老眼、つらたん…。