(3)笛機能追加「Pico オルゴール」

Raspberry PI Pico オルゴール(3)笛機能追加

注意事項

すみません。最初に注意事項です。
この工作は、(百均の霧吹き用の器具とはいえ)ペットボトルに加圧するので、
たぶん多少は危険だと思います。
この記事を見て同じものや類似のものを作っていただくのは、もちろん構わないのですが、
万一事故が起きても当方は責任をもてませんので、自己責任でお願いいたします。
特に、

  • キズのあるペットボトルとか使わないでください。
  • 何十回も同じペットボトルを使うとかしないでください。
  • 「これでもかぁ」って感じで加圧しすぎないでください。

笛機能

前回「お囃子機能」と、うたわせていただきましたが、
太鼓(?)と鈴だけで、そう「笛」抜きで「お囃子」というのは、おこがましい感じがしたので・・・
ひな祭りの歌の「五人囃子の笛太鼓」を字面の通りに解釈しただけです。
って、説明するほどの話じゃないですが・・・
(-_-)/~~~ピシー!ピシー!

というわけで、 Raspberry PI Pico (以下、Pico)オルゴールのお囃子機能をさらに強化し!!!
「笛」 機能を追加しました。
まぁ見てもらった方が早いです。

動画
画像クリックで、YouTube動画が開きます。

主な追加部品

  • 笛(ホイッスル)
    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)書くかもしれません。