いろいろパーツを注文するついでに ATTiny13A というチップも買ってみた。
見ての通り8ピンしかないチップだけど、以下のような特徴がある
- 1個50円と激安。
- ADC がついてる
- プログラムに使えるのは1KBしかない
- SRAM が 64B だけある (のでCで書ける)
- 外付け水晶を使うのは面倒 (使わないつもりで書いたほうが良い)
- ISPを殺せば最大6ピンIOに使えるけど、基本5ピンしかIOに使えないと考えたほうがいい
かなり制約があって楽しい。サイズ的に浮動小数点は使えないので工夫する必要がある。メモリ(SRAM)も64Bしかないのでついうっかりするとオーバーしそう。でもCで開発できるのでいいバランス。
とりあえずエレキー作るのがいいかと思って作ってみた。
まとめを後日書きました ボタン電池で動く小型・低消費電力 AVR エレキー (50円 ワンチップマイコン ATTiny13A) | tech | avr | arduino - 氾濫原
ただ、ピン数が少ないせいで大きな問題がある。というのも、必然的に ISP で使うピンとアプリケーションのピンを共有することになるので、回路によっては、繋いだままの ISP というのができないっぽい。「SCK fail」とか「MOSI fail」とか出て意味不明だったけど、このせいみたいだ。うまくやらないと In-System Programming という感じでなくなる。なんか簡単ないい方法ないのかな。
ADC の端子がいくつかあるので、スイッチをたくさん繋いでいくというのは割とできそう。ただ出力はそうもいかない。ソフトウェアに使えるメモリ量も少ないので「ハードにないからソフトで実現」というのも難しいことが多そう。
それにしても「50円で買えるコンピュータ」というのはグっとくる。