Загрузка данных
import os
import time
import math
from smbus import SMBus
import board
import adafruit_bmp280
i2c = board.I2C()
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c,address=0x76)
BS1 = float(0); BS2 = float(0); BS3 = float(0); BS4 = float(0); BS5 = float(0); BS6 = float(0); BS7 = float(0); BS8 = float(0); BS9 = float(0); BS10 = float(0); BS11 = float(0); BS12 = float(0)
BS13 = float(0); BS14 = float(0); BS15 = float(0); BS0 = float(0); BS21 = float(0)
x = int(0)
B0 = int; B1 = int; B2 = int; B3 = int; B4 = int; B5 = int; B6 = int; B7 = int #analog parametr: 0-255 = 0-3.3v
P = float(111250); T = float(925) #davlenie and temp furm ABSOL(P = Pfp+Patm),T*K
Pdv = float(116325); Tdv = float(288 )# (Pdv = Pst+Patm),Tdv*K Pdv,Tdv-absoluthoe davl i temp pered holodnoy shayboy
q1 = int
Sf = float
Q = float
R1 = float(51000)
R2 = float(10000)
K = float(0.0004022); #0,0004022 for 91mm 0,0003021 FOR 80mm
bus = SMBus(1)
i2c = board.I2C()
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c,address=0x76)
Patm = bmp280.pressure * 100; PatmHg = 0.00750063*Patm; PatmHg = int(PatmHg)
t = bmp280.temperature
while True:
if x < 20:
address = 0x48
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus.write_byte(address,A1)
B1 = bus.read_byte(address)
bus.write_byte(address,A2)
B2 = bus.read_byte(address)
bus.write_byte(address,A3)
B3 = bus.read_byte(address)
bus.write_byte(address,A0)
B4 = bus.read_byte(address)
address = 0x49
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus.write_byte(address,A1)
B5 = bus.read_byte(address)
bus.write_byte(address,A2)
B6 = bus.read_byte(address)
bus.write_byte(address,A3)
B7 = bus.read_byte(address)
bus.write_byte(address,A0)
B8 = bus.read_byte(address)
address = 0x4A
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus.write_byte(address,A1)
B9 = bus.read_byte(address)
bus.write_byte(address,A2)
B10 = bus.read_byte(address)
bus.write_byte(address,A3)
B11 = bus.read_byte(address)
bus.write_byte(address,A0)
B12 = bus.read_byte(address)
address = 0x4B
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus.write_byte(address,A1) #davlenie pered holod shayboy
B13 = bus.read_byte(address)
bus.write_byte(address,A2) #davl furm kollek
B14 = bus.read_byte(address)
bus.write_byte(address,A3) #temp furm kollek
B15 = bus.read_byte(address)
bus.write_byte(address,A0) #perepad na holodn shayboy
B0 = bus.read_byte(address)
address = 0x4C
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus.write_byte(address,A1)
B21 = bus.read_byte(address) #Temp na holodh shaybe Tdv
bus.write_byte(address,A2)
B22 = bus.read_byte(address)
bus.write_byte(address,A3)
B23 = bus.read_byte(address)
bus.write_byte(address,A0)
B20 = bus.read_byte(address)
BS1 = BS1 + B1; BS2 = BS2 + B2; BS3 = BS3 + B3; BS4 = BS4 + B4; BS5 = BS5 + B5; BS6 = BS6 + B6; BS7 = BS7 + B7; BS8 = BS8 + B8; BS9 = BS9 + B9; BS10 = BS10 + B10; BS11 = BS11 + B11; BS12 = BS12 + B12
BS13 = BS13 + B13; BS14 = BS14 + B14; BS15 = BS15 + B15; BS0 = BS0 + B0; BS21 = BS21 + B21
x = x + 1
time.sleep(0.01)
else:
x = x - 1
B1 = BS1 / x; B2 = BS2 / x; B3 = BS3 / x; B4 = BS4 / x; B5 = BS5 / x; B6 = BS6 / x; B7 = BS7 / x; B8 = BS8 / x; B9 = BS9 / x; B10 = BS10 / x; B11 = BS11 / x; B12 = BS12 / x
B13 = BS13 / x; B14 = BS14 / x; B15 = BS15 / x; B0 = BS0 / x; B21 = BS21 / x
BS1 = 0; BS2 = 0; BS3 = 0; BS4 = 0; BS5 = 0; BS6 = 0; BS7 = 0; BS8 = 0; BS9 = 0; BS10 = 0; BS11 = 0; BS12 = 0
BS13 = 0; BS14 = 0; BS15 = 0; BS0 = 0; BS21 = 0
u = R2 / (R2 + R1)
vout1 = 3.3 * B1 / 255; vout2 = 3.3 * B2 / 255; vout3 = 3.3 * B3 / 255; vout4 = 3.3 * B4 / 255; vout5 = 3.3 * B5 / 255; vout6 = 3.3 * B6 / 255; vout7 = 3.3 * B7 / 255; vout8 = 3.3 * B8 / 255
vout9 = 3.3 * B9 / 255; vout10 = 3.3 * B10 / 255; vout11 = 3.3 * B11 / 255; vout12 = 3.3 * B12 / 255
vout0 = 3.3 * B0 / 255; vin0 = vout0 / u; vout13 = 3.3 * B13 / 255; vin13 = vout13 / u; dp0 = 700 * vin0; Pst = 2500 * vin13; Patm = (bmp280.pressure)*100; Pdv = Pst + Patm
vout21 = 3.3 * B21 / 255; vin21 = vout21 / u; Tdv = 15 * vin21 - 50; Tdv = int(Tdv); TdvK = Tdv + 273
D0 = dp0 * Pdv / TdvK; G0 = 0.002038 * (math.sqrt(D0))
vout14 = 3.3 * B14 / 255; vin14 = vout14 / u; Pfp = 2500 * vin14; P = Pfp + Patm; P = int(P); PH2O = 0.1*Pfp; PH2O = int(PH2O); Pfp = int(Pfp)
vout15 = 3.3 * B15 / 255; vin15 = vout15 / u; T = 94 * vin15 - 40; T = int(T); TK = T + 273 #T*C,TK* absol (kelvin)
vin1 = vout1 / u; vin2 = vout2 / u; vin3 = vout3 / u; vin4 = vout4 / u; vin5 = vout5 / u; vin6 = vout6 / u; vin7 = vout7 / u; vin8 = vout8 / u
vin9 = vout9 / u; vin10 = vout10 / u; vin11 = vout11 / u; vin12 = vout12 / u
dp1 = 500 * vin1; dp2 = 500* vin2; dp3 = 500 * vin3; dp4 = 500 * vin4; dp5 = 500 * vin5; dp6 = 500 * vin6; dp7 = 500 * vin7; dp8 = 500 * vin8
dp9 = 500 * vin9; dp10 = 500 * vin10; dp11 = 500 * vin11; dp12 = 500 * vin12
D1 = dp1 * P / TK; D2 = dp2 * P / TK; D3 = dp3 * P / TK; D4 = dp4 * P / TK; D5 = dp5 * P / TK; D6 = dp6 * P / TK; D7 = dp7 * P / TK; D8 = dp8 * P / TK
D9 = dp9 * P / TK; D10 = dp10 * P / TK; D11 = dp11 * P / TK; D12 = dp12 * P / TK
G1 = K * (math.sqrt(D1)); G2 = K * (math.sqrt(D2)); G3 = K * (math.sqrt(D3)); G4 = K * (math.sqrt(D4)); G5 = K * (math.sqrt(D5))
G6 = K * (math.sqrt(D6)); G7 = K * (math.sqrt(D7)); G8 = K * (math.sqrt(D8))
G9 = K * (math.sqrt(D9)); G10 = K * (math.sqrt(D10)); G11 = K * (math.sqrt(D11)); G12 = K * (math.sqrt(D12))
q1 = G1 * 3600 / 1.292; q2 = G2 * 3600 / 1.292; q3 = G3 * 3600 /1.292; q4 = G4 * 3600 / 1.292; q5 = G5 * 3600 / 1.292; q6 = G6 * 3600 / 1.292; q7 = G7 * 3600 / 1.292; q8 = G8 * 3600 / 1.292
q9 = G9 * 3600 / 1.292; q10 = G10 * 3600 / 1.292; q11 = G11 * 3600 / 1.292; q12 = G12 *3600 / 1.292
q1 = int(q1); q2 = int(q2); q3 = int(q3); q4 = int(q4); q5 = int(q5); q6 = int(q6); q7 = int(q7); q8 = int(q8); q9 = int(q9); q10 = int(q10); q11 = int(q11); q12 = int(q12)
Sf = q1 + q2 + q3 + q4 + q5 + q6 + q7 + q8 + q9 + q10 + q11 + q12; Q = G0 * 3600 / 1.292; Q = int(Q); Q = Q + 1
AQ = Q - Sf ; DQ = 100 * AQ / Q; DQ = int(DQ)
#time.sleep(1.0)x
#names = [ 'B0','B2' ,'B3' ,'B4' , 'B5' , 'B6' ,'B7' ]
#i2c = board.I2C()
#bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c,address=0x76)
print('\33[2J')
#print(' B1' '',x,' ' 'B2' '',B2,' ' 'B3' '',B3,' ' 'B4' '',B4,' ' 'B5' ' ',B5,' ''B6' ' ',B6,' ''B7' '',B7,' ''B8'' ',B8) #sep=' ; ', end=' \r' )
#print('\33[2J')
print( ' ''Pfp:%0.0f Pa'%Pfp,' ' , '= ''',PH2O,'' 'mmH2O' ' '' T=',T,'*C' )
print( ' ' , 'Sf = ',Sf,'' 'nm3/h' ' '' Tdv=',Tdv,'*c')
print( ' ')
print( ' ''q1',' ''q2',' ''q3',' ''q4',' ''q5',' ''q6',' ''q7',' ''q8',' ''q9',' ' 'q10',' ''q11',' ''q12')
print( ' ')
print( ' ' ,q1,' ',q2,' ',q3,' ' ,q4, ' ',q5,' ',q6,' ',q7,' ',q8,' ',q9,' ',q10,' ',q11,' ',q12, ) #, sep=' ; ', end=' \r')
#print( ' ' ,B0,' ',B2,' ',B3,' ',B4,' ',B5,' ',B6,' ',B7,' ',B8,' ',B9,' ',B10,' ',B11,' ',B12, )
#print( ' ' ,vin1,' ',vin2,' ',vin3,' ',vin4,' ',vin5,' ',vin6,' ',vin7,' ',vin8,' ',vin9,' ',vin10,' ',vin11,' ',vin12,)
#print( ' ' ,dp1,' ',dp2,' ',dp3,' ',dp4,' ',dp5,' ',dp6,' ',dp7,' ',dp8,' ',dp9,' ',dp10,' ',dp11,' ',dp12, )
print( ' ')
print( ' ','Q = ',Q,'' 'nm3/h'' ','AQ = ',AQ,'' 'nm3/h'' ' ,'DQ =',DQ,'' '%'' ','Patm:%0.0fmmHg'%PatmHg,'', ' t:%0.0f*C'%t,)
print( ' ')
print( ' ')
print( ' ')
print( ' ')
print( ' ')
print( ' ')
print( ' ')
print( ' ', sep=' ; ',end=' \r')
x = 0
time.sleep(2.0)