Raspberry PI Pico でオルゴール(1)概要
はじめに(Raspberry PI Pico とは)
Raspberry PI Pico(以下、Pico)は、Raspberry PI という名前ですが、Linuxが動くとか、
そういうものじゃなくて、電子工作とか組み込み機器に使う、いわゆるマイコンボードです。
というと、敷居が高そうな感じがするかもしれませんが、
パソコンがあれば(Windows、Mac だけじゃなくて、Raspberry PI とかでも)
ほぼ、手間なしで、C/C++ のほか、Python (MicroPython)も使えちゃう。
しかも2コア使ったスレッド処理なんかも簡単に書けちゃうというしろもので、
これがなんと、600円弱くらいで買えちゃうんです。
オルゴールを作ってみた
で、とりあえず、電子オルゴールを作ってみました。
夏休みとかの自由研究ネタになるかもしれません。
細かい話は、後日書くつもりですが、仕様概要は以下の通りです。
-
3曲演奏(自動ループ)曲の切替可能、停止可能
「ピカデリー」「聖者の行進」「一週間」(※) -
和音(2音)対応
-
音色の変更対応
(といえるか? PWM の Duty 比を変える)
※:楽譜 PDF をダウンロードして、手作業で Python の変数配列に落としこむという、
「昭和か!」 的なアナログな方法で・・・3曲で疲れました(笑)
実体配線図と部品表:
実体配線図
(Fritzing というアプリで書いたものを PNG で出力したもの)
部品表
No. | 部品名 | 個数 | 説明 |
---|---|---|---|
1 | Pico | 1 | Raspberry PI Pico 本体 |
2 | 20ピンヘッダ | 2 | Pico にはんだ付けする |
3 | ブレッドボード | 1 | half+ |
4 | タクトスイッチ | 3 | 黒と赤と白 |
5 | 抵抗 | 1 | 390Ω 1/4W LEDの電流制限用 |
6 | LED | 1 | 赤色 |
7 | ジャンパ線 | 7 | うち4本は、スピーカー接続用 |
8 | スピーカー | 2 | 「マザーボード用」として売ってたもの |
9 | 抵抗の足 | 6 | GND 配線用 |
(No.5 と No.6 は、後述のように無くてもかまいません)
あと電源が必要ですが、USBマイクロBのものなら大丈夫なので、スマホの充電器とかで大丈夫だと思います。
もし、電源コンセントのないところで使うなら、モバイルバッテリーでも大丈夫です(たぶん)。
プログラムソース:
PicoMusicBox_20210508.zip ダウンロード
大雑把な説明
Python (MicroPython) で書いてます。
展開したら、srcs/ の6個の .py ファイルを Pico に書き込めば動きます。
そうしなくても実装できるけど(笑)2スレッドで和音を出してます。
スイッチが押されると割り込みがかかります。
いくらなんでも、大雑把すぎるww
後日プログラムの説明を書く・・・かもしれません。
説明:
実体配線図の3つのボタン(タクトスイッチ)は
左から「SW_STOP」「SW_SEL」「SW_TONE」で、
- SW_STOP
演奏を停止する - SW_SEL
曲を変える - SW_TONE
音質を変える
になります。
ブレッドボード上のLEDは、「スピーカー1」の音が出てるときだけ点灯させてます。
それだけのことなので、無くても動作に問題はありませんが、
なんかの理由で、音が出ないときに LED が チカチカ してると、
「プログラムは動いてるけど、スピーカーがおかしい可能性が高そう」とかの判断に役立ちます。