potřeboval bych prosím poradit proč mi jde vždy jen odeslat data do displeje.
Pokud chci ovládat vstupy v arduinu z displeje,tak mi to jde jen pokud vymažu(odkomentuju) tu část kodu
kde ovládám to odesílání dat z arduina.viz kod.
Omlouvám v tomto začínám,takže dělám někde nějakou blbost,ale nikde jsem na netu nenašel radu,která by mi pomohla....
Nebo snad obousměrná komunikace je problém????
Děkuji
Kód: Vybrat vše
// připojení potřebné knihovny
#include <SoftwareSerial.h>
// nastavení čísel propojovacích pinů
#define RX 7
#define TX 8
#define LEDka 13
int Pin_pohyb = 9;
 String zprava ="";
// vytvoření objektu swSerial z knihovny s nastavenými piny
SoftwareSerial swSerial(RX, TX);
// proměnná pro uložení času přepisu textu
unsigned long casPrepisu = 0;
void setup() {
  // zahájení komunikace po softwarové sériové lince
  swSerial.begin(9600);
   //swSerial.setTimeout(100);
  // nastavení LED diody jako výstupu
  // a zapsání základního stavu
  pinMode(LEDka, OUTPUT);
  digitalWrite(LEDka, LOW);
  pinMode(Pin_pohyb, INPUT);
   digitalWrite(Pin_pohyb, LOW);
   
    // nastaví objekty do základního stavu
   swSerial.print("A.b0.picc=39");SerialFFF();swSerial.print("A.b1.picc=39");SerialFFF();
   swSerial.print("A.b2.picc=39");SerialFFF();swSerial.print("A.b3.picc=39");SerialFFF();
   swSerial.print("A.bt0.val=0");SerialFFF();swSerial.print("A.bt1.val=0");SerialFFF();
   swSerial.print("A.bt2.val=0");SerialFFF();swSerial.print("A.bt3.val=0");SerialFFF();
}
void loop() {
// kontrola příchozí zprávy
  if (swSerial.available()) {
    // vytvoření proměnné pro uložení zprávy
   String zprava;
    // načtení všech znaků zprávy s převodem
    // (char) na znaky
    while (swSerial.available()) {
      zprava += swSerial.readString();
        }
    // pokud najdeme ve zprávě znak b,
    // LED diodu zapneme
    if (zprava.substring(1) == "b") {
      digitalWrite(LEDka, HIGH);
       }
    // pokud najdeme ve zprávě znak a,
    // LED diodu vypneme
    else if (zprava.substring(1) == "a") {
      digitalWrite(LEDka, LOW);
        }
  }
  
  
if(digitalRead(Pin_pohyb) == HIGH){
     digitalWrite(LEDka, HIGH);
     swSerial.print("A.b0.picc=96");        // do b0 nahraje obrazek 
     SerialFFF();
     swSerial.print("A.n1.val=");
     swSerial.print(digitalRead(Pin_pohyb)); 
     SerialFFF();
    }else if(digitalRead(Pin_pohyb) == LOW)
     {
      digitalWrite(LEDka, LOW);
     swSerial.print("A.b0.picc=39");        // do b0 nahraje obrazek 
     SerialFFF();
     swSerial.print("A.n1.val=");
     swSerial.print(digitalRead(Pin_pohyb)); 
     SerialFFF();
      }
}
void SerialFFF(void)
  {
    swSerial.write(0xFF);
    swSerial.write(0xFF);
    swSerial.write(0xFF);
    delay(100);
  }

 
   
   
   P. Q. M.
 P. Q. M. .
 .
 
  

