Mira&Luna's nursery lab

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

ATtiny2313を使えるようにする。

f:id:miraluna:20181215104752j:plain:w300 Mira


Arduinoを使って「ATtiny2313🌈」というマイコンにプログラムを書き込めるようにします🍅


🌈 ATtiny2313-20PU
f:id:miraluna:20220220174013j:plain

この子がATtiny2313というマイコン(マイクロコントローラ)。中にプログラミングを書き込めば、いろんな電子パーツを制御できるマイクロなコンピュータよ。
あだ名は「虹彩(アイリス)🌈」。ここいらじゃ(私の中では)”お虹さん”で通っている姐さんなの。「瞳子(ATtiny13)」のお姉さん。
ATtiny2313の足(Pin)は全部で20本。Arduino UNOのブレインである「みつは(ATmega328)」と比べると小さいね。

   🎀 「瞳子」ATtiny13A       🎀 「みつは」ATmega328P-PU

🥕 "みつは"たち姉妹(AVRマイコンたち)


f:id:miraluna:20220220174013j:plain:w150 🌈お虹さんの実力(スペック)
動作電圧    :2.7v~5.5v
プログラムメモリ:2kB
EEPROM    :128B
RAM      :128B
クロック    :20MHz
Pin数      :20本

Arduino UNOのコンピュータ「みつは(ATmega328)」のプログラムメモリが32kBだから、そんなに大きなプログラムを書き込むことはできない。でも「瞳子(ATtiny13)」のほぼ2倍の性能を持っているから可能性は広い。足が20本あるというのも、複数の電子パーツを制御するのに役立ちそう。期待してます、お虹さん。


🌈 「ATtiny2313」にプログラムを書き込む。
(Arduinoとその開発環境(IDE)のある状況から始めます。)

. ATTinyCore を ArduinoIDEにインストールする。
. Arduinoに "ArduinoISP"プログラムを書き込む。
. 配線をする。
. ブートローダを書き込む。
. スケッチ(プログラム)を書き込む。
                  と、いう手順で書き込みます。


. ATTinyCoreをArduinoIDEにインストールする。
Arduino IDEは無料でダウンロードできるArduino開発環境です。2022年2月現在、最新版の「Arduino IDE 1.8.19」をダウンロードできます。→Arduino公式サイト
この Arduino IDE では、いろんな Arduino のボード(Arduino UNO とか Arduino Leonardo とか Arduino nano とか)にプログラムを書き込むことができるようになっているんだけど、ATmega328とか、ATtiny2313のようにボードの選択肢にないものもあるの。だから Arduino IDE に ATtiny2313 のボードを加える必要がある。
そこで、ATtiny2313をボードに加えることのできる開発環境パッケージを Arduino IDE にインストールします。

名前は「ATTinyCore」。作者はSpence Kondeさん。
Thank you for your great project. →GitHubの<ATtinyCoreのページ

ATTinycoreのページに行くと、READMEの中に「Installation」というところがあります。ここに入ると ↓ 下のURLが置かれています。
     http://drazzy.com/package_drazzy.com_index.json

以下の手順でATtiny2313(とたくさんのTinyシリーズ)をボードに加えます。

 上のURLをコピーします。
 Arduino IDE を開き、「ファイル」→「環境設定」と進み、
  「追加のボードマネージャのURL」にコピーを貼って「OK」を押します。
 「ツール」→「ボード」→「ボードマネージャ」と進み、
  SpenceKondeさんの「ATTinycore」を見つけてインストールします。
 一度 Arduino IDE を閉じ、開き直します。

これで ATtinyシリーズがボードに加わります。


. Arduinoに "ArduinoISP"プログラムを書き込む。

 Arduino IDE を起動します。「ファイル」→「スケッチ例」→「11. ArduinoISP」と進み、「ArduinoISP」というスケッチを開きます。
その「ArduinoISP」スケッチを Arduino に書き込みます。

これで Arduino が書込み装置になりました。


. 配線をする。

f:id:miraluna:20220220174041j:plain
f:id:miraluna:20220220195231p:plain:w200 f:id:miraluna:20220220195235p:plain:w150
ATtiny2313の「SCK」「MISO」「MOSI」を Arduinoの D13,D12,D11に、「RESET」を D10に配線します。(写真のオレンジと緑の線)
ATtiny2313の「Vcc」と「GND」を、Arduinoの 5vと GNDにそれぞれ配線します。(写真の赤と白の線)
f:id:miraluna:20220220174102j:plain
それから Arduino の RESETと GNDの間に「10μFのコンデンサ」を入れるといいそうですが、なくても書き込みできました🐪 コンデンサを入れる場合には向きに注意。白いマイナス帯が描かれている側の足をGNDへ。反対の足をリセット側へ。

これにて 配線完了🍎


. ブートローダを書き込む。
いよいよスケッチを書き込みたいところなんだけど、その前にブートローダというものを書き込んで、ヒューズ設定を行います。
Arduino IDE を開いて、「ツール」→「ボード」→「ATTinyCore」→「ATtiny2313(a)/4313(No bootloader)」を選びます。
そしてまた「ツール」を開くとボードが「ATtiny2313(a)/4313(No bootloader)」になっているはず。
「Chip」を「ATtiny2313/ATtiny2313A」にします。
「Clock」は「8MHz(internal)」がおすすめ。("external"は外付け発振器が必要。)
「書込装置」を「Arduino as ISP(ATTinyCore)」にします。

