Skocz do zawartości

chemik110493

Użytkownicy
  • Zawartość

    2
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O chemik110493

  • Ranga
    1/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Chciałbym by to działało w nastepujący sposób: Wciskam klawisz np. klawisz C, następnie za pomocą pętli while leci cała ta sekwencja zawierająca 8 etapów jedna po drugiej. Przy czym testowałem sporo metod i pętli i nie działa, nawet takie coś na for gdzie numeracja idzie po numerach pinów. teraz testowałem coś takiego że robie funkcję dla każdego etapu i np. na pętli for czy if czy case puszczam każda sekwencję ale to tez nie działa. Niby proste zagadnienie ale coś opornie mi to idze. Ja też jestem samoukiem wiec, może tez coś ze składnią jest nie tak sam juz nie wiem. Wiem że ten kod powyżej się wykonuję idealnie. A jak chce to przerobić na automatyczny tryb to już lipa.. Dziękuję za szybki komentarz.
  2. Witam, Programuję aparaturę do laboratorium chemicznego, która ma za zadanie wymieniać roztwory. Układ jest oparty na 8 zaworach elektromagnetycznych i dwóch pompach oraz czujniku poziomu cieczy. całość wyposażona jest w wyświetlacz LCD oraz klawiaturę 4x4. Większość układu zaprogramowałem osobiście ale jest mały problem. Na chwilę obecną muszę każdy roztwór włączać osobnym przyciskiem z klawiatury, co jest kłopotliwe bo co jakieś 5 h muszę iść do labu i na urządzeniu wybrac od 1 do 8. A chciałbym by na przykłąd po wcisnięciu jednego przycisku z klawiatury cały kod wykonał się automatycznie roztwór po rotworze. Poniżej załączam fragment kodu który aktualnie działa. while (klawisz=='1') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 1"); lcd.setCursor(0,1); if (digitalRead(3)==0) // wartość z czujnika poziomu cieczy // wartość 1 albo 0 { digitalWrite(Z1, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z1, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } while (klawisz=='2') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 2"); lcd.setCursor(0,1); if (digitalRead(3)==0) { digitalWrite(Z2, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z2, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } while (klawisz=='3') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 3"); lcd.setCursor(0,1); if (digitalRead(3)==0) { digitalWrite(Z3, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z3, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } while (klawisz=='4') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 4"); lcd.setCursor(0,1); if (digitalRead(3)==0) { digitalWrite(Z4, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z4, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } while (klawisz=='5') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 5"); lcd.setCursor(0,1); if (digitalRead(3)==0) { digitalWrite(Z5, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z5, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } while (klawisz=='6') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 6"); lcd.setCursor(0,1); if (digitalRead(3)==0) { digitalWrite(Z6, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z6, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } while (klawisz=='7') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 7"); lcd.setCursor(0,1); if (digitalRead(3)==0) { digitalWrite(Z7, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z7, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } while (klawisz=='8') { lcd.init(); // initialize the lcd lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Solution 8"); lcd.setCursor(0,1); lcd.print("CHOOSE A METHOD"); if (digitalRead(3)==0) { digitalWrite(Z8, LOW); digitalWrite(P1, LOW); } else { digitalWrite(Z8, HIGH); digitalWrite(P1, HIGH); delay(T1); digitalWrite(P2, LOW); delay(55000); digitalWrite(P2, HIGH); } } Dziękuję, za pomoc.
×
×
  • Utwórz nowe...