Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "EasyNextionLibrary.h" // Include EasyNextionLibrary
- #include <MsTimer2.h>
- EasyNex myNex(Serial);
- #define MEASURE_PERIOD 1000
- // uint16_t u=1000;
- int timeCount; // счетчик времени
- float sum,sum1; // переменные для суммирования кодов АЦП
- float vale;
- float val; // сумма кодов АЦП (среднее значение * 500)
- boolean flagReady;
- boolean i;
- long value,value1;
- //-------------------------------------------------
- int Number_read ;
- int Number_read1 ;
- int Number_read2 ;
- int Number_read3 ;
- int Number_read4 ;
- void setup(){
- myNex.begin(9600); // Begin the object with a baud rate of 9600
- MsTimer2::set(1, timerInterupt); // прерывания по таймеру, период 1 мс
- MsTimer2::start(); // разрешение прерывания
- pinMode(3, OUTPUT); // The built-in LED is initialized as an output
- digitalWrite(3, LOW); // Setting the built-in LED to LOW = off
- pinMode(4, OUTPUT); // The built-in LED is initialized as an output
- digitalWrite(4, LOW); // Setting the built-in LED to LOW = off
- pinMode(5, OUTPUT); // The built-in LED is initialized as an output
- digitalWrite(5, LOW); // Setting the built-in LED to LOW = off
- pinMode(6, OUTPUT); // The built-in LED is initialized as an output
- digitalWrite(6, LOW); // Setting the built-in LED to LOW = off
- pinMode(7, OUTPUT); // The built-in LED is initialized as an output
- digitalWrite(7, LOW); // Setting the built-in LED to LOW = off
- }
- // обработка прерывания 1 мс
- void timerInterupt() {
- timeCount++; // +1 счетчик выборок усреднения
- sum += analogRead(A1); // суммирование кодов АЦП
- // проверка числа выборок усреднения
- if (timeCount >= MEASURE_PERIOD) {
- timeCount = 0;
- val = sum; // перегрузка среднего значения
- sum = 0;
- flagReady = true; // признак результат измерений готов
- }
- }
- //-------------------------------------
- void loop() {
- myNex.NextionListen();
- if (flagReady == true) {
- flagReady = false;
- vale=val/1000;
- float data = mapf(vale, 0, 1023.0, 0, 5.0);//--------------------------------------------
- long value = (data*1000)/8.8;
- long value1 = val/1000; //------------------------------------------
- myNex.writeNum("main.x0.val",value);
- myNex.writeNum("page0.x0.val",value);
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- myNex.writeStr("main.click x0,1");
- myNex.writeStr("page0.click x0,1");
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- myNex.writeNum("main.n1.val", (val / 1000));
- myNex.writeNum("page0.n1.val", (val / 1000));
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- myNex.writeStr("main.click n1,1");
- myNex.writeStr("page0.click n1,1");
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- myNex.writeStr("0xFF");
- delay (100);
- }
- //---------------------------------------------------------
- Number_read = myNex.readNumber("n2.val");
- Number_read = myNex.readNumber("n2.val");
- Number_read1 = myNex.readNumber("n3.val");
- Number_read1 = myNex.readNumber("n3.val");
- Number_read2 = myNex.readNumber("n4.val");
- Number_read2 = myNex.readNumber("n4.val");
- Number_read3 = myNex.readNumber("n6.val");
- Number_read3 = myNex.readNumber("n6.val");
- Number_read4 = myNex.readNumber("n7.val");
- Number_read4 = myNex.readNumber("n7.val");
- if(Number_read==1)
- {
- digitalWrite(3, HIGH);
- }
- else
- {
- digitalWrite(3, LOW);
- }
- //-------------------------------------
- if(Number_read1==1)
- {
- digitalWrite(4, HIGH);
- }
- else
- {
- digitalWrite(4, LOW);
- }
- //------------------------------------
- if(Number_read2==1)
- {
- digitalWrite(5, HIGH);
- }
- else
- {
- digitalWrite(5, LOW);
- }
- //--------------------------------------
- if(Number_read3==1)
- {
- digitalWrite(6, HIGH);
- // i=1;
- }
- else
- {
- digitalWrite(6, LOW);
- // i=0;
- }
- //-------------------------------------
- if(Number_read4==1)
- {
- digitalWrite(7, HIGH);
- }
- else
- {
- digitalWrite(7, LOW);
- }
- }
- float mapf(float value, float fromLow, float fromHigh, float toLow, float toHigh) {
- float result;
- result = (value - fromLow) * (toHigh - toLow) / (fromHigh - fromLow) + toLow;
- return result;
- }//-------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment