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 のプログラムをしてから、 実際の回路を製作する。 極小はんだ付け、がんばる…。老眼、つらたん…。