i2c 7segを繋ごうと思ったら、CentOSが入ってた。
# uname -a
Linux rpi2 4.1.11-v7+ #822 SMP PREEMPT Fri Oct 23 16:22:18 BST 2015 armv7l armv7l armv7l GNU/Linux
# cat /etc/centos-release
CentOS Linux release 7.7.1908 (AltArch)
i2cの設定がされてなかった。。。
以下設定内容
/boot/config.txt
dtparam=i2c1=on
dtparam=i2c_arm=on
/etc/modules-load.d/i2c.conf
i2c-bcm2708
i2c-dev
# yum install -y i2c-tools
で、見えた
# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
python script 動いた
# cat ./ht16k33_7seg_cpu-temp.py
#!/usr/bin/env python
import time
from Adafruit_LED_Backpack import SevenSegment
def get_cpu_temp():
    with open("/sys/class/thermal/thermal_zone0/temp", "r") as f:
        t=f.read()
    return int(t)/1000
segment = SevenSegment.SevenSegment(address=0x70)
segment.begin()
print "Press CTRL+Z to exit"
while(True):
  cpu_temp=get_cpu_temp()
#  print cpu_temp
  segment.clear()
  segment.set_digit(0, int(cpu_temp / 10))
  segment.set_digit(1, cpu_temp % 10, decimal=True)
  segment.set_digit(2, 'C')
  segment.set_digit(3, '-')
  segment.set_colon(0)
  segment.write_display()
  time.sleep(0.25)
0 件のコメント:
コメントを投稿