ずっとうまくいかなかったAVRマイコン「AT90S2313🌈」への書き込みが、ついについにできるようになりました🎊🍰🎉
こちらがAVRマイクロコントローラの「AT90S2313」。
あだ名は「虹子(にじこ)🌈」です。
プログラムメモリ:2kB
EEPROM:128B
RAM:128B
クロック:10MHz
今は「ATtiny2313(虹彩(アイリス))🌈」が後継機となっていて、虹子は廃版種。秋月電子通商さんで最近まで売られていたんだけど、今は「在庫切れ」の文字が......。
(最近マイコンの値段がどんどん上がってますね。半導体不足と円安と物価高のトリプルパンチかしら? 昨年(2022)の今頃はATtiny2313が210円だったのに、今は300円(秋月さん価格)。他のマイコンたちも値上がりしてる。店舗に行くと在庫切れのタグがいっぱいついてる......。そんな中、AT90S2313は2年くらい前から(もっと?)ずっと100円のままだった。だからすっごくコスパが良かったんです💰)
この記事では、希少となった虹子さん(AT90S2313)へのプログラムの書き込み方法を紹介します。
(私が書き込みにずっと失敗していたとき、たくさんの方がコメント欄にアドバイスをしてくれました。今回はwasanthaさんの教えてくれた方法でうまくいったので、それを紹介します。wasanthaさん、コメントをくれたみなさん、ありがとうございました💗 私、書き込みできましたよ🍅)
↓ 虹子への書き込みに四苦八苦する記事
miraluna.hatenablog.com
【AVRマイコン「AT90S2313(虹子🌈)」に
プログラムを書き込む方法】
1.「USBasp」を用意する。
今までずっとArduinoを書込み装置にして書き込みをしようと思ってたんだけど、どうしてもうまくいかなかったの。そこで今回は書込み装置から変えました。
◆ USBasp
なんて読むのかな? 私はユーエスビーアスプって呼んでる。
アマゾンで799円でした。
🥕 私が買ったの在庫切れみたい 🚢 船便っぽいのは安い
これを使えば他のいろいろなAVRマイコンにも書き込みができるんだって。
2.BASCOM-AVRをインストールする。
次はソフト面での準備。
いつも使っているArduino IDE (Arduino開発環境)だと、AT90シリーズを扱うのが難しいみたい。ATtinyシリーズなら「ATTinycore」の開発環境パッケージを使えば扱えるようになるんだけど、AT90シリーズは対応したものが見つからない。
↓ ATTinycore について載せています。(ダウンロードページも)
miraluna.hatenablog.com
そこで今回の書き込みには Arduino IDE ではなく、「BASCOM-AVR」を使いました。
BASCOM-AVRはBASIC言語をAVRの言語に変換してくれるコンパイラです。私、BASICは未知だから、ちょっとわくわくです。
↓ BASCOM-AVRのダウンロード
「BASCOM-AVR」のダウンロードページ
↑ のリンク先の下の方に「BASCOM-AVR Demo」というのがあります。Demo version はつまり無料版ていうこと🍓
インストールの方法などは、↓ のサイトが分かりやすいです。
「BASCOM-AVR BASICコンパイラのインストール」
3.USBaspと虹子(AT90S2313)を配線する。
左の図がAT90S2313のpin配置で、右の図がUSBaspのpin配置。
それぞれ同じ名前のpinをジャンパワイヤなどで接続します。VTGというのはVccと同じ電源5vです。
(電源の+とーに0.1μFのパスコンを入れると動作が安定します。)
◆ USBasp - AT90S2313 配線図
AT90S2313にはXTAL(クリスタル・発振器)を接続するピンが2つあって、用途によって接続方法を変えるみたい。
コメントでもご指摘があったんだけど、データシートにはクリスタル(オシレーター・発振器)を外部クロックとして使うときはXTALを片方開放するようにと書かれているの。
↓ これです。
だから初めは片方だけつないでみたんだけど、それだとうまくいかなかった。でも、セラロック(セラミック発振子。クリスタル2つ分のように使える。)で両方接続したらうまくいきました。(上に載せた「USBasp - AT90S2313 配線図」のように接続しました。)
◆ セラロック 10MHz かわいい🐙火星人みたい。
◆ 実際の配線はこんな感じ(LEDも配線してあります)→
配線完了🍊
4.BASCOM-AVRからスケッチを書き込む
さっきインストールしたBASCOM-AVRを開きます。
BASCOM-AVRの使い方の手順はwasanthaさんが"(きっとたぶん)私のために✨"PDFにまとめてくださったので、その手順に従います。
↓ wasanthaさんのコメントにリンクがあります。とってもわかりやすいです🍍
このブックマークの中にあるコメントを探してね
手順の中にプログラム(コード)を書く、という場面が出てきます。
私はBASICでコードを書いたことがありません。でも、これもwasanthaさんが以前のコメント内でBlink(Lチカ)プログラムを(きっとたぶん私のために✨)書いてくださったので、それをコピーして使いました🐤
↓「AT90S2313が使えなかった」という記事のコメント(一番下)にあります。
miraluna.hatenablog.com
で、ここで問題発生。
BASCOM-AVRが虹子🌈を認識しません。
どうやらパソコンがUSBaspを認識しない(ドライバがない)と言っています。
5.USBaspのドライバをインストールする。
USBaspを初めて使う場合は、ドライバを入手する必要があるのかもしれない。調べてみると、本家サイト(たぶんUSBaspの本家?)からはWindows8以降はインストールが難しいみたい。
↓ 参考にさせていただいたサイト
USBaspについて詳しいサイト様
で、代替策として「Zadig」というものを使えば解決できると、親切に書かれていました。そういえばAmazonで買うとき、カスタマーレビューに「zadig」という言葉が出てきました。Zadigというのは「汎用 USB ドライバの派生ドライバを、汎用 USB ドライバで置き換えるもの(上述のサイトより)」だそうで、私にはよく分かりません🐈でもどうやらドライバとして機能するもののようです。Zadigのインストール方法も、上述のサイトに説明が書かれています。ありがたいですね。
↓ Zadig
Zadigのサイト
さあ、Zadigをインストールしたらもう一度BASCOM-AVRを開いて、「4.」の手順で書き込みを行います。
そしてついについに......。
書き込み成功🐣
どちらの写真も電源供給だけで、虹子が一人立ちしてLチカしていますね🍓
長かったなぁ、ここまで。
とうとう私、勝ちました👑(すべてコメントしてくださった方々の力だけど。)
コメントでアドバイスを下さった方々、本当にありがとうございました。私、ここまで成長できました🏆(wasanthaさんの言う通りに従っただけだけど。)
さあ、これで100円虹子さんでたくさん電子工作できるぞー って、そうか、在庫切れなんだっけ。
虹子こと「AT90S2313」の書き込み方法の紹介は、ミラでした。
Byebye(∂, ∂🎀/
🍆 書き込みができなかったときの記事
miraluna.hatenablog.com
🥒 後継機「虹彩(アイリス) ATtiny2313」の書き込みの記事
miraluna.hatenablog.com
🍎 その他のAVRマイコンの書き込み方法の記事たち
miraluna.hatenablog.com
<お買い物コーナー>
🐒 USBasp 👝 電子パーツ詰合せ ✨ LEDキューブキット