Загрузка данных


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)