EasyManua.ls Logo

Freenove Ultimate Starter Kit - Page 186

Freenove Ultimate Starter Kit
286 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Chapter 17 74HC595 & LEDBar Graph
186
www.freenove.com
support@freenove.com
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
MSBFIRST = 2
#define the pins connect to 74HC595
dataPin = 11 #DS Pin of 74HC595(Pin14)
latchPin = 13 #ST_CP Pin of 74HC595(Pin12)
clockPin = 15 #SH_CP Pin of 74HC595(Pin11)
def setup():
GPIO. setmode(GPIO.BOARD) # Number GPIOs by its physical location
GPIO. setup(dataPin, GPIO. OUT)
GPIO. setup(latchPin, GPIO. OUT)
GPIO. setup(clockPin, GPIO. OUT)
# shiftOut function, use bit serial transmission.
def shiftOut(dPin,cPin,order,val):
for i in range(0,8):
GPIO.output(cPin,GPIO.LOW);
if(order == LSBFIRST):
GPIO.output(dPin,(0x01&(val>>i)==0x01) and GPIO.HIGH or GPIO.LOW)
elif(order == MSBFIRST):
GPIO.output(dPin,(0x80&(val<<i)==0x80) and GPIO.HIGH or GPIO.LOW)
GPIO.output(cPin,GPIO.HIGH);
def loop():
w hile Tr ue:
x= 0x01
for i in range(0,8):
GPIO.output(latchPin,GPIO.LOW) #Output low level to latchPin
shiftOut(dataPin,clockPin,LSBFIRST,x)#Send serial data to 74HC595
GPIO.output(latchPin,GPIO.HIGH)#Output high level to latchPin, and 74HC595
will update the data to the parallel output port.
x<<=1# make the variable move one bit to left once, then the bright LED move
one step to the left once.
time.sleep(0.1)
x= 0x80
for i in range(0,8):
GPIO.output(latchPin,GPIO.LOW)
shiftOut(dataPin,clockPin,LSBFIRST,x)
GPIO.output(latchPin,GPIO.HIGH)
x>>=1
time.sleep(0.1)
def destroy(): # When 'Ctrl+C' is pressed, the function is executed.
GPIO. cleanup()
if __name__ == '__main__': # Program starting from here

Table of Contents