Adafruit_Learning_System_Gu.../Motion_Gift_Box/code.py
Mike Barela c01457ca3c
Update code.py
Travis issues:

Using config file /home/travis/build/adafruit/Adafruit_Learning_System_Guides/.pylintrc
************* Module code
Motion_Gift_Box/code.py 8: Trailing whitespace (trailing-whitespace)
Motion_Gift_Box/code.py 23: Trailing whitespace (trailing-whitespace)
Motion_Gift_Box/code.py 32: Trailing whitespace (trailing-whitespace)
Motion_Gift_Box/code.py 45: Trailing whitespace (trailing-whitespace)
Motion_Gift_Box/code.py 5: standard import "import random" should be placed before "import audioio" (wrong-import-order)
2018-11-13 11:46:56 -05:00

50 lines
1.5 KiB
Python

import time
import random
import audioio
import board
import neopixel
from adafruit_crickit import crickit
# NeoPixels on the Circuit Playground Express
pixels = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness=0.3)
pixels.fill(0) # Off to start
# PIR sensor on signal #1
PIR_SENSOR = crickit.SIGNAL1
crickit.seesaw.pin_mode(PIR_SENSOR, crickit.seesaw.INPUT)
# Set audio out on speaker
speaker = audioio.AudioOut(board.A0)
audio_files = ["evillaugh3.wav", "laugh.wav"]
# One motor
motor_1 = crickit.dc_motor_1
motor_1.throttle = 0 # off to start
while True:
pixels.fill(0)
print("Waiting for trigger")
while not crickit.seesaw.digital_read(PIR_SENSOR):
pass
print("PIR triggered")
pixels.fill((100, 0, 0)) # NeoPixels red
# Start playing the file (in the background)
audio_file = open(random.choice(audio_files), "rb") # muahaha
wav = audioio.WaveFile(audio_file)
speaker.play(wav)
# move motor back and forth for 3 seconds total
timestamp = time.monotonic()
while time.monotonic() - timestamp < 3:
motor_1.throttle = 1 # full speed forward
time.sleep(0.25 + random.random()) # random delay from 0.25 to 1.25 seconds
motor_1.throttle = -1 # full speed backward
time.sleep(0.25 + random.random()) # random delay from 0.25 to 1.25 seconds
motor_1.throttle = 0 # stop!
# wait for audio to stop
while speaker.playing:
pass
# clean up and close file
audio_file.close()