OE1TKS

Pythonscript RaspBerry Relais mit DTMF Steuern V0.1
# -*- coding: utf-8 -*-
# OE1TKS Tom
 
import RPi.GPIO as GPIO
import time
 
GPIO.setmode(GPIO.BCM)
 
# definition input output mit Ports
dtmf=[4,5,6,7,8,9]
rel=[10,21,22,23,24,25,26,27,18,19,20]
 
for n in range(0,11):
    GPIO.setup(rel[n],GPIO.OUT,initial=True)
    print n,"Relais =",rel[n]
for n in range(0,6):
    GPIO.setup(dtmf[n],GPIO.IN)
    print n,"DTMF =",dtmf[n]
print ("STRG+C = Abbruch          ACHTUNG Rel IN mit OUT verkehrt")
 
# binär zu dezimal
try:
    while True:
        time.sleep(0.1)
        GPIO.output(rel[0],True)
        if GPIO.input(dtmf[0])==True:
            z=0
            if GPIO.input(dtmf[1])==True:
                z=1            
            if GPIO.input(dtmf[2])==True:
                z+=2
            if GPIO.input(dtmf[3])==True:
                z+=4
            if GPIO.input(dtmf[4])==True:
                z+=8   
#Relais 1-10 A B C D=aus
            if z < 11:           
                GPIO.output(rel[z],False)
            if z == 11:                 
                GPIO.output(rel[0],False)
            if z == 12:           
                GPIO.output(rel[0],False)
            if z == 13:           
                GPIO.output(rel[0],False)
            if z == 14:           
                GPIO.output(rel[0],False)
            if z == 15:           
                GPIO.output(rel[0],False)
            if z == 0:
                print " - - - - - - - - - - - - - - -"
                for n in range(0,11):
                    GPIO.output(rel[n],True)
                    time.sleep(0.1)
 
# Zeit und Ausgabe
            zeit = time.localtime()
            y = zeit.tm_year
            mo = zeit.tm_mon
            d = zeit.tm_mday
            h = zeit.tm_hour
            mi = zeit.tm_min
            s = zeit.tm_sec
            print z,"   ",y,mo,d," ",h,":",mi,":",s 
            time.sleep(1)
                
except KeyboardInterrupt: