Pi-SPi Temperature Sensor HVAC Kit

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