Hi All,
I'm a beginner in programming so please explain in easy words.
My project is to send a unique code from sender(Nano) to receiver (Uno) to display sender's number via wireless connection(HC-12)
Used 7 Segment 4 digit
It is similar to wireless calling system, broadly used in restaurant, hospital
Problem is when I press the button on the sender, it only shows by each segment.
Here it is my code for sender
SoftwareSerial mySerial(2, 3); //RX, TX
int buttonPin = 8;
boolean onOff = 0; //I have no idea what it does but seems working well
void setup() {
pinMode(buttonPin, INPUT);
mySerial.begin(9600);
}
void loop() {
int buttonState = digitalRead(buttonPin);//read button state
if(buttonState == 1){
mySerial.println(1234); { //send unique code to the receiver to turn on.
onOff = 1;//set boolean to 1
delay(100);
}
}
}
Receiver code
#include "SevSeg.h"
#include <SoftwareSerial.h>
SevSeg sevseg; //Initiate a seven segment controller object
SoftwareSerial mySerial(0,1); // RX, TX
void setup() {
byte numDigits = 4;
byte digitPins[] = {2, 3, 4, 5};
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins);
sevseg.setBrightness(90);
mySerial.begin(9600);
}
void loop() {
if(mySerial.available() > 1){
int input = mySerial.parseInt();//read serial input and convert to integer (-32,768 to 32,767)
if(input == 1234){ //**Want to add some time to display number until other code is receive **
sevseg.setNumber(4);
sevseg.refreshDisplay();
delay(100);
}
if(input == 5678){//if on code is received
sevseg.setNumber(5);
sevseg.refreshDisplay();
delay(100);
}
}
mySerial.flush();
delay(10);
}
Thank you all in advance