def ScreenOutput(TopLine, BottomLine): wiringpi2.lcdClear(lcdHandle) wiringpi2.lcdPosition(lcdHandle, lcdCol, lcdRow) wiringpi2.lcdPrintf(lcdHandle, TopLine) wiringpi2.lcdPosition(lcdHandle, lcdCol, lcdRow + 1) wiringpi2.lcdPrintf(lcdHandle, BottomLine)
def __init__(self): wp.wiringPiSetup() #left 23017, for audio wp.mcp23017Setup( PB1,0x20) for pin in OUTPUT_PINS_1: wp.pinMode(pin,OUTPUT) for pin in INPUT_PINS_1: wp.pinMode(pin, INPUT) #right 23017 for 230v switching wp.mcp23017Setup( PB2,0x21) for pin in OUTPUT_PINS_2: wp.pinMode(pin,OUTPUT) for pin in INPUT_PINS_2: wp.pullUpDnControl(pin,PUD_UP) wp.pinMode(pin, INPUT) #display wp.digitalWrite(70,0) # write mode self.display1 = wp.lcdInit(2,16,8, 71,69,72,73,74,75,76,77,78,79) #connected to first expander wp.lcdClear(self.display1) #pwm driver self.pwm = PWM() self.pwm.setPWMFreq(200)
def printlcd(self): if conf.lcdput.empty() == True: strstatus = ['off' for i in range(len(self.valve_ob))] for r in range(len(self.valve_ob)): if int(self.valve_ob[r].read('valve')) == 1: strstatus[r] = 'on ' else: strstatus[r] = 'off' stringLCD0 = ''.join(['1-', strstatus[0], ' 2-', strstatus[1]]) stringLCD1 = ''.join(['3-', strstatus[2], ' 4-', strstatus[3]]) stringLCD2 = '' stringLCD3 = datetime.now().strftime('%H:%M:%S %d-%m') if (tm.time() - self.timeclear) > 10: wpi.lcdHome(self.lcd_ob) tm.sleep(0.005) wpi.lcdClear(self.lcd_ob) tm.sleep(0.005) self.timeclear = tm.time() # conf.lcd = wpi.lcdInit( # 4, 16, 4, # conf.RS, conf.E, conf.DB4, conf.DB5, conf.DB6, conf.DB7, # 0,0,0,0 # ) # self.lcd_ob = conf.lcd wpi.lcdPosition(self.lcd_ob, 0, 0) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD0) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, 0, 1) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD1) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, -4, 2) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD2) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, -4, 3) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD3) tm.sleep(0.005) elif conf.lcdput.get() == 'restart': wpi.lcdHome(self.lcd_ob) tm.sleep(0.005) wpi.lcdClear(self.lcd_ob) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, 0, 0) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, 'RIAVVIO') tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, 0, 1) while True: wpi.lcdPuts(self.lcd_ob, '*') tm.sleep(0.5) else: pass
def showSensors(): global lcdFD global datas while True: threadLock.acquire() lst = datas threadLock.release() for x in xrange(0, len(lst)): wiringpi.lcdClear(lcdFD) data1 = lst[x] wiringpi.lcdPosition(lcdFD, 0, 0) wiringpi.lcdPrintf(lcdFD, "%s:" % (data1["name"])) wiringpi.lcdPosition(lcdFD, 0, 1) wiringpi.lcdPrintf(lcdFD, "%s%s" % (data1["data"], data1["symbol"])) time.sleep(5)
def showSensors(): global lcdFD global datas while True: threadLock.acquire() lst = datas threadLock.release() for x in xrange(0, len(lst)): wiringpi.lcdClear(lcdFD) data1 = lst[x] wiringpi.lcdPosition(lcdFD, 0,0) wiringpi.lcdPrintf(lcdFD,"%s:"%(data1["name"])) wiringpi.lcdPosition(lcdFD, 0,1) wiringpi.lcdPrintf(lcdFD,"%s%s"%(data1["data"],data1["symbol"])) time.sleep(5)
wiringpi.digitalWrite(E, OFF) wiringpi.digitalWrite(F, OFF) wiringpi.digitalWrite(G, OFF) wiringpi.digitalWrite(H, OFF) wiringpi.digitalWrite(ONE, OFF) wiringpi.digitalWrite(TWO, OFF) wiringpi.digitalWrite(THR, OFF) wiringpi.digitalWrite(FOU, OFF) wiringpi.digitalWrite(FIV, OFF) wiringpi.digitalWrite(SIX, OFF) wiringpi.digitalWrite(SEV, OFF) wiringpi.digitalWrite(EIG, OFF) wiringpi.digitalWrite(WHI, OFF) wiringpi.digitalWrite(BLA, OFF) # LCD_RS = 83 # LCD_EN = 84 # LCD_D4 = 85 # LCD_D5 = 86 # LCD_D6 = 87 # LCD_D7 = 88 lcd = wiringpi.lcdInit(2, 16, 4, LCD_RS, LCD_EN, LCD_D4, LCD_D5, LCD_D6, LCD_D7, 0, 0, 0, 0) wiringpi.lcdHome(lcd) wiringpi.lcdClear(lcd) wiringpi.lcdPosition(lcd, 0, 0) wiringpi.lcdPuts(lcd, "oh yeah!") wiringpi.lcdPosition(lcd, 0, 1) wiringpi.lcdPuts(lcd, "it works!")
def displayWrite(self,string): string=string[0:32] #GF.log("writing "+string+" to lcd",'D') wp.lcdClear(self.display1) wp.lcdHome(self.display1) wp.lcdPrintf(self.display1, string)
while True: # stop it trashing the CPU time.sleep(0.1) elapsed_time = 0 if GPIO.event_detected(buttonPin): start_time = time.time() while (GPIO.input(buttonPin)): time.sleep(0.2) elapsed_time = time.time() - start_time if (elapsed_time > shutdown): logging.info('Shutting down... (Elapsed time: ' + str(elapsed_time)[:4] + ')') os.system("kill $(pgrep -f RPizeBox.py)") wp.lcdClear(lcd) wp.lcdPosition(lcd, 0, 0) wp.lcdPuts(lcd,shutdownMessage[0][:16]) wp.lcdPosition(lcd, 0, 1) wp.lcdPuts(lcd,shutdownMessage[1][:16]) os.system("shutdown -h now +1") break #ignore knocks but reboot if proper press if (elapsed_time > accidental and elapsed_time <= shutdown): logging.info('Rebooting... (Elapsed time: ' + str(elapsed_time)[:4] + ")") os.system("kill $(pgrep -f RPizeBox.py)") wp.lcdClear(lcd) wp.lcdPosition(lcd, 0, 0) wp.lcdPuts(lcd,rebootMessage[0][:16]) wp.lcdPosition(lcd, 0, 1)
# # ######################### reset/reboot button ######################### # Best used in another script since it takes 30s to initialise # os.chdir(os.path.dirname(os.path.realpath(__file__))) os.system("python buttonWatch.py &") ########################### 16 x 2 display ############################ # set up the 16x2 display - 4 bit to save pins - apparently slower but marginal # https://projects.drogon.net/raspberry-pi/wiringpi/lcd-library/ wp.wiringPiSetup(); lcd = wp.lcdInit (2, 16, 4, 11,10 , 0,1,2,3,0,0,0,0) wp.lcdClear(lcd) # clear the lcd wp.lcdPosition(lcd, 0, 0) # cursor to start of row ################################# LMS ################################ # connect to the LMS sc = Server(hostname=getExternalIP("eth0"), port=RPizeBox.scPort, username=RPizeBox.scUser, password=RPizeBox.scPassword) # log in to the LMS server - can't do much until that has happened. while RPizeBox.loggedin != True: try: sc.connect() #throws ugly error if LMS not there RPizeBox.loggedin = sc.logged_in logging.debug('Success: Logged in to LMS.') except: logging.debug('LMS not there. Trying again in %i seconds.' % RPizeBox.logInWait) wp.lcdPosition(lcd, 0, 0)
# stop it trashing the CPU time.sleep(0.1) elapsed_time = 0 if GPIO.event_detected(buttonPin): start_time = time.time() while (GPIO.input(buttonPin)): time.sleep(0.2) elapsed_time = time.time() - start_time if (elapsed_time > shutdown): logging.info('Shutting down... (Elapsed time: ' + str(elapsed_time)[:4] + ')') os.system("kill $(pgrep -f RPizeBox.py)") wp.lcdClear(lcd) wp.lcdPosition(lcd, 0, 0) wp.lcdPuts(lcd, shutdownMessage[0][:16]) wp.lcdPosition(lcd, 0, 1) wp.lcdPuts(lcd, shutdownMessage[1][:16]) os.system("shutdown -h now +1") break #ignore knocks but reboot if proper press if (elapsed_time > accidental and elapsed_time <= shutdown): logging.info('Rebooting... (Elapsed time: ' + str(elapsed_time)[:4] + ")") os.system("kill $(pgrep -f RPizeBox.py)") wp.lcdClear(lcd) wp.lcdPosition(lcd, 0, 0) wp.lcdPuts(lcd, rebootMessage[0][:16])
def lcd_clear(): wiringpi2.lcdClear(lcdHandle)
def draw_lcd(lcd_line1, lcd_line2): wiringpi2.lcdClear(lcdHandle) wiringpi2.lcdPosition(lcdHandle, lcdCol, lcdRow) wiringpi2.lcdPrintf(lcdHandle, lcd_line1[:LCD_COL]) wiringpi2.lcdPosition(lcdHandle, lcdCol, lcdRow + 1) wiringpi2.lcdPrintf(lcdHandle, lcd_line2[:LCD_COL])
def clearlcd(self): wpi.lcdHome(self.lcd_ob) tm.sleep(0.005) wpi.lcdClear(self.lcd_ob) tm.sleep(0.005)