/ Yoga_Pose_Chime / code.py
code.py
 1  # SPDX-FileCopyrightText: 2020 John Park for Adafruit Industries
 2  #
 3  # SPDX-License-Identifier: MIT
 4  
 5  # Yoga pose timer
 6  # Requires CLUE with solenoid transistor driver circuit
 7  
 8  import time
 9  import board
10  from digitalio import DigitalInOut, Direction
11  from adafruit_clue import clue
12  from adafruit_slideshow import SlideShow, PlayBackDirection
13  
14  pose_time = 30  # choose the time to hold each pose in seconds
15  
16  solenoid = DigitalInOut(board.D2)  # pad #2 on CLUE driving a MOSFET
17  solenoid.direction = Direction.OUTPUT
18  solenoid.value = False
19  
20  def chime(repeat):
21      for _ in range(repeat):
22          solenoid.value = True
23          time.sleep(0.03)
24          solenoid.value = False
25          time.sleep(0.25)
26  
27  slideshow = SlideShow(clue.display, None, folder="/icons", auto_advance=False)
28  
29  while True:
30      if clue.proximity > 10:
31          time.sleep(1)
32          chime(1)
33          time.sleep(pose_time)
34          chime(2)
35          slideshow.direction = PlayBackDirection.FORWARD
36          slideshow.advance()
37  
38      if clue.button_b:  # skip ahead
39          slideshow.direction = PlayBackDirection.FORWARD
40          slideshow.advance()
41  
42      if clue.button_a:  # skip back
43          slideshow.direction = PlayBackDirection.BACKWARD
44          slideshow.advance()