neverluk Napisano Listopad 30, 2019 Udostępnij Napisano Listopad 30, 2019 Witam, chciałbym aby na wyświetlaczu po wciśnięciu przycisku pokazywały się komunikaty wysłane z UART urządzenia po wysłaniu zapytania. Mianowicie wciskam przycisk - następuje wysłanie komendy do urządzenia GVER000 i na wyświetlaczu pojawia mi się komunikat od urządzenia, następnie arduino ma wysłać kolejną komendę MACM i w drugiej linijce na wyświetlaczu ma się pojawić odpowiedź od urządzenia. Odpowiedzi mają kilkanaście znaków dlatego użyłem jeszcze scroll. No i tutaj jest problem z którym sobie nie mogę już poradzić. Program się zapętla przy zapytaniu MACM. Nie wiem jako to zrobić aby po wciśnieciu była wykonywane te warunki tylko raz, a scroll był wykonywany tylko na 1 lini a druga zablokowana. Czy jest ktoś wstanie mi pomóc, bo przyznam że nie mam zbyt dużego doświadczenia ale już nawet nie mam pomysłu gdzie szukać rozwiązania. Poniżej kod: #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); const int tranzystor = 2; const int ledkey = 8; void setup() { lcd.init(); // initialize the lcd lcd.backlight(); Serial.begin(115200); pinMode(tranzystor, OUTPUT); //tranzystor - zalaczajacy zasilanie urzadzenia digitalWrite(2, HIGH); //tranzystor - zalaczajacy zasilanie urzadzenia pinMode(4, INPUT_PULLUP); //Przycisk jako wejście } void loop() { if (digitalRead(4) == LOW) { //Jeśli przycisk wciśnięty digitalWrite(2, HIGH); delay(1000); Serial.write("GVER000"); } if (Serial.available()) { delay(100); // clear the screen lcd.clear(); // read all the available characters while (Serial.available() > 0) { // display each character to the LCD lcd.write(Serial.read()); delay(100); Serial.write("MACM"); } if (Serial.available()){ lcd.setCursor(1,1); while (Serial.available() > 0) { // display each character to the LCD lcd.write(Serial.read()); } } } lcd.scrollDisplayLeft(); delay(450); } Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!