Skocz do zawartości

Edytowanie zmiennych za pomocą SerialPort


emiks

Pomocna odpowiedź

Witam.

Chciałbym edytować zmienne za pomocą SerialPort i nie wiem jak się do tego zabrać

Arduino Mega jest spięte z Raspberry. Pi służy jako serwer MySQL do przechowywania danych z czujników. Skrypt w Pythonie na Pi pobiera dane z czujników poprzez Serial Port i zapisuje je w bazie. Teraz chciałbym pobrać z bazy :

byte godzina_ON = 00; // godzina uruchomienia przekaznika

byte minuta_ON = 01; // miniuta uruchomienia przekaznika

byte godzina_OFF = 23; // godzina wylaczenia przekaznika

byte minuta_OFF = 45; // minuta wylaczenia przekaznika

i wysłać poprzez Uart do Arduino w którym już takie zmienne są zadeklarowane.

Mógłby mi ktoś podpowiedzieć jak zrealizować powyższe założenie.

Link do komentarza
Share on other sites

Dokładnie chodzi mi o transmisje dwukierunkową zawartą w tym artykule z tym że tam jest opisane :

  if(Serial.available() > 0) { //Czy Arduino odebrano dane
   //Jeśli tak, to odczytujemy je do znaku końca linii i zapisz w zmiennej odebraneDane
   odebraneDane = Serial.readStringUntil('\n'); 

   if (odebraneDane == "zielona") { //Jeśli odebrano słowo "zielona"
     digitalWrite(zielona, HIGH); //To włączamy diodę zieloną
     delay(1000);
     digitalWrite(zielona, LOW); 
   }

   if (odebraneDane == "czerwona") { //Jeśli odebrano słowo "czerwona"
     digitalWrite(czerwona, HIGH); //To włączamy diodę czerwoną
     delay(1000);
     digitalWrite(czerwona, LOW);  

Taki przykład nie jest problemem nie mam pomysłu jak uruchomić/wyłączyć przekaźnik jak edytować te zmienne:

byte godzina_ON = 00; // godzina uruchomienia przekaznika 
byte minuta_ON = 01; // miniuta uruchomienia przekaznika 
byte godzina_OFF = 23; // godzina wylaczenia przekaznika 
byte minuta_OFF = 45; // minuta wylaczenia przekaznika 
Link do komentarza
Share on other sites

Wysyłasz po jednym bajcie godzinę, minutę, godzinę, minutę, a w Arduino odczytujesz za pomocą

void loop() {

       if (Serial.available() > 0) {
               godzina_ON = Serial.read();
               minuta _ON = Serial.read();
               godzina_OFF = Serial.read();
               minuta_OFF = Serial.read();
       }
}

Można też odczytać je inaczej, ale to jest chyba przejrzyste i proste.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.