<Python>Raspberry Pi でシフトレジスタ74HC595を使う
Raspberry Pi でシフトレジスタ74HC595を使うサンプルです。
回路図はこんな感じです。
こちらのライブラリーを使わせていただきました。
こんなに便利な情報がいつでも手に入るなんてありがたいです。
素人でも使えました。
本当にありがとうございます。
まずはインストールします。
pip3 install git+https://github.com/marsminds/shiftr_74HC595.git
プログラムはこんな感じ。
リストpatternsの中身を順番に出力します。
# -*- coding: utf-8 -*- import RPi.GPIO as GPIO from shiftr_74HC595.shiftr_74HC595 import ShiftRegister from time import sleep #数字を8bitバイナリーリストにする def list_bin(byte, degit): _high = 1 #GPIO.HIGH _low = 0 #GPIO.LOW bits=[] for i in range(degit): set_bit = _high if byte & (1 << i) else _low bits.append(set_bit) return bits if __name__ == '__main__': # GPIO.setmode(GPIO.BOARD) GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) shift_register = ShiftRegister(data_pin=21, latch_pin=20, clock_pin=19) patterns = [1,2,4,8,0x10,0x20,0x40,0x80,0x00,0x55,0xaa,0x55,0xaa,0x00] try: while True: for i in patterns: print (format(i, '02x'), end = "=") print (i) shift_register.setOutputs(list_bin(i,8)) shift_register.latch() sleep(0.5) except KeyboardInterrupt: shift_register.setOutputs(list_bin(0,8)) shift_register.latch() print ("Ctrl-C - quit") GPIO.cleanup()
実行するとLEDが点滅します。
抵抗内臓LEDを使用すると配線がすっきりします。
(左側に写っている基板は関係ありません)
ご使用に関しては自己責任でよろしくお願い申し上げます。
2021年2月にpaizaラーニングでPythonを受講しました。
コメントでアドバイスをいただけると幸いです。
↓ほしい物リスト↓