Pi-SPi Temperature Sensor HVAC KIT I/O Modules
Regular price
$0.00 USD
$79.95 USD
Sale
The Pi-SPi-8AI Temperature Sensor Kit is everything you need for a simple HVAC controller, just add your Raspberry Pi. The Pi-SPi-8AI is pre-configured for 2 x Thermistor Inputs, 2 x analog 4-20mA inputs and 4 x 0 to 6.6 VDC inputs. The kit includes:
- Qty 1 Pi-SPi-8AI I/O Module with thermistor inputs (fully assembled and tested)
- Qty 1 Pi-SPi-8KO Relay Output I/O Module
- Qty 1 40 Pin to 26 Pin Interface Cable for the RPi
- Qty 1 26 Pin to 26 Pin Interface Cable to connect the Pi-SPi's
- Qty 2 10K Thermistor Temperature Sensor with 36" wire leads
- Qty 1 Wall Mount Adapter 24 VDC Power Supply
Port Pins Used:
SPI-MOSI (GPIO10)
SPI-MISO (GPIO9)
SPI-SCK (GPIO11)
CS_8AI (GPIO7)
CS_8KO (GPIO8)
Features:
- Identical foot print to the RPi 4
- Each module has its own 3.3VDC LDO regulator operating from the RPi 5VDC bus
- No loading on the RPi 3.3VDC bus
- Terminal Blocks for Thermistor Inputs and Relay Contact Outputs
- LED indicators for power
- Dual GPIO connectors (left and right)
- MCP3208 A/D Converter with 12 bit resolution
- Each analog signal buffered (1/4 LM324 Op Amp)
- Analog Inputs 1 thru 2 are configured for Thermistor Inputs
- Modules are powered from the Raspberry Pi
- Separate 24 VDC input for Relay Module
Sample Python Code based on the Widgetlords libwidgetlords library
from time import sleep
from widgetlords.pi_spi import *
from widgetlords import *
init()
temp = Mod8AI()
relay = Mod8KO()
Heat_Setpoint = 20
Cool_Setpoint = 25
Differential = 2
Heat_Relay = 0
Cool_Relay = 1
while True:
t1_ad = temp.read_single(0)
t2_ad = temp.read_single(1)
t1_c = steinhart_hart(10000, 3380, 4095, t1_ad)
t2_c = steinhart_hart(10000, 3380, 4095, t2_ad)
print("Temp 1 = %0.1f" % t1_c)
print("Temp 2 = %0.1f" % t2_c)
# Heat Control based on T1 (A1)
if (t1_c < Heat_Setpoint):
relay.write_single(Heat_Relay,1)
else:
if(t1_c > (Heat_Setpoint + Differential)):
relay.write_single(Heat_Relay,0)
# Cool Control based on T1 (A1)
if (t1_c > Cool_Setpoint):
relay.write_single(Cool_Relay,1)
else:
if(t1_c < (Cool_Setpoint - Differential)):
relay.write_single(Cool_Relay,0)
print("")
sleep(0.5)
SaveSaveSaveSave