2017 멀티캠퍼스/Python
[Raspberry Pi/Python] 현재 시간 FND에 출력하기
꿈꾸는어린이
2018. 1. 16. 18:55
일시 : 2018.01.16
내용 : 프로젝트 기능 1. 현재 날짜를 FND에 출력
//
★★ 라즈베리파이 시간 설정 실패
$ sudo raspi-config를 이용해 라즈베리파이 내의 시간설정 시도했으나 변경 실패
$timedatectl 명령으로 현재 날짜 확인.
현재 시간을 나타내는 코드
라즈베리파이의 현재 시간을 받아와서 리스트에 저장 후 return
import time
def timeCheck():
while True :
now = time.localtime()
time_list = []
now_hour = str(now.tm_hour)
if len(now_hour) == 1:
time_list.append(0)
time_list.append(now_hour)
elif len(now_hour) == 2:
for i in range(0, len(now_hour)):
time_list.append(now_hour[i])
time_list.append("")
time_list.append("")
now_min = str(now.tm_min)
if len(now_min) == 1:
time_list.append(0)
time_list.append(now_min)
elif len(now_min) == 2:
for i in range(0, len(now_min)):
time_list.append(now_min[i])
return time_list
main 함수
import smbus2 as smbus
import time
from time_class import *
bus = smbus.SMBus(1)
addr = 0x20
config_port = 0x06
out_port = 0x02
data = (0xFC,0x60,0xDA,0xF2,0x66,0xB6,0x3E,0xE0,0xFE,0xF6)
digit = (0x7F, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB)
out_disp = 0
try:
bus.write_word_data(addr, config_port, 0x0000)
##timeCheck()에서 return 받은 리스트를 저장
time_list = []
##return받은 리스트의 상태 변화를 확인하기 위해 사용
tmp = []
while True:
time_list = timeCheck()
if tmp != time_list :
tmp = time_list
print("now time : %s%s시 %s%s분" % (tmp[0], tmp[1], tmp[4], tmp[5]))
for i in range(0, 6):
if tmp[i] == "":
continue
out_disp = data[int(tmp[i])] << 8 | digit[i]
bus.write_word_data(addr, out_port, out_disp)
time.sleep(0.0000000005)
except KeyboardInterrupt:
pass