uuu000

18_06_2024_pw000d_43_008

Jun 18th, 2024
529
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.15 KB | None | 0 0
  1.       #include "EasyNextionLibrary.h"  // Include EasyNextionLibrary
  2.       #include <MsTimer2.h>
  3.       EasyNex myNex(Serial);
  4.       #define MEASURE_PERIOD 1000
  5.       // uint16_t u=1000;
  6.       int timeCount;               // счетчик времени
  7.       float sum;
  8.       long sum1;
  9.       long  val1;              // переменные для суммирования кодов АЦП
  10.     float vale;  
  11.       float val;               // сумма кодов АЦП (среднее значение * 500)
  12.       boolean flagReady;
  13.       boolean i;
  14.   long value,value1;
  15.  
  16.   //-------------------------------------------------
  17.        
  18.          int Number_read ;
  19.         int Number_read1 ;
  20.         int Number_read2 ;
  21.         int Number_read3 ;
  22.         int Number_read4 ;  
  23.    
  24.       void setup(){
  25.  
  26.   myNex.begin(9600); // Begin the object with a baud rate of 9600
  27.  
  28. MsTimer2::set(1, timerInterupt);  // прерывания по таймеру, период 1 мс
  29.  MsTimer2::start();                // разрешение прерывания
  30.  
  31.  pinMode(3, OUTPUT);   // The built-in LED is initialized as an output          
  32.   digitalWrite(3, LOW); // Setting the built-in LED to LOW = off
  33.    pinMode(4, OUTPUT);   // The built-in LED is initialized as an output          
  34.   digitalWrite(4, LOW); // Setting the built-in LED to LOW = off
  35.   pinMode(5, OUTPUT);   // The built-in LED is initialized as an output          
  36.   digitalWrite(5, LOW); // Setting the built-in LED to LOW = off
  37.    pinMode(6, OUTPUT);   // The built-in LED is initialized as an output          
  38.   digitalWrite(6, LOW); // Setting the built-in LED to LOW = off
  39.    pinMode(7, OUTPUT);   // The built-in LED is initialized as an output          
  40.   digitalWrite(7, LOW); // Setting the built-in LED to LOW = off
  41.  
  42. }
  43.  
  44. // обработка прерывания 1 мс
  45. void timerInterupt() {
  46.  
  47.   timeCount++;            // +1 счетчик выборок усреднения
  48.   sum += analogRead(A1);  // суммирование кодов АЦП
  49.   sum1 += analogRead(A0);  
  50.  
  51.   // проверка числа выборок усреднения
  52.   if (timeCount >= MEASURE_PERIOD) {
  53.     timeCount = 0;
  54.     val = sum;  // перегрузка среднего значения
  55.   val1 = sum1;
  56.     sum = 0;
  57.    sum1 = 0;
  58.  
  59.     flagReady = true;  // признак результат измерений готов
  60.   }
  61.  
  62.  
  63. }
  64. //-------------------------------------
  65.     void loop() {
  66.         myNex.NextionListen();  
  67.    
  68.         if (flagReady == true) {
  69.     flagReady = false;
  70.  vale=val/1000;
  71.     float data = mapf(vale, 0, 1023.0, 0, 5.0);//--------------------------------------------
  72.    long value = (data*1000)/8.8;
  73.    long value1 = val/1000;
  74.       //------------------------------------------
  75.     myNex.writeNum("main.n2.val",val1/1000);
  76.     myNex.writeNum("page2.x0.val",value);
  77.     myNex.writeStr("0xFF");
  78. myNex.writeStr("0xFF");
  79. myNex.writeStr("0xFF");
  80.    myNex.writeStr("main.click n2,1");
  81.    myNex.writeStr("page2.click x0,1");
  82.        myNex.writeStr("0xFF");
  83. myNex.writeStr("0xFF");
  84. myNex.writeStr("0xFF");    
  85. // myNex.writeNum("main.n1.val", (val / 1000));
  86. myNex.writeNum("page2.n1.val", (val / 1000));
  87.     myNex.writeStr("0xFF");
  88. myNex.writeStr("0xFF");
  89. myNex.writeStr("0xFF");
  90. //  myNex.writeStr("main.click n1,1");
  91.  myNex.writeStr("page2.click n1,1");  
  92.      myNex.writeStr("0xFF");
  93. myNex.writeStr("0xFF");
  94. myNex.writeStr("0xFF");
  95.   delay (100);
  96.       }
  97.   //---------------------------------------------------------
  98.   Number_read = myNex.readNumber("n0.val");
  99.   Number_read = myNex.readNumber("n0.val");
  100.    Number_read1 = myNex.readNumber("n3.val");
  101.   Number_read1 = myNex.readNumber("n3.val");
  102.    Number_read2 = myNex.readNumber("n4.val");
  103.   Number_read2 = myNex.readNumber("n4.val");
  104.   Number_read3 = myNex.readNumber("n6.val");
  105.   Number_read3 = myNex.readNumber("n6.val");
  106.    Number_read4 = myNex.readNumber("n7.val");
  107.   Number_read4 = myNex.readNumber("n7.val");
  108.      
  109.      
  110.      if(Number_read==1)
  111.       {
  112.         digitalWrite(3, HIGH);
  113.         }
  114.        else
  115.        {
  116.         digitalWrite(3, LOW);
  117.         }
  118. //-------------------------------------
  119.          if(Number_read1==1)
  120.       {
  121.         digitalWrite(4, HIGH);
  122.         }
  123.        else
  124.        {
  125.         digitalWrite(4, LOW);
  126.         }
  127. //------------------------------------
  128.           if(Number_read2==1)
  129.       {
  130.         digitalWrite(5, HIGH);
  131.         }
  132.        else
  133.        {
  134.         digitalWrite(5, LOW);
  135.         }
  136. //--------------------------------------
  137.          if(Number_read3==1)
  138.       {
  139.         digitalWrite(6, HIGH);
  140.       //  i=1;
  141.         }
  142.        else
  143.        {
  144.         digitalWrite(6, LOW);
  145.        //  i=0;
  146.         }
  147. //-------------------------------------
  148.          if(Number_read4==1)
  149.       {
  150.         digitalWrite(7, HIGH);
  151.         }
  152.        else
  153.        {
  154.         digitalWrite(7, LOW);
  155.         }
  156. }
  157. float mapf(float value, float fromLow, float fromHigh, float toLow, float toHigh) {
  158.   float result;
  159.   result = (value - fromLow) * (toHigh - toLow) / (fromHigh - fromLow) + toLow;
  160.   return result;
  161. }//-------------------------------------------------
  162.  
  163.  
  164.  
Advertisement
Add Comment
Please, Sign In to add comment