Hi
I am new to arduino,
I have written a code displayed on a nextion screen
it works 100% but it is slow to update the screen.
#include "Nextion.h"
#include <max6675.h>
#include <Wire.h>
// Setup Termocupler------------------------------------------------
int thermoDO = 9;
int thermoCLK = 10;
int thermoCS_1 = 11;
MAX6675 thermocouple_1(thermoCLK, thermoCS_1, thermoDO);
int temp1;
int maxtemp1 = 0;
//Max Boost------------------------------------------------
float boostBar;
float maxbar = 0;
//Max oil pressuer------------------------------------------------
float oilbar;
float oilmaxbar = 0;
// Setup Pins ------------------------------------------------------
int oilpin = 0;
int gaspin = 1;
int methpin = 2;
int boostpin = 3;
//page 1 -----------------------------------------
NexButton b0 = NexButton(1, 17, "b0");
NexProgressBar j2 = NexProgressBar(1, 17, "j1");
NexProgressBar j1 = NexProgressBar(1, 4, "j1");
NexProgressBar j0 = NexProgressBar(1, 1, "j0");
NexNumber n0 = NexNumber(1, 8, "n0");
NexNumber n1 = NexNumber(1, 12, "n1");
NexNumber n2 = NexNumber(1, 10, "n2");
NexNumber n3 = NexNumber(1, 11, "n3");
NexNumber n4 = NexNumber(1, 12, "n4");
NexNumber n5 = NexNumber(1, 13, "n5");
char buffer[100] = {0};
NexTouch *nex_listen_list[] =
{
&b0,
NULL
};
void setup() {
nexInit();
nexSerial.begin(115200);
//Serial.begin(9600);
}
void loop() {
nexLoop(nex_listen_list);
// BOOST ----------------------------------------------------
int sensorValue = analogRead(boostpin);
int psi = map(sensorValue, 120, 1023, 0, 90);
n1.setValue(psi);
psi = constrain(psi, 0, 44);
int mappsi = map(psi, 0, 44, 0, 100);
j1.setValue(mappsi);
boostBar = psi*0.0689475728;
//Read/print Max boost---------------------------------------------------------
if (psi > maxbar) maxbar = psi;
n4.setValue(maxbar);
// OIL Pressuer--------------------------------------------------
int oilsensorValue = analogRead(oilpin);
int oilpsi = map(oilsensorValue, 120, 1023, 0, 90);
oilbar = oilpsi*0.0689475728;
n2.setValue(oilpsi);
//Read/write Max Oil pressuer---------------------------------------------------------
if (oilpsi > oilmaxbar) oilmaxbar = oilpsi;
n5.setValue(oilmaxbar);
// EGT Temp read/write---------------------------------------------------------
temp1 = thermocouple_1.readCelsius();
n0.setValue(temp1);
//Serial.println(temp1);
// Read Max EGT Temp---------------------------------------------------------
if (temp1 > maxtemp1) maxtemp1 = temp1;
n3.setValue(maxtemp1);
// Gas Tank gauge -------------------------------------------------------------
int gassensorValue = analogRead(gaspin);
int gasgraf = map(gassensorValue, 0, 1023, 0, 100);
// Methanol Tank Guage -------------------------------------------------------
int methsensorValue = analogRead(methpin);
int methgraf = map(methsensorValue, 0, 1023, 0, 100);
}
Is there anything in the code I can change to make it faster, or can I do so that some of the measurements will run only every 4 time code run through?
Thanks for your time.