102 buzzer
サンプルコードの動作
JetsonのGPIOからPWM信号を出力し矩形波ドレミの音階を出力します。
サンプルコード使用時の接続
FaBo #102 buzzerをGPIO12(32pin),GPIO13(33pin) )に接続します。
JetsonからPWM信号を出力します。ハードウェアPWM信号でのピンは決まっておりFaBo519の場合は、PWM0とPWM2が利用可能となっており、以下を設定します。
docker 起動前に
以下を入力し
$sudo /opt/nvidia/jetson-io/jetson-io.py
Jetson Expansion Header Toolが起動します。
カーソルキー下を押してConfigure 40-pin expansion headerを選んでエンターキーを押します。
有効にしたいピン(pwm0または、pwm2)をカーソルとスペースキーで有効にします。選択が終わったらBack選んでエンターキーを押します。
Exitを選択してエンターキーで終了します。
ソースコード
import Jetson.GPIO as GPIO
import time
tempo = 120
onkai = {"C4":261.6, "C4#":277.2, "D4":293.7 ,"D4#":311.1,"E4":329.6,"F4":349.2,"F4#":370.0,"G4":392.0,"G4#":415.3,"A4":440.0,"A4#":466.2,"B4":493.9,"C5":523.3}
notename = ["C4","D4","E4","F4","G4","A4","B4","C5"]
GPIO.setmode(GPIO.BCM)
PIN = 12 #または13
GPIO.setup(PIN, GPIO.OUT)
buzzer = GPIO.PWM(PIN, 261.6)
buzzer.start(50)
print ("Play Start.")
for i in notename:
freq = onkai[i]
print (freq)
buzzer.ChangeFrequency(freq)
time.sleep(60/tempo)
buzzer.stop()
print ("Play Stop.")
GPIO.cleanup()