uuu000

18_06_2024_pw000d_43_005

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