BLOGTIMES
2018/04/14

ラズパイの GPIO で圧電ブザーを鳴らすには

  python  raspberrypi 
このエントリーをはてなブックマークに追加

先日の自作 IC カードリーダーは読み取り部分がほぼ完成したので、カードを読み取ったことがユーザーにわかりやすいようにブザーをつけることにしました。

倉庫からブザーを探してきて、試しに鳴らしてみようと電圧をかけてみるもののうんともすんともいわずに困ってしまいました。プログラミングはともかく、電子回路については専門じゃないのが丸出しですね。

これについて調べてみると、このブザーは圧電振動板と呼ばれるものらしく、交流じゃないと鳴らないようです。簡単に言えばスピーカーですよね。発振回路がついていないのでちょっと面倒ですが、好きな音程で鳴らすことができるのがこのブザーのメリットです。

デジタル回路でアナログ的なことをするためには PWM 制御ということで、RPi.GPIO を使った PWM に挑戦してみました。やり方については「raspberry-gpio-python / Wiki / PWM」に詳しく解説されているので、簡単です。

とりあえずプログラムとしてはこんな感じでしょうか。

#!/usr/bin/python # -*- coding: utf-8 -*- import time import RPi.GPIO as GPIO chan= 21 freq = 8000 GPIO.setmode(GPIO.BCM) GPIO.setup(chan, GPIO.OUT) # ピピッと鳴る pwm = GPIO.PWM(chan, freq) pwm.start(50) time.sleep(0.2) p.stop() time.sleep(0.02) pwm.start(50) time.sleep(0.2) p.stop() GPIO.cleanup()

正直、変なところでハマったので、IC カードの読み取りよりも時間がかかってしまいました


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10106
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン