52801point0 / 5280-1.0

1 stars 1 forks source link

8digit7segdisplaytest #2

Open 52801point0 opened 7 years ago

52801point0 commented 7 years ago

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)

52801point0 commented 7 years ago

where is says numberncount in my code it is numbers[ncount]()