Code:
int ledPin = 13;
int ledPin2 = A1;
byte inByte;
String readBuffer = "";
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop() {
while (Serial.available()) { // Ako HC-12 ima podatke
inByte = Serial.read(); // citamo svaki bajt primljen od HC-12
readBuffer += char(inByte); // dodajemo svaki bajt u readBuffer string variable
}
delay(10);
if(readBuffer == "GO"){ //ako je primljena komanda "GO" (gore)
digitalWrite(ledPin, HIGH);//turn LED on
}else if (readBuffer == "DO"){ //ako je primljena komanda "DO" (dole)
digitalWrite(ledPin, LOW);//turn LED off
}else if (readBuffer == "LE"){ //ako je primljena komanda "LE" (levo)
digitalWrite(ledPin2, HIGH);
}else if (readBuffer == "DE"){ //ako je primljena komanda "DE" (desno)
digitalWrite(ledPin2, LOW);
}
Serial.flush();//clear the serial buffer for unwanted inputs
}
Evo ovako se to obicno citaju serijski podaci na prijemnoj strani. Sto znaci da ove komande moras ispostovati u kodu i sa transmit strane.
Ovo sto sad koristis je Hardverski uart i ne bi smeo da imas spojen USB kabl sa PC-a na arduino (ni zbog napajanja) jer ces imati nepravilno funkcionisanje.
Ako hoces da koristis i Serial monitor radi monitoringa podataka onda moras koristiti i softverski uart.
Nadam se da ta dva HC-12 modula komuniciraju na istom kanalu (po defaultu je tako ako nisi nista menjao) mislim da kanali idu od 1 -100 i da su pomereni za 400kHz