11.4 DTMF Control
from contextlib import closing
import sys
import RPi.GPIO as GPIO
from time import sleep
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7,GPIO.IN) # Configure the pin d4 as input pin
GPIO.setup(11,GPIO.IN) # Configure the pin d3 as input pin
GPIO.setup(15,GPIO.IN) # Configure the pin d2 as input pin
GPIO.setup(26,GPIO.IN) # Configure the pin d1 as input pin
GPIO.setup(22,GPIO.OUT)
GPIO.setup(18,GPIO.OUT)
GPIO.setup(24,GPIO.OUT)
GPIO.setup(16,GPIO.OUT)
GPIO.output(22,False)
GPIO.output(18,False)
while 1:
if(GPIO.input(15)&~GPIO.input(26)&~GPIO.input(11)&~GPIO.input(7)):
print('forward') # Output by DTMF decoder to RPi-0010
GPIO.output(22,True)
GPIO.output(16,True)
GPIO.output(18,False)
GPIO.output(24,False)
elif(GPIO.input(11)&~GPIO.input(26)&~GPIO.input(15)&~GPIO.input(7)):
print('left') # Output by DTMF decoder to RPi-0100
GPIO.output(22,False)
GPIO.output(24,True)
GPIO.output(16,True)
GPIO.output(18,False)
elif(GPIO.input(11)&~GPIO.input(26)&GPIO.input(15)&~GPIO.input(7)):
print('right') # Output by DTMF decoder to RPi-0110
GPIO.output(22,True)
GPIO.output(24,False)
GPIO.output(16,False)
GPIO.output(18,True)
elif(GPIO.input(11)&GPIO.input(26)&GPIO.input(15)&~GPIO.input(7)):
print('stop') # Output by DTMF decoder to RPi-0111
GPIO.output(22,False)
GPIO.output(24,False)
GPIO.output(16,False)
GPIO.output(18,False)
elif(~GPIO.input(11)&~GPIO.input(26)&~GPIO.input(15)&GPIO.input(7)):
print('reverse') # Output by DTMF decoder to RPi-1000
GPIO.output(22,False)
GPIO.output(24,True)
GPIO.output(16,False)
GPIO.output(18,True)
else:
print('enter valid input')