Hello everyone
I have 5 steps and each 5 steps has its own 5 steps. For example;
Step1
x
x^2
x^3
x^4
x^5
.
.
.
.
.
Step5
x
x^2
x^3
x^4
x^5
And for every each Steps (1,2..,5) i have input from serial like;
1 = 65 0 1 0 ffff ffff ffff
2 = 65 0 2 0 ffff ffff ffff
.
.
5 = 65 0 5 0 ffff ffff ffff
And for every inner Steps (x,x^2,...,x^5) i have input frome serial like;
for Step1 ( x ) = 65 1 1 0 ffff ffff ffff
for Step1 ( x^2 ) = 65 1 2 0 ffff ffff ffff
.
.
for Step2 ( x ) = 65 2 1 0 ffff ffff ffff
for Step2 ( x^2) = 65 2 2 0 ffff ffff ffff
.
.
.
.
for Step5(x^5) = 65 5 5 0 ffff ffff ffff
So i have no problem about reading serial and processing. What i need to do is choosing these steps by one by and at the end they should printed all together.
For example, first i'll choose Step1, in Step1, x^3. second i'll choose Step2, in Step2, x^2 and x^4. It goes like that till the have serial input ( 65 0 6 0 ffff ffff ffff ). After i got this serial input, i need to see on the Serial monitor what i choose.
Should i save the results in Array ?, do i need to use interrupts ? or etc... I need an idea. How can i solve this problem ?
Thank You
/*Code i wrote.*/
/**********************************************************************/
/* Program gets data from Nextion Touch Screen and processing */
/**************************************************************/
#include <SoftwareSerial.h>
#include <Nextion.h>
SoftwareSerial nextion(2, 3); // Nextion Tx to 3, Rx to 2
Nextion myNextion(nextion, 9600); // Create a Nextion object named myNextion using the nextion serial port @ 9600bps
int x = 5; // Number that powered
int stp1,stp2,stp3,stp4,stp5; // Steps Results
void setup() {
Serial.begin(9600); // Start serial communication
myNextion.init(); // Initialize nextion
}
void loop() {
String message = myNextion.listen(); // Check for message
if(message != ""){ // If a message is received
Serial.println(message);
}
}
/* Functions*/
/**********************************************************/
/*IF STEP 1 CHOOSEN */
int step1(){
String message = myNextion.listen(); // Check for message
if(message != ""){ // If a message is received
Serial.println(message); // Print it out
if(message == "65 1 1 0 ffff ffff ffff"){ //Pow1
return (pow(x,1));
}
else if(message == "65 1 2 0 ffff ffff ffff"){ //Pow2
return (pow(x,2));
}
else if(message == "65 1 3 0 ffff ffff ffff"){ //Pow3
return (pow(x,3));
}
else if(message == "65 1 4 0 ffff ffff ffff"){ //Pow4
return (pow(x,4));
}
else if(message == "65 1 5 0 ffff ffff ffff"){ //Pow5
return (pow(x,5));
}
}
}
/*IF STEP 2 CHOOSEN */
int step2(){
String message = myNextion.listen(); // Check for message
if(message != ""){ // If a message is received
Serial.println(message); // Print it out
if(message == "65 2 1 0 ffff ffff ffff"){ //Pow1
return (pow(x,1));
}
else if(message == "65 2 2 0 ffff ffff ffff"){ //Pow2
return (pow(x,2));
}
else if(message == "65 2 3 0 ffff ffff ffff"){ //Pow3
return (pow(x,3));
}
else if(message == "65 2 4 0 ffff ffff ffff"){ //Pow4
return (pow(x,4));
}
else if(message == "65 2 5 0 ffff ffff ffff"){ //Pow5
return (pow(x,5));
}
}
}
/*IF STEP 3 CHOOSEN */
int step3(){
String message = myNextion.listen(); // Check for message
if(message != ""){ // If a message is received
Serial.println(message); // Print it out
if(message == "65 3 1 0 ffff ffff ffff"){ //Pow1
return (pow(x,1));
}
else if(message == "65 3 2 0 ffff ffff ffff"){ //Pow2
return (pow(x,2));
}
else if(message == "65 3 3 0 ffff ffff ffff"){ //Pow3
return (pow(x,3));
}
else if(message == "65 3 4 0 ffff ffff ffff"){ //Pow4
return (pow(x,4));
}
else if(message == "65 3 5 0 ffff ffff ffff"){ //Pow5
return (pow(x,5));
}
}
}
/*IF STEP 4 CHOOSEN */
int step4(){
String message = myNextion.listen(); // Check for message
if(message != ""){ // If a message is received
Serial.println(message); // Print it out
if(message == "65 4 1 0 ffff ffff ffff"){ //Pow1
return (pow(x,1));
}
else if(message == "65 4 2 0 ffff ffff ffff"){ //Pow2
return (pow(x,2));
}
else if(message == "65 4 3 0 ffff ffff ffff"){ //Pow3
return (pow(x,3));
}
else if(message == "65 4 4 0 ffff ffff ffff"){ //Pow4
return (pow(x,4));
}
else if(message == "65 4 5 0 ffff ffff ffff"){ //Pow5
return (pow(x,5));
}
}
}
/*IF STEP 5 CHOOSEN */
int step5(){
String message = myNextion.listen(); // Check for message
if(message != ""){ // If a message is received
Serial.println(message); // Print it out
if(message == "65 5 1 0 ffff ffff ffff"){ //Pow1
return (pow(x,1));
}
else if(message == "65 5 2 0 ffff ffff ffff"){ //Pow2
return (pow(x,2));
}
else if(message == "65 5 3 0 ffff ffff ffff"){ //Pow3
return (pow(x,3));
}
else if(message == "65 5 4 0 ffff ffff ffff"){ //Pow4
return (pow(x,4));
}
else if(message == "65 5 5 0 ffff ffff ffff"){ //Pow5
return (pow(x,5));
}
}
}
/*void callFunctions()
{
String message = myNextion.listen(); // Check for message
if(message != ""){ // If a message is received
Serial.println(message); // Print it out
if(message == "65 0 1 0 ffff ffff ffff"){ //Pow1
stp1 = step1();
Serial.print(stp1);
Serial.println(" ");
}
else if(message == "65 0 2 0 ffff ffff ffff"){ //Pow2
stp2 = step2();
Serial.print(stp2);
Serial.println(" ");
}
else if(message == "65 0 3 0 ffff ffff ffff"){ //Pow3
stp3 = step3();
Serial.print(stp3);
Serial.println(" ");
}
else if(message == "65 0 4 0 ffff ffff ffff"){ //Pow4
stp4 = step4();
Serial.print(stp4);
Serial.println(" ");
}
else if(message == "65 0 5 0 ffff ffff ffff"){ //Pow5
stp5 = step5();
Serial.print(stp5);
Serial.println(" ");
}
}
}*/
_5step.ino (5.31 KB)



