• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wyswietlacz lcd, wejscia i wyjscia
#23
(17-10-2017, 19:46)ANT napisał(a): Tak jak napisał wyżej kolega namok przyjrzyj się jak działa sprawdzenie pierwszego warunku IF.
Szczególnie zobacz gdzie zamyka się druga klamra po tym warunku...

Aby Tobie łatwiej było to zobaczyć to tylko uporządkowałem Twój program.
Zerknij poniżej...

Kod:
void setup()
{
 // put your setup code here, to run once:
 pinMode(11, INPUT_PULLUP); //Przycisk jako wejście
 pinMode(12, INPUT_PULLUP);
 pinMode(10, OUTPUT); //Dioda jako wyjście
 pinMode(8,OUTPUT);//Dioda jako wyjście
 digitalWrite(10,LOW); //Wyłączenie diody
 digitalWrite(9,LOW);//Wyłączonie diody
}

void loop()
{
 if (digitalRead(11) == LOW)
 {
   //Jeśli przycisk wciśnięty
   digitalWrite(10,HIGH); //Włącz diodę1
 }
 else
 {
   //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty)
   delay(200); //Opóźnienie
   digitalWrite(10,LOW);

   if (digitalRead(12) == LOW)
   {
     //Jeśli przycisk wciśnięty
     digitalWrite(8, HIGH); //Wyłącz diodę
   }
   else
   {
     //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty)
     delay(200); //Opóźnienie
     digitalWrite(8, LOW); //Wyłącz diodę
   }
 }
}

Poniżej natomiast zamieściłem moje rozwiązanie Twojego problemu.
Jednak sprawdź czy o to Ci chodziło.

Kod:
void setup()
{
 // put your setup code here, to run once:
 pinMode(11, INPUT_PULLUP); //Przycisk jako wejście
 pinMode(12, INPUT_PULLUP);
 pinMode(10, OUTPUT); //Dioda jako wyjście
 pinMode(8,OUTPUT);//Dioda jako wyjście
 digitalWrite(10,LOW); //Wyłączenie diody
 digitalWrite(9,LOW);//Wyłączonie diody
}

void loop()
{
 if (digitalRead(11) == LOW)
 {
   //Jeśli przycisk wciśnięty
   digitalWrite(10,HIGH); //Włącz diodę1
 }
 else
 {
   //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty)
   delay(200); //Opóźnienie
   digitalWrite(10,LOW);
 }

 if (digitalRead(12) == LOW)
 {
   //Jeśli przycisk wciśnięty
   digitalWrite(8, HIGH); //Wyłącz diodę
 }
 else
 {
   //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty)
   delay(200); //Opóźnienie
   digitalWrite(8, LOW); //Wyłącz diodę
 }
}

Staraj się porządkować swoje programy bo to bardzo ułatwia ich analizę.
Do szybkiego formatowania używam skrótu: CTRL + T
Wypróbuj ten skrót podczas pisania swoich programów, polecam.
Mam nadziej, że powoli udaje mi się opanować pętle if. Dziękuję za pomoc.
Tym razem napotkałem kolejny problem.
Mam trzy diody led (ledz4 - stan Ok, ledc4 - stan za niski i ledc5 - stan za wysoki) oraz dwa włączniki (przycisk zwalniany 4 i 5). Przy załączonych włącznikach świeci lcdz4, przy zwolnieniu jednego zaświeca ledc4 przy ponownym z powrotem włącza ledz4 i podobnie przy włączeniu drugiego przycisku zaświeca ledc5.
I tu mam problem. Sad  Dioda ledc4 nie gaśnie do końca lecz przygasa w obu przypadkach.
Proszę o pomoc co tym razem źle robię.
W załączeniu moje kody.

