error says list object is not callable here is the code
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
segments = [7,11,12,13,15,16,18,22]
digits = [29,31,32,33,35,36,37,38]
dcount = 7
ncount = 0
for segment in segments:
GPIO.setup(segment,GPIO.OUT)
GPIO.output(segment,0)
for digit in digits:
GPIO.setup(digit,GPIO.OUT)
GPIO.output(digit,1)
'''
bit segment
0 middle
1 bottom right
2 decimal
3 bottom
4 bottom left
5 top right
6 top left
7 top
'''
one = [0,0,0,0,0,0,0,1]
two = [1,0,0,1,1,1,0,1]
three = [1,1,0,1,0,1,0,1]
four = [1,1,0,0,0,1,1,0]
five = [1,1,0,1,0,0,1,1]
six = [0,1,0,1,1,0,1,1]
seven = [0,1,0,0,0,1,0,1]
eight = [1,1,0,1,1,1,1,1]
nine = [1,1,0,0,0,1,1,1]
zero = [0,1,0,1,1,1,1,1]
def one1():
for segment in range(0,8):
if one[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def two1():
for segment in range(0,8):
if two[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def three1():
for segment in range(0,8):
if three[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def four1():
for segment in range(0,8):
if four[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def five1():
for segment in range(0,8):
if five[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def six1():
for segment in range(0,8):
if six[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def seven1():
for segment in range(0,8):
if seven[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def eight1():
for segment in range(0,8):
if eight[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def nine1():
for segment in range(0,8):
if nine[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
def zero1():
for segment in range(0,8):
if zero[segment] == 1:
GPIO.output(segments[segment],1)
else:
GPIO.output(segments[segment],0)
numbers = {0:zero1,1:one1,2:two,3:three1,4:four1,5:five1,6:six1,7:seven1,8:eight1,9:nine1}
for digit1 in range(0,80):
GPIO.output(digits[dcount],0)
numbers[ncount]()
ncount = ncount + 1
if ncount == 10:
ncount = 0
time.sleep(1)
error says list object is not callable here is the code
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD)
segments = [7,11,12,13,15,16,18,22] digits = [29,31,32,33,35,36,37,38] dcount = 7 ncount = 0 for segment in segments: GPIO.setup(segment,GPIO.OUT) GPIO.output(segment,0) for digit in digits: GPIO.setup(digit,GPIO.OUT) GPIO.output(digit,1)
''' bit segment 0 middle 1 bottom right 2 decimal 3 bottom 4 bottom left 5 top right 6 top left 7 top '''
one = [0,0,0,0,0,0,0,1] two = [1,0,0,1,1,1,0,1] three = [1,1,0,1,0,1,0,1] four = [1,1,0,0,0,1,1,0] five = [1,1,0,1,0,0,1,1] six = [0,1,0,1,1,0,1,1] seven = [0,1,0,0,0,1,0,1] eight = [1,1,0,1,1,1,1,1] nine = [1,1,0,0,0,1,1,1] zero = [0,1,0,1,1,1,1,1]
def one1(): for segment in range(0,8): if one[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def two1(): for segment in range(0,8): if two[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def three1(): for segment in range(0,8): if three[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def four1(): for segment in range(0,8): if four[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def five1(): for segment in range(0,8): if five[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def six1(): for segment in range(0,8): if six[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def seven1(): for segment in range(0,8): if seven[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def eight1(): for segment in range(0,8): if eight[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def nine1(): for segment in range(0,8): if nine[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) def zero1(): for segment in range(0,8): if zero[segment] == 1: GPIO.output(segments[segment],1) else: GPIO.output(segments[segment],0) numbers = {0:zero1,1:one1,2:two,3:three1,4:four1,5:five1,6:six1,7:seven1,8:eight1,9:nine1} for digit1 in range(0,80): GPIO.output(digits[dcount],0) numbers[ncount]() ncount = ncount + 1 if ncount == 10: ncount = 0 time.sleep(1)