Skip to first unread message

Bryan Wilder

unread,
Apr 27, 2014, 12:00:10 PM4/27/14
to beagl...@googlegroups.com
I've combined a couple of tutorials I found on Adafruit to have a TMP36 sensor running with visual results shown through a RGB LED. If the temp exceeds a predefined temp then the light turns red, otherwise it stays green. After the loop runs 85 times the LED stops responding. I tried to incorporate PWM.cleanup() but that didn't help.

Any help would be appreciated.

import Adafruit_BBIO.ADC as ADC
import Adafruit_BBIO.PWM as PWM
import time

sensor_pin = 'P9_40'
red = "P8_13"
blue = "P8_19"
green = "P9_14"

PWM.start(red, 100)
PWM.start(blue, 100)
PWM.start(green, 100)
count = 0
ADC.setup()
PWM.cleanup()

while True:
    reading = ADC.read(sensor_pin)
    millivolts = reading * 1800  # 1.8V reference = 1800 mV
    temp_c = (millivolts - 500) / 10
    temp_f = (temp_c * 9/5) + 32
    PWM.start(green, 100)   # reset green light off
    PWM.start(red, 100)     # reset red light off
    PWM.start(blue,100)     # reset blue light off

    count = count + 1

    if temp_f < 82:
        print('Normal Temp -- (COUNT=%d) Celcius=%d; Fahrenheit=%d' % (count, temp_c, temp_f))
        PWM.start(green, 0)

    else:
        print('DANGER -- TOO HOT (COUNT=%d) Celcius=%d; Fahrenheit=%d' % (count, temp_c, temp_f))
        PWM.start(red, 0)

    time.sleep(1)

Reply all
Reply to author
Forward
0 new messages