最終更新日
記事公開日

【ラズパイPico】テーブルサッカーに「ゴォォーーール!」の音声を付けてみた

ゴォォーーール!」の音声を付けるためのラズパイPicoを使った回路

DFPlayer miniとCDS(光センサ)を使って、テーブルサッカーに音声を付けてみました。

ボールがゴールに入ると、「ゴォォーーール!」という声が鳴ります。

配線・回路図

DFPlayer miniとCDS(光センサ)を使って、テーブルサッカーに音声を付けるための配線・回路図
全体の配線写真
回路写真

使用パーツ

プログラム(MicroPython)

# ハードウェア関連のライブラリを読み込み
import machine

# 時間関連のライブラリを読み込み
import utime

# UART初期設定(UART番号,クロックレート,TXピン:GP4/6Pin,RXピン:GP5/7Pin)
uart = machine.UART(1,baudrate=9600,tx = machine.Pin(4),rx = machine.Pin(5))

# GP17(22Pin)を出力ピンに設定、プルダウン(初期値):0
led = machine.Pin(17, machine.Pin.OUT,machine.Pin.PULL_DOWN)

# ADC0(31Pin)・ADC1(32Pin)をADC変換ピンに設定
cds1 = machine.ADC(0)
cds2 = machine.ADC(1)

# 永久リピート
while True:
    
    # read_u16() ・・・アナログ値を読込み[0-65535]の整数を返す関数
    # 16bit・2進数の最大値:1111111111111111 ⇒ 10進数の最大値:65535
    # 3.3/65535の意味:電圧の最大値3.3Vを、65535という数値にあてはめるための計算
    adc1 = cds1.read_u16() * (3.3 / 65535)
    adc2 = cds2.read_u16() * (3.3 / 65535)
    
    # 0.3V以下のとき実行
    if adc1 < 0.3 or adc2 < 0.3:
        
        # シリアルデータの作成(一曲だけを再生)
        sdata = bytearray([0x7E,0xFF,0x06,0x03,0x00,0x00,0x02,0xEF])

        # シリアルデータの送信
        uart.write(sdata)
        
        # 6秒wait
        utime.sleep(6)

技術解説

各パーツの基本解説は、過去記事をご覧ください。

光センサーは直列2個ずつ繋ぎ、合計4個使用しています。。

直列に繋いだ光センサーのどちらかにボールが当たると、電圧が下がります。

それが音声を発するトリガーとなっています。

テーブルサッカーに取り付けたCDS(光センター)
CDS(光センサ)の裏側配線

追記

照明の明るさやボールの位置によっては誤作動を起こす場合があります。

もっと精度の高い検知を行うには、赤外線LEDを使用した方法がオススメです↓

【通過センサ】赤外線LEDで物体の通行を検知する

この記事のURLをコピー

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

関連情報

運営者プロフィール
コダマ

職業はIT系フリーランス。過去、電子配線業務の経験が10年ある為、はんだづけも得意です。宮崎県在住、30代・2児の父親。

プロが教える!イチからわかるハンダ付けのコツ(工学社)の著者です。

カテゴリー