Merge pull request #308 from adafruit/TheKitty-patch-16
Create cold.py, passed Travis
This commit is contained in:
commit
f0725e6276
1 changed files with 51 additions and 0 deletions
51
Make_It_Hot_Cold/cold.py
Normal file
51
Make_It_Hot_Cold/cold.py
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import time
|
||||
from adafruit_crickit import crickit
|
||||
import board
|
||||
import neopixel
|
||||
|
||||
print("Peltier Module Demo")
|
||||
|
||||
pixels = neopixel.NeoPixel(board.NEOPIXEL, 10, auto_write=False)
|
||||
|
||||
def show_value(time_val):
|
||||
num_pixels = int(10-time_val)
|
||||
for i in range(num_pixels):
|
||||
pixels[i] = (10*(i+1), 0, 0)
|
||||
for i in range(num_pixels, 10):
|
||||
pixels[i] = (0, 0, 0)
|
||||
pixels.show()
|
||||
return
|
||||
|
||||
# For signal control, we'll chat directly with seesaw
|
||||
ss = crickit.seesaw
|
||||
TMP36 = crickit.SIGNAL1 # TMP36 connected to signal port 1 & ground
|
||||
POT = crickit.SIGNAL8 # potentiometer connected to signal port 8 & ground
|
||||
|
||||
peltier = crickit.dc_motor_2 # Drive the Peltier from Motor 2 Output
|
||||
|
||||
while True:
|
||||
|
||||
voltage = ss.analog_read(TMP36) * 3.3 / 1024.0
|
||||
tempC = (voltage - 0.5) * 100.0
|
||||
tempF = (tempC * 9.0 / 5.0) + 32.0
|
||||
|
||||
cool_value = ss.analog_read(POT) / 102.30 # convert 0.0 to 10.0
|
||||
|
||||
# timing can be zero or can be 1 second to 10 seconds
|
||||
# between 0 and 1 is too short a time for a Peltier module
|
||||
if cool_value < 0.2:
|
||||
cool_value = 0.0
|
||||
if cool_value >= 0.2 and cool_value < 1.0:
|
||||
cool_value = 1.0
|
||||
|
||||
print((tempF, cool_value))
|
||||
show_value(cool_value)
|
||||
|
||||
# Peltier cannot be PWM - either off or on
|
||||
# Use potentiometer read to set seconds b
|
||||
if cool_value > 0:
|
||||
peltier.throttle = 0.0 # turn off
|
||||
time.sleep(cool_value) # wait
|
||||
|
||||
peltier.throttle = 1.0 # turn on
|
||||
time.sleep(10.0 - cool_value) # wait
|
||||
Loading…
Reference in a new issue