« DIGAリモコンの「テレビ操作」でREGZAを動かす【2025/01/28後日談追記】 | トップページ | ATtiny85マイコンの手習い(その2・屋内暑さ指数計の移植)(2020/10/07修正) »

2020/10/06

ATtiny85マイコンの手習い(その1・動作環境の確認)

夏にRaspberry pi zero wTinkerBoard屋内の暑さ指数WBGTを簡単に求めてみたあと、Arduino nanoでも同じことができるようにしていました。
その後Arduinoに乗っているマイコンATmega328P-PU単体赤外線リモコンコンバータでも使っていたもの)へも移植して、ケースに収めて使えるようにしました。
Attiny01

さて、
最近、ATmega328Pで遊んでいて動作しないものが1個できてしまいブートローダーを書き直す方法と書き込みヒューズをリセットする方法を調べていたときに、同じメーカーのATtinyシリーズ(例えばATtiny85)というマイコンでもArduinoと同様のスケッチを動かせることを知りました。私には、次の2記事が分かりやすかったです:
Arduino IDE で ATtiny 他の開発 | Make | kosakalab
Tiny AVR Programmer Hookup Guide - learn.sparkfun.com

それで興味をもってあれこれ調べたところ、両者のブートローダーライターの回路はほとんど同じだと分かりました。
From Arduino to a Microcontroller on a Breadboard | Arduino
Programming ATtiny85 with Arduino Uno - Arduino Project Hub

web上の情報が、枯れたネタであることからか新旧おり混ざっていて私は少々混乱したのですが、結局のところブートローダーについては現時点で最新のArduino IDE 1.8.13のスケッチ例に標準で入っているArduinoISPで、ATmega328PにもATtiny85にも書き込むことができました(ATtiny85にはATTinyCoreのインストールが必要です)。参考に、ATtiny85へ書き込むときの設定キャプチャを付けておきます。
Attiny04
他方のヒューズリセッタについては、ATmega328PにはArduinoIDE 1.6系が、ATtiny85にはArduino IDE1.8系が必要でした(macOS Catalinaでは1.6系が動かず、Windows10で確認)。

ブレッドボードで確認した上でシールド(Arduinoに直接挿すサブボード)を作りました。左側がヒューズリセッタで、右側がブートローダーライターです。
Attiny02
Attiny03

ATmega328P-PUへスケッチを書き込むのはスイッチサイエンスさんのこちらの記事のようにシリアル変換アダプタを付けっぱなしにして、Arduino UNOなどと同じくArduino IDEで「マイコンボードへ書き込む」とすればOKです。
一方、ATtiny85へのスケッチ書き込みは、
1. Arduino UNOにArduinoISPのスケッチを書き込む
2. ブートローダーライターを繋ぐ
3. Arduino IDEの「ツール」をブートローダー書き込みと同じ設定にする
4. ATtiny85に書き込むスケッチを用意する
5. Arduino IDEの「スケッチ」で「書込装置を使って書き込む」
6. ATtiny85を実際に動かす基板・ブレッドボードに挿し換える
という手順の、4〜6をぐるぐる回す感じになります。
正直、ちょっと面倒なので専用のISPが欲しいような気がしています。とはいいつつ、Arduino UNOより高かったら意味が無いのでUSBaspが安くていいのですが、例によってmacOS Catalinaだと問題があるようです。(泣
なお、ブートローダーライターやヒューズリセッタの検討を始めるそもそものきっかけになった「書き込めなくなったATmega328P」は、どうやら完全にぶっ壊したようで、これらのツールでも復活できませんでした(泣き笑い

さて、ここまででATtiny85を使う環境が整いました。続いて、屋内暑さ指数計の移植へ挑戦しますが、長くなったので別エントリーにします。
何かの参考になれば幸いです。

パドラッパ from MacBook Air (2017)

| |

« DIGAリモコンの「テレビ操作」でREGZAを動かす【2025/01/28後日談追記】 | トップページ | ATtiny85マイコンの手習い(その2・屋内暑さ指数計の移植)(2020/10/07修正) »

コメント

コメントを書く



(ウェブ上には掲載しません)




« DIGAリモコンの「テレビ操作」でREGZAを動かす【2025/01/28後日談追記】 | トップページ | ATtiny85マイコンの手習い(その2・屋内暑さ指数計の移植)(2020/10/07修正) »