そして「ブートローダを書き込む」でブートローダを書き込みます。
ブートローダを書き込まずにプログラムを書き込むこともできたけど、動作速度がすっごく遅くなった。
もし書き込みエラーが出たら、「配線を見直す」「"Chip"や"書込装置"などの設定を見直す」「気分転換して明日もう一度やり直してみる」というようなことを試してみてくださいね。


. スケッチ(プログラム)を書き込む。
ブートローダが書き込めたらあとは簡単。
設定をそのままにして、「マイコンボードに書き込む」でスケッチを書き込むだけ。

🌈 Lチカできた✨ f:id:miraluna:20220220174150j:plain:w400

f:id:miraluna:20191015184121j:plain:left:w200 これで虹彩(アイリス)こと「ATtiny2313」を使うことができるようになりました。
やったね。
また一人、みつはたちの姉妹が増えました。電子工作で活躍する日が楽しみね🍎





🌈 他の姉妹たちの記事はこちら 🌈
miraluna.hatenablog.com

雷が化石化。稲妻が作る雷形の石、雷管石⚡

f:id:miraluna:20210920081124j:plain:w200 Luna

が落ちてできた石「雷管石」⚡

f:id:miraluna:20220130185312j:plain

和名:閃電岩、雷管石
英名:Fulgurite
化学式:SiO₂(水晶・石英と同じ「二酸化ケイ素」)


ひらめく電(稲妻)の岩」、「雷(かみなり・いかづち)の管状石」
雷電の石だなんて、なんだかかっこいい名前ですね。
その名前が表す通り、雷管石は雷によって生成された石なんです。

隕石が地球に落ちてきたときに地表のケイ素が熱に溶かされて、それが冷えて固まったときにできるテクタイトという石があるのですが、生成される原理は雷管石も同じです。
大きな雷が落ちたときに生じる熱が地表のケイ素を溶かして、冷え固まったときに石になります。ケイ素はガラスの素になる元素だから、天然ガラスのできあがりです。

雷管石は雷の通った後が管状に石化するので、雷がどんなふうに地面を通るのかが分かりますね。一瞬の閃きの雷の型をとったようで面白い。魚拓ならぬ雷拓といった感じ。
この雷管石、とっても強い電圧の雷でなくては生成されないそうで、日本の雷では電圧が低すぎるみたい。でも唯一北海道の岩見沢市で発見例があって、郷土科学館に展示されているそうです。でも日本産雷管石の生成は、送電線の事故と関係がありそう。
岩見沢市のホームページ、雷管石のページ

一瞬の稲妻が新しく石を作ってしまうだなんて、自然の力はすごい。そんな自然のドラマチックな瞬間を形に残した「雷管石」を手元に置ける歓びは、石好きの方ならきっと分かってくれますよね。


f:id:miraluna:20191224182348j:plain
⛄ 今年の1月7日はスノーデイ(雪遊びの日)でした ⛄



☆ テクタイトの一種、チェコモルダバイト ☆   ⛄ スノーデイ ⛄
                 

EEPROM電子オルゴール🎶 作り方まとめっ♬

f:id:miraluna:20210920081120j:plain:w200 Mira

EEPROMを使った電子オルゴール
Tiny蓄音機レコード仕様🍩」の作り方・使い方まとめっ!


                    ◆ 電子オルゴール(EEPROM使用)
f:id:miraluna:20211121114958j:plain:right:w300
 小さいほうのIC(EEPROM)に曲が入っていて、スイッチを入れると曲が流れます。他の曲を入れたEEPROMに替えると、他の曲が流れます。





EEPROM(外付けメモリ)の曲データをATmega328P(Arduino)で読み取り、ブザーで曲を流す電子オルゴール♬


<第8回>
「作り方まとめっ!」


目次

   🍩 Tiny蓄音機レコード仕様を作ろう 🍩
🍩1回目「 構想とEEPROMについてと曲紹介
🍩2回目「EEPROMに楽譜を記録♬ "レコード盤作り"
🍩3回目「EEPROMから楽譜を読み取って演奏するプログラム
🍩4回目「トラブル1🐉 ArduinoのRAMが足りない..p_q..💦
🍩5回目「トラブル2🦇 tone関数ではすべての音符を鳴らせない
🍩6回目「"ちびやっこ"意気消沈。お姉ちゃんの"みつは"は超オンチに🦆
🍩7回目「Tiny蓄音機レコード仕様、実装します。& 動画🎬
🍩8回目「Tiny蓄音機レコード仕様🎶 作り方まとめっ♬」(この記事)



f:id:miraluna:20210926165439j:plain:w300



大まかな流れ
書き込みプログラムでEEPROMに曲を書き込む。

 ・配線する ・書き込みプログラムを書く

読み込みプログラムで再生する。
 ・配線する ・読み込みプログラムを書く

実装する。
 ・はんだ付けする

配線図プログラム (文字がリンクになっています。)
書き込み配線図
書き込みプログラム
読み込み配線図
読み込みプログラム

🍎いくつものEEPROMにいろいろな曲を入れておけば、レコード盤を換えるようにEEPROMを差し替えるだけでいろんな曲が楽しめます。🍎

読み込みプログラムがうまく動いて曲が流れたら、
あとは実装あるのみ、ね。
f:id:miraluna:20210106121707j:plain:w70:left
ミラ


これにてEEPROM電子オルゴール「Tiny蓄音機レコード仕様」のプロジェクトは完了。y(∂ν<🎀 またね。



<こんなものもあるよ>
🎶MP3デコーダモジュール
 ちっちゃいMP3再生機を作ろう🔧