Mira&Luna's nursery lab

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

音痴な電子オルゴールの完成🎶 1433個の音符データの中からバグを探します💦

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

女子電子工作♬
外付けEEPROMを使った電子オルゴールを作ろう🎹


<第6回>
「うまく音楽を流せなかった『ちびやっこ(ATtiny85)』が
お姉さんの『みつは(ATmega328P)』に泣きつく😢💦
そしたら曲の後半から大変なオンチに🎶」



目次

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


🆋 Tinyちびやっこ"ATtiny85"      🆋 お姉ちゃんみつは"ATmega328P"
f:id:miraluna:20190421155320j:plain:w210 f:id:miraluna:20191122170945j:plain:w370


幾多(2つ)のトラブルに見舞われながらもその度に夢と勇気とアイディアで困難を乗り越え続けて(2つだけ)ようやくtone関数を使って曲を再生する実験成功まで辿り着いたミラchen(ヒェン)でしたが、ついに実装というところでまたトラブルに見舞われます。さぁ、今回はどんなトラブルなのでしょう♬ はじまりはじまり🍅


トラブル1 ちびやっこ意気消沈
前回は tone関数で再生できる曲の音符制限に悩まされましたが、曲を分割してプログラムを複数作ることで解決しました。
その記事 ↓
miraluna.hatenablog.com

これでEEPROMからArduinoで曲を流す実験は成功。あとはそのプログラムを「ATtiny85(ちびやっこ)」に書き込んで実装するだけ。
さぁ、さっそくちびやっこに再生プログラムを書き込もう。

ATtiny85にプログラムを書き込む方法の記事はこちら ↓
miraluna.hatenablog.com

書き込みまでうまくできました🍓 そう、書き込みまでは......。
ブレッドボードにちびやっことEEPROMを配線して、当初の予定の「Tiny蓄音機レコード仕様」の最終実験を行いました。
f:id:miraluna:20191113110718p:plain
f:id:miraluna:20210920085351p:plain:right:w300



これが配線図です。→
プログラムは検証済み。
ではいざ、プレイ♪


あれ?


レッツ プレイ♪f:id:miraluna:20200916184356j:plain:w150:right


......。

曲が流れません。
うんともすんとも。





どうして~ ..p_q.. 💧

結局このトラブルの原因は分からずじまい。ATtiny85を使うことを諦めました。ちびやっこは意気消沈。お姉ちゃんのATmega328P”みつはお姉ちゃん”に泣きつきましたとさ。


そんなわけで当初の予定を変更して、Tiny蓄音機の本体(再生機)はみつはを使うことにしました。
こんなふうに ↓
f:id:miraluna:20210920085347p:plain
「みつはお姉ちゃん、あとはお願い」     ちゃんちゃん。



みつは蓄音機、ブレッドボードでの実験に成功🌳>

みつはをArduinoから独立させて、EEPPROMと電源(CR2032電池)とブザーを配線します。
そしていよいよ再生......。
f:id:miraluna:20210920085744j:plain:w290 f:id:miraluna:20210920085724j:plain:w290

🎵 ♪ ♬ 🎶 🎼

曲が流れました!

ちゃんと加賀谷玲さんの『Onenight』になってる。
             f:id:miraluna:20191015184121j:plain:w300

うまくいったみたいね🎀



トラブル2 曲が途中から超音痴に🦆>
ようやくうまくいったと思ってにこにこしながら曲を聴いていたら、ん?
後半から突然 Tiny蓄音機から流れる『OneNight』がすっごい音痴になっちゃったの🦆
f:id:miraluna:20210106121657j:plain:w80 なにこれ~???   音痴な私だってもうちょっと上手に歌えるよ🎻

どうやらプログラムのどこかにバグがあるみたい。きっと楽譜データの書き間違いね。EEPROMには"1433"ものデータを書き込んだけど、そのどこかがきっとずれてるんだと思う。
え゛~~。ここから探すのやー。




      でも、めげない。
        がんばって探そ。      私、えらい子。



そして......
f:id:miraluna:20200516143652j:plain:w250

見つけたわよ。
コンマを1つ多く入れていて、そこから音符数が変わっちゃた。
音程はそのままなのに四分音符とか八分音符とかの音符の長さがずれちゃってたの。
見つけた。直せた。がんばった、私。ドヤ🐧。        褒めてください。



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


そんなこんなでTiny蓄音機レコード仕様の最終実験が成功しました。今度はちゃんと最後まで音痴にならないし、リピートしてもずれたりしない。

 実験成功です(∂, <🎀y


次はいよいよ実装。どんな形に仕上げようかな🍐


f:id:miraluna:20211011111756j:plain:w200 ミラでした。



目次

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


<お買い物コーナー>

🌌 Arduino Uno    🌠 銀河鉄道の夜スコアブック   💧 いつも飲んでる水
             
                                 (なぜ?)