Raspberry PI Pico オルゴール(3)笛機能追加
注意事項
すみません。最初に注意事項です。
この工作は、(百均の霧吹き用の器具とはいえ)ペットボトルに加圧するので、
たぶん多少は危険だと思います。
この記事を見て同じものや類似のものを作っていただくのは、もちろん構わないのですが、
万一事故が起きても当方は責任をもてませんので、自己責任でお願いいたします。
特に、
- キズのあるペットボトルとか使わないでください。
- 何十回も同じペットボトルを使うとかしないでください。
- 「これでもかぁ」って感じで加圧しすぎないでください。
笛機能
前回「お囃子機能」と、うたわせていただきましたが、
太鼓(?)と鈴だけで、そう「笛」抜きで「お囃子」というのは、おこがましい感じがしたので・・・
ひな祭りの歌の「五人囃子の笛太鼓」を字面の通りに解釈しただけです。
って、説明するほどの話じゃないですが・・・
(-_-)/~~~ピシー!ピシー!
というわけで、
Raspberry PI Pico (以下、Pico)オルゴールのお囃子機能をさらに強化し!!!
「笛」 機能を追加しました。
まぁ見てもらった方が早いです。
主な追加部品
- 笛(ホイッスル)
KAWAGUCHI SOS ホイッスル(大きさが非常によかったです)
・・・五人囃子の笛って、横笛だと思うんだがピーー!(ホイッスル音) - 加圧式霧吹き(ペットボトル用)
ダイソーの園芸用品売場で売ってたもの・割り箸を付けたりして加工 - 空きペットボトル
加圧するので、強炭酸水のものがいいと思います(600ml を使ってます)。 - サーボモーター
MiniS RB90 - タピオカストロー(4cmくらいに切る)
ダイソーで買ったものが笛の太さにちょうどよかったです。 - トリガレバー制御用針金
1/4W のカーボン被膜抵抗で代替、割り箸に巻きつけるだけだと弱かったので
巻いたところをはんだ付けしました。
笛吹き構造説明
まぁ見たまんまで、説明するほどの内容はないです。
ペットボトルに貯めた圧縮空気をトリガレバーを押して噴出すると、
タピオカ用ストローでつないだ笛に空気が流れて音が出ます。
トリガレバーがサーボモータでは少し制御しにくい構造だったので割り箸で伸ばして、
制御しやすくしました。
実体配線図と部品表:
実体配線図
(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 | ジャンパ線 | 13 | うち4本はスピーカー接続、6本はサーボモータ接続 |
8 | スピーカー | 2 | 「マザーボード用」として売ってたもの |
9 | サーボモータ | 2 | RB90, RB50 各1 (RB90 が 2個でもよい) |
10 | 抵抗の足 | 8 | 電源・GND 配線用 |
プログラムソース:
PicoMusicBox_20210815.zip ダウンロード
MITライセンスを適用(念のため解凍後 LICENSE.txt でご確認ください)
大雑把な説明
Python (MicroPython) で書いてます。
展開したら、srcs/ の7個の .py ファイルを Pico に書き込めば動きます。
PWMを4ch使っていて、
- 左スピーカーから直接 Beep 音を出す
- 右スピーカーから直接 Beep 音を出す
- サーボモータ制御で鈴をふる
- サーボモータ制御で加圧式霧吹きのトリガレバーを制御する
です。
タクトスイッチが押されると割り込みがかかります。
大雑把な使い方
- 赤のタクトスイッチで演奏開始・次の曲に進む
- 黒のタクトスイッチで演奏終了
- 白のタクトスイッチでBeep音のDuty比変更
です。
曲は、4曲入ってて(4曲とも著作権フリーです)
- Yankee Doodle(アルプス一万尺)アメリカ民謡
- When The Saints Go Marching In(聖者の行進)アメリカ民謡
- Le Piccadilly(ピカデリー)エリック・サティ作曲
- Неделька(一週間)ロシア民謡
です。
後日プログラムの説明を・・・(万一リクエストでもあればw)書くかもしれません。