importtimefrom busio import I2C
from adafruit_seesaw.seesawimport Seesaw
from adafruit_seesaw.pwmoutimport PWMOut
from adafruit_motor import motor
import neopixel
import audioio
import board
print("The voyages of the CPX-1701!")# Create seesaw object
i2c = I2C(board.SCL, board.SDA)
seesaw = Seesaw(i2c)# Create one motor on seesaw PWM pins 22 & 23
motor_a = motor.DCMotor(PWMOut(seesaw,22), PWMOut(seesaw,23))# audio output
cpx_audio = audioio.AudioOut(board.A0)# neopixels!
pixels = neopixel.NeoPixel(board.NEOPIXEL,10, brightness=1)
pixels.fill((0,0,0))# give me a second before startingtime.sleep(1)
motor_a.throttle=0# warp drive off
f =open("01space.wav","rb")
wav = audioio.WaveFile(f)
cpx_audio.play(wav)
t =time.monotonic()# take a timestamp# slowly power up the dilithium crystalsfor i inrange(50):
pixels.fill((0,0, i))time.sleep(0.05)# 6 seconds after audio started...whiletime.monotonic() - t <6:
pass
motor_a.throttle=1# full warp drive on!# wait for music to endwhile cpx_audio.playing:
pass
f.close()# play the warp drive and theme music!
f =open("02warp.wav","rb")
wav = audioio.WaveFile(f)
cpx_audio.play(wav)time.sleep(1)# blast off!
pixels.fill((255,0,0))# pulse the warp corewhileTrue:
for i inrange(255,0, -5):
pixels.fill((i,0,0))for i inrange(0,255,5):
pixels.fill((i,0,0))# wait for music to endwhile cpx_audio.playing:
pass
f.close()
import time
from busio import I2C
from adafruit_seesaw.seesaw import Seesaw
from adafruit_seesaw.pwmout import PWMOut
from adafruit_motor import motor
import neopixel
import audioio
import board
print("The voyages of the CPX-1701!")
# Create seesaw object
i2c = I2C(board.SCL, board.SDA)
seesaw = Seesaw(i2c)
# Create one motor on seesaw PWM pins 22 & 23
motor_a = motor.DCMotor(PWMOut(seesaw, 22), PWMOut(seesaw, 23))
# audio output
cpx_audio = audioio.AudioOut(board.A0)
# neopixels!
pixels = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness=1)
pixels.fill((0, 0, 0))
# give me a second before starting
time.sleep(1)
motor_a.throttle = 0 # warp drive off
f = open("01space.wav", "rb")
wav = audioio.WaveFile(f)
cpx_audio.play(wav)
t = time.monotonic() # take a timestamp
# slowly power up the dilithium crystals
for i in range(50):
pixels.fill((0, 0, i))
time.sleep(0.05)
# 6 seconds after audio started...
while time.monotonic() - t < 6:
pass
motor_a.throttle = 1 # full warp drive on!
# wait for music to end
while cpx_audio.playing:
pass
f.close()
# play the warp drive and theme music!
f = open("02warp.wav", "rb")
wav = audioio.WaveFile(f)
cpx_audio.play(wav)
time.sleep(1)
# blast off!
pixels.fill((255, 0, 0))
# pulse the warp core
while True:
for i in range(255, 0, -5):
pixels.fill((i, 0, 0))
for i in range(0, 255, 5):
pixels.fill((i, 0, 0))
# wait for music to end
while cpx_audio.playing:
pass
f.close()
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey
“Kirk it.”