はじめに
こんにちは。
この記事は Kojirock1一人 Advent Calendar 2019の7日目の記事です。
今回も、事前に買った初心者キットに入っていたものを使いながら色々遊んでみます。
今回は7セグメントディスプレイというやつを使ってみます。
こちらは、ぐぐると参考になる日本語記事が見つかったので、今回はこちらのサイトをを参考にさせてもらいながら、やってみます。
やってみた
早速つなげてみました。
コードは参考サイトのものを拝借しました。
import RPi.GPIO as GPIO import time pins = [11,12,13,15,16,18,22,7] dats = [0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x80] def setup(): GPIO.setmode(GPIO.BOARD) for pin in pins: GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW) def writeOneByte(val): GPIO.output(11, val & (0x01 << 0)) GPIO.output(12, val & (0x01 << 1)) GPIO.output(13, val & (0x01 << 2)) GPIO.output(15, val & (0x01 << 3)) GPIO.output(16, val & (0x01 << 4)) GPIO.output(18, val & (0x01 << 5)) GPIO.output(22, val & (0x01 << 6)) GPIO.output(7, val & (0x01 << 7)) def loop(): while True: for dat in dats: writeOneByte(dat) time.sleep(0.5) def destroy(): for pin in pins: GPIO.output(pin, GPIO.LOW) GPIO.cleanup() if __name__ == '__main__': setup() try: loop() except KeyboardInterrupt: destroy()
実際に動かしてみました!
0〜Fまでの16進数でカウントアップされてまた0からカウントアップされています。
正常に動きました!!
終わりに
今回は参考サイトがあったので助かりましたw
結構コードも、なんというか頑張るコードを書かないと行けない感じで、だんだんつらみが出てきました。
現場からは以上です。