Wikipedia

検索結果

Raspberry PiでLCD表示をスレッドにて起動させる

❖RasPiで表示が遅いLCD表示器をスレッドプロセスにて起動させる。

❍LCD表示器等は0.5秒程度の表示間隔にしないとちらつき等で鮮明に表示できない。
❍そのような場合、Main programとは別のスレッドプログラムとして登録する。
❍スレッドはMain programの実行状態を監視するようなプログラムとしても有効である。
""" threading LCD Display """
# -*- coding: utf-8 -*-
import threading
# LCD表示器モジュール import
from MyPackage.St7032ilcd import St7032iLCD
I2C_ADDR = 0x3e
lcd = St7032iLCD(I2C_ADDR)
#
lcd.clear()
lcd.set_cursor(7, 0)
lcd.print1('V')
lcd.set_cursor(7, 1)
lcd.print1('A')
#
def lcd_d():
    global values #ADCの電圧、電流データが16Bit整数で格納されている。
    pv_v = ('%2.2f' % ((values[0]-85)*0.001382)) #-84=OFFSET
    pv_a = ('%1.3f' % ((values[1]+41)*0.000124)) #+41=OFFSET
    lcd.set_cursor(0, 0)
    lcd.print1(pv_v + ' ') #電圧表示、+' 'はLCD最後備のごみ部分消去。
    lcd.set_cursor(0, 1)
    lcd.print1(pv_a + ' ')
######################################
    t = threading.Timer(0.5, lcd_d)#0.5=約500mSに1回LCDに表示。
    t.start()
######################################
    t1 = threading.Thread(target=lcd_d)
    t1.start()#ここでlcd_dのスレッドを0.5秒間隔でスタートさせる。
######################################
#
while True:
    Main program #Main programが実行中、LCD表示が0.5秒間隔で行われる。
                         #当然values[]はMain program内で更新されなければならない。

0 件のコメント:

コメントを投稿