import machine from machine import Pin, ADC import DS18B20 as dsb import time import ne555 as ne import math import display import sys def dane(vpr='Potrdi(d/n)->'): str=input(vpr) if str=='d': return True else: return False try: display.init() from display import oled except: print('Napaka OLED!') if dane('Resetiram(d/n)->'): machine.reset() oled.text('OLED deluje!',0,0) oled.show() #Offline firmware za Vremensko postajo PTIT FE 2017 try: svet=ADC(0) #svetloba pin12=tipka=Pin(12, Pin.IN) #tipka pin13=statusled=Pin(13, Pin.OUT) #status LED pin15=alertled=Pin(15, Pin.OUT ) #alert LED except: print('Napaka I/O!') if dane('Resetiram(d/n)->'): machine.reset() oled.text('I/O postavljen!',0,10) oled.show() try: dsb.setup(0) except: print('Napaka Temp. senzorja!') if dane('Resetiram(d/n)->'): machine.reset() oled.text('TS postavljen!',0,20) oled.show() time.sleep(1) oled.fill(0) oled.text('<-------------->', 0, 15) oled.text('', 0, 25) oled.text('<-------------->', 0, 35) oled.text(' !Pozdravljeni! ', 0, 50) oled.show() time.sleep_ms(750) oled.fill(0) oled.text('Tipka menja',0,0) oled.text('casovne razmike',0,10) oled.text('med meritvami',0,20) oled.text('0.25/0.5/1/2/10s',0,30) oled.text('7x tipka=izhod',0,40) oled.show() time.sleep(4) oled.fill(0) oled.show() statusled.value(1) alertled.value(0) def konec(p): exit=1 sleeptime=15 count=0 def setsleep(x): global sleeptime global count if count>6: exit=3 if sleeptime==15: sleeptime=0.25 elif sleeptime==0.25: sleeptime=0.5 elif sleeptime==0.5: sleeptime=1 elif sleeptime==1: sleeptime=2 elif sleeptime==2: sleeptime=15 else: sleeptime=15 time.sleep_ms(15) count=count+1 tipka.irq(trigger=Pin.IRQ_FALLING, handler=setsleep) exit=0 temp=0 svetloba=0 def acq(): oled.text('BUSY...',70,55) alertled.value(1) oled.show() oled.fill(0) global sleeptime try: temp=dsb.read_temp() except: print('Napaka v branju temperature!') temp='NAPAKA' finally: oled.text('T: ' + str(temp) + 'C',15,10) try: svetloba=svet.read() except: print('Napaka v branju svetlobe!') svetloba='NAPAKA' finally: oled.text('S: ' + str(svetloba) + ' enot',15,20) try: vlaga=ne.main() except: print('Napaka v branju vlage!') vlaga='NAPAKA' finally: oled.text('RH: ' + str(vlaga) +' Hz', 15, 30) oled.text('NodeMCU Senzor',0,0) oled.text('Uptime: ' + str(time.time()) + 's',5,45) oled.text('S: ' + str(sleeptime) + 's',0,55) oled.show() alertled.value(0) while exit<1: if count>6: exit=3 count=0 acq() time.sleep(sleeptime) oled.fill(0) oled.text('<-------------->', 0, 15) oled.text('', 0, 25) oled.text('<-------------->', 0, 35) oled.text(' !Nasvidenje! ', 0, 50) oled.show() time.sleep(1.5) oled.poweroff()