CM3-Home

Dry contact inputs

The CM3-Home board has two inputs designed for mechanical contact like switches or push-buttons. This article illustrates how to use them.

The contacts are available on screw terminals. Each contact can be closed on a single common line.

The input lines are opto-isolated from the CPU side and are in the same "electrical domain" of the RS485 ports.

The GPIOs used are:

  • GPIO 28: Left side contact #1. When closed the GPIO level is low
  • GPIO 29: Right side contact #2. When closed the GPIO level is low

Python example

This example reads the input #1 and #2 state and turn-on the left or right relays when closed.

import RPi.GPIO as GPIO
import time

INP_LEFT=28
INP_RIGHT=29
RELAY_LEFT=21
RELAY_RIGHT=22


GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(INP_LEFT,GPIO.IN)
GPIO.setup(INP_RIGHT,GPIO.IN)
GPIO.setup(RELAY_LEFT,GPIO.OUT)
GPIO.setup(RELAY_RIGHT,GPIO.OUT)

while True:
    if GPIO.input(INP_LEFT):
        GPIO.output(RELAY_LEFT,GPIO.LOW)
    else:
        GPIO.output(RELAY_LEFT,GPIO.HIGH)

    if GPIO.input(INP_RIGHT):
        GPIO.output(RELAY_RIGHT,GPIO.LOW)
    else:
        GPIO.output(RELAY_RIGHT,GPIO.HIGH)

eShop

EUR 130.00


CM3-HOME-B - CM3-Home board basic edition

CM3-Home board basic edition

| Product description || CM3-Home catalog |

EUR 330.00


CM3-HOME-F - CM3-Home board full edition

CM3-Home board full edition

| Product description || CM3-Home catalog |

Author:
Sergio Tanzilli - tanzilli@acmesystems.it
http://www.tanzolab.it - http://www.tanzilli.com - https://github.com/tanzilli