Mira&Luna's nursery lab

旅乙女と発明娘の子供部屋

AT90S2313に書き込みができるようになった✨

Mira

ずっとうまくいかなかった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(虹子🌈)」に
 プログラムを書き込む方法


.「USBasp」を用意する。

今までずっとArduinoを書込み装置にして書き込みをしようと思ってたんだけど、どうしてもうまくいかなかったの。そこで今回は書込み装置から変えました。

◆ USBasp

なんて読むのかな? 私はユーエスビーアスプって呼んでる。
アマゾンで799円でした。

🥕 私が買ったの在庫切れみたい   🚢 船便っぽいのは安い
            
 2個で1480円           519円

これを使えば他のいろいろなAVRマイコンにも書き込みができるんだって。


.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コンパイラのインストール


.USBaspと虹子(AT90S2313)を配線する。


左の図がAT90S2313のpin配置で、右の図がUSBaspのpin配置。
それぞれ同じ名前のpinをジャンパワイヤなどで接続します。VTGというのはVccと同じ電源5vです。
(電源の+とーに0.1μFのパスコンを入れると動作が安定します。)

◆ USBasp - AT90S2313 配線図

AT90S2313にはXTAL(クリスタル・発振器)を接続するピンが2つあって、用途によって接続方法を変えるみたい。
コメントでもご指摘があったんだけど、データシートにはクリスタル(オシレーター・発振器)を外部クロックとして使うときはXTALを片方開放するようにと書かれているの。
 ↓ これです。

だから初めは片方だけつないでみたんだけど、それだとうまくいかなかった。でも、セラロック(セラミック発振子。クリスタル2つ分のように使える。)で両方接続したらうまくいきました。(上に載せた「USBasp - AT90S2313 配線図」のように接続しました。)

セラロック 10MHz  かわいい🐙火星人みたい。

◆ 実際の配線はこんな感じ(LEDも配線してあります)→












 配線完了🍊


.BASCOM-AVRからスケッチを書き込む

さっきインストールしたBASCOM-AVRを開きます。
BASCOM-AVRの使い方の手順はwasanthaさんが"(きっとたぶん)私のために✨"PDFにまとめてくださったので、その手順に従います。
 ↓ wasanthaさんのコメントにリンクがあります。とってもわかりやすいです🍍
このブックマークの中にあるコメントを探してね

手順の中にプログラム(コード)を書く、という場面が出てきます。
私はBASICでコードを書いたことがありません。でも、これもwasanthaさんが以前のコメント内でBlink(Lチカ)プログラムを(きっとたぶん私のために✨)書いてくださったので、それをコピーして使いました🐤
 ↓「AT90S2313が使えなかった」という記事のコメント(一番下)にあります。
miraluna.hatenablog.com

で、ここで問題発生。
BASCOM-AVRが虹子🌈を認識しません。
どうやらパソコンがUSBaspを認識しない(ドライバがない)と言っています。


.USBaspのドライバをインストールする。

USBaspを初めて使う場合は、ドライバを入手する必要があるのかもしれない。調べてみると、本家サイト(たぶんUSBaspの本家?)からはWindows8以降はインストールが難しいみたい。
 ↓ 参考にさせていただいたサイト
USBaspについて詳しいサイト様
で、代替策として「Zadig」というものを使えば解決できると、親切に書かれていました。そういえばAmazonで買うとき、カスタマーレビューに「zadig」という言葉が出てきました。Zadigというのは「汎用 USB ドライバの派生ドライバを、汎用 USB ドライバで置き換えるもの(上述のサイトより)」だそうで、私にはよく分かりません🐈でもどうやらドライバとして機能するもののようです。Zadigのインストール方法も、上述のサイトに説明が書かれています。ありがたいですね。
 ↓ Zadig
Zadigのサイト

さあ、Zadigをインストールしたらもう一度BASCOM-AVRを開いて、「.」の手順で書き込みを行います。



そしてついについに......。


     書き込み成功🐣

どちらの写真も電源供給だけで、虹子が一人立ちしてLチカしていますね🍓

長かったなぁ、ここまで。
とうとう私、勝ちました👑(すべてコメントしてくださった方々の力だけど。)
コメントでアドバイスを下さった方々、本当にありがとうございました。私、ここまで成長できました🏆(wasanthaさんの言う通りに従っただけだけど。)

さあ、これで100円虹子さんでたくさん電子工作できるぞー って、そうか、在庫切れなんだっけ。













虹子こと「AT90S2313」の書き込み方法の紹介は、ミラでした。
Byebye(∂, ∂🎀/



🍆 書き込みができなかったときの記事
miraluna.hatenablog.com

🥒 後継機「虹彩(アイリス) ATtiny2313」の書き込みの記事
miraluna.hatenablog.com

🍎 その他のAVRマイコンの書き込み方法の記事たち
miraluna.hatenablog.com



<お買い物コーナー>

 🐒 USBasp    👝 電子パーツ詰合せ  ✨ LEDキューブキット