Atak Geschrieben August 3, 2012 at 21:50 Share Geschrieben August 3, 2012 at 21:50 Temperature Sensor Using the io16 and temperature bricklet along with with a master brick from Tinkerforge, I have created a simple temperature sensor project which outputs its' readings to LEDs on a breadboard. The red LED lights up during warmer temperatures and the yellow LED lights up during cooler temperatures. #!/usr/bin/env python # -*- coding: utf-8 -*- # Temperature Sensor using IO16 and Temperature bricklets import os HOST = "localhost" PORT = 4223 UID = "xXx" # Change to your UID for IO16 bricklet UID2 = "xXx" # Change to your UID for Temperature bricklet from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_io16 import IO16 from tinkerforge.bricklet_temperature import Temperature ipcon = IPConnection(HOST, PORT) # Create IP connection to brickd io = IO16(UID) # Create device object ipcon.add_device(io) def cb_temperature(temperature): running = True while running: temp = str(temperature/100.0) if str(2650) < temp: io.set_port_configuration('b', 1 << 0, 'o', False) # Set pin 0 on port b to output low io.set_port_configuration('b', 1 << 7, 'o', True) # Set pin 7 on port b to output high os.system('clear') # use 'clr' with Windows print 'Hot' # display status print (str(temperature/100.0) + ' °C') # get reading return elif str(2650) > temp: io.set_port_configuration('b', 1 << 0, 'o', True) # Set pin 0 on port b to output high io.set_port_configuration('b', 1 << 7, 'o', False) # Set pin 7 on port b to output low os.system('clear') print 'Cold' # display status print (str(temperature/100.0) + ' °C') # get reading return else: print 'Reading' return if __name__ == "__main__": t = Temperature(UID2) # Create device object ipcon.add_device(t) # Add device to IP connection # Don't use device before it is added to a connection # Set Period for temperature callback to 1s (1000ms) # Note: The callback is only called every second if the # temperature has changed since the last call! t.set_temperature_callback_period(1000) # Register temperature callback to function cb_temperature t.register_callback(t.CALLBACK_TEMPERATURE, cb_temperature) raw_input('Press key to exit\n') # Use input() in Python 3 ipcon.destroy() Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Atak Geschrieben August 3, 2012 at 22:22 Autor Share Geschrieben August 3, 2012 at 22:22 photo Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.