ver.2021.7.8 © いずみ♡ 無断複製転載を禁ず (リンクは可)

米粒マイコンで HELLO WORLD

学生に「大きなコンピューター v.s. 小さなコンピューター」の話をするのに、 小さい実例をデモしたいなと思い立ち、 巷で米粒マイコンと呼ばれる ATMEL ATtiny10 で “ちっさいちっさい HELLO WORLD”をやってみた。

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);
}

準備1:書き込み器の作成

AVRISP mkII クローン

ATtiny10 に書き込むには、基本的に AVRISP mkII という書き込み器が必要らしい。 が、現在は廃番で入手不能。 kosakalabさんの記事『Arduino UNO Rev.3 で AVRISP mkII クローンを作る』を参照して、 秋月電子 Arduino UNO Rev.3 互換機を作成した。

作業内容

参照

IC固定

表面実装の ATtiny10 にそのまま書き込むのは接続が物理的に難しい。 そこで necobit さんの書き込み補助基板 Rev.2を使用した。 書類用のダブルクリップ(小)に小さく切ったゴム板を貼り付けて固定具とした。

参照

書き込み器の作成

テキトーな板に穴をあけて、AVRISP mkII クローン と 書き込み補助基板を固定する。 ついでに動作テスト用に小型ブレッドボードも貼り付ける。 併せてケーブルも作っておく。

準備2:コンパイラ&プログラマ

コンパイラ&プログラマには Arduino IDE を流用する。 kosakalab さんの 『Arduino IDE に ATtiny10/13 の開発環境を組み込む』を参照して Arduino IDE で ATtiny10/13 を扱えるようにする。

作業内容

参照

動作確認:PB2でLチカ

まずはLチカでテストする。 プログラム時にも空いているPB2ピンなら干渉を心配せずに利用可能である。 kosakalabさんのAVRISP化Arduino 使い方・書き込みテスト』を参照して やってみた。

問題と対策

参照

製作

ブレッドボードで動作確認、ATtiny10 のプログラムをしてから、 実際の回路を製作する。 極小はんだ付け、がんばる…。老眼、つらたん…。


いずみ研立命館大学 理工学部 電子情報工学科