Raspberry Pi (3) Motion Sensor
モーションセンサー(人感センサー)を使って、人が近づくと、LED点灯、猫がなくのような動作をする。
モーションセンサーはHC-SR501を利用する。繋げは簡単な3本結線のみ。電源2本と、真ん中データ一本はGPIO26に接続する。
点灯LEDはGPIO6に接続する。
猫の音声は、AppInventor のHalloPurrから流用。ファイルは ./Music/meow.mp3 に置く。
Raspberry Piのpythonパッケージにはpygameというモジュールがデフォルトでインストールされているそうです。それを利用して、猫の音声を再生する。
動作プログラム
#!/usr/local/bin/python # -*- coding: utf-8 -*- import time import RPi.GPIO as GPIO import pygame.mixer # LEDのGPIOピンの番号、センサーのGPIOピンの番号 let_pin = 6 pir_pin = 26 sleeptime = 100000 led_light_up_time = 1 GPIO.setmode(GPIO.BCM) GPIO.setup(pir_pin, GPIO.IN) GPIO.setup(let_pin, GPIO.OUT) GPIO.output(let_pin, GPIO.LOW) pygame.mixer.init() pygame.mixer.music.load("./Music/meow.mp3") def motion_detected(pir_pin): print "検知" # 点灯 GPIO.output(let_pin, GPIO.HIGH) pygame.mixer.music.play(1) # 待機 time.sleep(led_light_up_time) # 消灯 GPIO.output(let_pin, GPIO.LOW) # コールバック登録 GPIO.add_event_detect(pir_pin, GPIO.RISING, callback=motion_detected) try: while True: print "App Start" print "ctrl+c : if you want to stop app" time.sleep(sleeptime) except KeyboardInterrupt: print "Quit" finally: print "clean up" GPIO.cleanup() pygame.mixer.music.stop()
参考
- http://qiita.com/Nyanpy/items/cb4ea8dc4dc01fe56918 – Raspberry Piでwav/mp3ファイルを再生する方法(python編)
- http://raspi.seesaa.net/article/417437441.html – Raspberry Piに赤外線センサーを付けて、動きを検知してみた