Kod:
// Ciśnienie
const int button4 = 3; // Włącznik za niskie ciśnienie
const int button5 = 4; //Włącznik za wysokie ciśnienie
// LED CZERWONE
const int ledc4 =  10; //niskie ciśnienie
const int ledc5 =  9;//wysokie ciśnienie
// LED ZIELONE
const int ledz4 =  5;//Ciśnienie Ok
;;
int buttonState4 = 1;
int buttonState5 = 1;
void setup() {
 Serial.begin(9600);
 pinMode(ledz4, OUTPUT); // LED VSP G
 pinMode(ledc4, OUTPUT); // LED niskie VSP R
 pinMode(ledc5, OUTPUT); // LED wysokie VSP R

 digitalWrite(ledz4, LOW);

 digitalWrite(ledc4, LOW);
 digitalWrite(ledc5, LOW);

 pinMode(button4, INPUT_PULLUP);
 pinMode(button5, INPUT_PULLUP);
}
void loop()
{
 buttonState4 = digitalRead(button4);
 buttonState5 = digitalRead(button5);

 if (buttonState4 == LOW) {
   // turn LED on:
   digitalWrite(ledc4, LOW);
   digitalWrite(ledc5, LOW);
   digitalWrite(ledz4, HIGH);
 } else {
   // turn LED off:
   digitalWrite(ledz4, LOW);
   digitalWrite(ledc4, HIGH);
   digitalWrite(ledc5, LOW);
 }
 if (buttonState5 == LOW) {
   // turn LED on:
   digitalWrite(ledc5, LOW);
   digitalWrite(ledc4, LOW);
   digitalWrite(ledz4, HIGH);
 } else {
   // turn LED off:
   digitalWrite(ledz4, LOW);
   digitalWrite(ledc5, HIGH);
   digitalWrite(ledc4, LOW);
 }
}
 
Odpowiedź
  


Wiadomości w tym wątku
Wyswietlacz lcd, wejscia i wyjscia - przez bond - 18-04-2017, 16:37
RE: Wyswietlacz lcd, wejscia i wyjscia - przez krn78 - 21-04-2017, 12:09
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 24-04-2017, 13:06
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 10-10-2017, 11:40
RE: Wyswietlacz lcd, wejscia i wyjscia - przez krn78 - 24-04-2017, 14:02
RE: Wyswietlacz lcd, wejscia i wyjscia - przez ANT - 10-10-2017, 17:39
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 10-10-2017, 23:22
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 14-10-2017, 20:04
RE: Wyswietlacz lcd, wejscia i wyjscia - przez ANT - 10-10-2017, 23:40
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 14-10-2017, 23:47
RE: Wyswietlacz lcd, wejscia i wyjscia - przez namok - 15-10-2017, 08:35
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 15-10-2017, 09:39
RE: Wyswietlacz lcd, wejscia i wyjscia - przez StaCh - 16-10-2017, 13:20
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 16-10-2017, 19:55
RE: Wyswietlacz lcd, wejscia i wyjscia - przez namok - 15-10-2017, 12:33
RE: Wyswietlacz lcd, wejscia i wyjscia - przez ANT - 15-10-2017, 14:41
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 15-10-2017, 16:55
RE: Wyswietlacz lcd, wejscia i wyjscia - przez namok - 15-10-2017, 17:53
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 16-10-2017, 20:04
RE: Wyswietlacz lcd, wejscia i wyjscia - przez namok - 17-10-2017, 10:22
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 16-10-2017, 20:07
RE: Wyswietlacz lcd, wejscia i wyjscia - przez ANT - 17-10-2017, 19:46
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 22-10-2017, 20:06
RE: Wyswietlacz lcd, wejscia i wyjscia - przez namok - 23-10-2017, 09:29
RE: Wyswietlacz lcd, wejscia i wyjscia - przez ANT - 23-10-2017, 16:09
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 24-10-2017, 21:35
RE: Wyswietlacz lcd, wejscia i wyjscia - przez bond - 27-10-2017, 11:09
RE: Wyswietlacz lcd, wejscia i wyjscia - przez ANT - 25-10-2017, 16:54

Skocz do:


Przeglądający: 1 gości