Skocz do zawartości

Diody Zapalanie i Gaszenie


darex120

Pomocna odpowiedź

Witam Serdecznie

Jestem tutaj nowy więc proszę o wyrozumiałość

Stałem się posiadaczem ARDUINO UNO fajnie

ale teraz chciałem zrobic taki ukladzi mianowicie ,

Mam dwa przyciski sw1 i sw2

pierwszym chce rozpoczac program który zapali mi na jakisz okreslony czas jedna diode nastepnie po tym czasie dioda zgasnie i zapali sie nastepna i po okreslonym czasie zgasnie trzecia dioda zapali sie gdy zgasnie druga lecz bedzie swiecila caly czas , w momencie gdy nacisne sw2 dioda trzecia po jakims trzasie zgasnie i zapali sie druga na jakis czas po tym czasie gdy druga zgasnie zapali sie pierwsza i po jakims czasie zgasnie i tak ogolnie mialby wygladac taki cykl

troszke moze zamieszalem za co przepraszam ale prosze o pomoc za co z gory serdecznie dziekuje

Pozdrawiam

Darek

Link do komentarza
Share on other sites

Witajcie

Wiec tak poczytalem troche to co polecaliscie czyli kurs noi napisalem taki programik

czy mozecie jeszcze powiedziec co zrobilem zle pod pinem 4 mam swich wystko gra jak nalezy gdy przycisne przycisk pod pinem 7 zaczyna sie odliczanie diod do konica i stop tak mialo byc ale teraz co robie zle ze gdy nacisne przycisk pod pin 4 nie chce wracac w odwrotnej kolejnosci

Prosze o pomoc jesli to mozliwe bo czytam czytam i narazie nic nie kumam

Pozdrawiam Dziekuje

kodzik

void setup() {

pinMode(13, OUTPUT); //Dioda czerwona

pinMode(12, OUTPUT); //Dioda żółta

pinMode(11, OUTPUT); //Dioda zielona

pinMode(10, OUTPUT); //Dioda czerwona

pinMode(9, OUTPUT); //Dioda żółta

pinMode(8, OUTPUT); //Dioda zielona

pinMode(6, OUTPUT); //Dioda czerwona

pinMode(5, OUTPUT); //Dioda żółta

pinMode(7, INPUT_PULLUP); //Przycisk

pinMode(4, INPUT_PULLUP);

digitalWrite(13, LOW); //Wyłączenie diod

digitalWrite(12, LOW);

digitalWrite(11, LOW);

digitalWrite(10, LOW); //Wyłączenie diod

digitalWrite(9, LOW);

digitalWrite(8, LOW);

digitalWrite(6, LOW); //Wyłączenie diod

digitalWrite(5, LOW);

}

void loop() {

while (digitalRead(7) == LOW) { //Jeśli przycisk jest wciśnięty

digitalWrite(13, HIGH); //Czerwona wyłącz

delay(2000);

digitalWrite(13, LOW); //Czerwona włącz

delay(2000);

digitalWrite(12, HIGH);

delay(1500);

digitalWrite(12, LOW);

delay(1500);

digitalWrite(11, HIGH);

delay(2300);

digitalWrite(11, LOW);

delay(2300);

digitalWrite(10, HIGH); //Czerwona wyłącz

delay(1400);

digitalWrite(10, LOW); //Czerwona włącz

delay(1400);

digitalWrite(9, HIGH);

delay(1200);

digitalWrite(9, LOW);

delay(1200);

digitalWrite(8, HIGH);

delay(2300);

digitalWrite(8, LOW);

delay(2500);

digitalWrite(6, HIGH);

delay(2500);

digitalWrite(6, LOW);

delay(2000);

digitalWrite(5, LOW);

delay(1000);

digitalWrite(5, HIGH);

while (digitalRead(4) == LOW) { //Jeśli przycisk jest wciśnięty

digitalWrite(6, HIGH); //Czerwona wyłącz

delay(2000);

digitalWrite(6, LOW); //Czerwona włącz

delay(2000);

digitalWrite(8, HIGH);

delay(1500);

digitalWrite(8, LOW);

delay(1500);

digitalWrite(9, HIGH);

delay(2300);

digitalWrite(9, LOW);

delay(2300);

digitalWrite(10, HIGH); //Czerwona wyłącz

delay(1400);

digitalWrite(10, LOW); //Czerwona włącz

delay(1400);

digitalWrite(11, HIGH);

delay(1200);

digitalWrite(11, LOW);

delay(1200);

digitalWrite(12, HIGH);

delay(2300);

digitalWrite(12, LOW);

delay(2500);

digitalWrite(13, HIGH);

delay(2500);

digitalWrite(13, LOW);

delay(2000);

digitalWrite(5, LOW);

delay(1000);

digitalWrite(5, HIGH);

}

}

}

__________

Komentarz dodany przez: Treker

Kody programów należy umieszczać przez narzędzie KOD (znajdziesz je w edytorze pod ikonką "<>"). Dzięki niemu składania programów jest automatycznie kolorowana, a wtedy wszystkim znacznie łatwiej analizować wklejone programy. Proszę to poprawić - z góry dziękuję za zrozumienie i pomoc przy utrzymaniu porządku na forum.

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

darex120, umieszczaj kod programu w miejscu na niego przeznaczonym


oraz pisz bardziej po polsku, bo trudno odczytać co napisałeś, a nikt chyba nie chce się domyślać co autor miał na myśli.
Co do programu wszystko dobrze. Jedynie dioda nr 5 u ciebie powinna być na początku zamiast na końcu. Diody mają "wracać", więc muszą być w odpowiedniej kolejności.
Ja zrobiłem taki układ z trzema diodami i działa.
void setup() {
 pinMode(8,OUTPUT);//Dioda żółta jako wyjście
 pinMode(9,OUTPUT);//Dioda zielona jako wyjście
 pinMode(10,OUTPUT);//Dioda czerwona jako wyjście
 pinMode(6,INPUT_PULLUP);//Przycisk 1
 pinMode(7,INPUT_PULLUP);//Przycisk 2

 digitalWrite(8,LOW);
 digitalWrite(9,LOW);
 digitalWrite(10,LOW);
}

void loop() {
 digitalWrite(8,LOW);
 digitalWrite(9,LOW);
 digitalWrite(10,LOW);

 while(digitalRead(6)== LOW){ //jeśli przycisk 1 wciśnięty
   for(int i=0;i<1;i++){ //Wykonanie jeden raz
   digitalWrite(10,HIGH);//Dioda czerwona świeci
   digitalWrite(9,LOW);
   digitalWrite(8,LOW);
   delay(1000);

   digitalWrite(10,LOW);
   digitalWrite(9,HIGH);//Dioda zielona świeci
   digitalWrite(8,LOW);
   delay(1000);

   digitalWrite(10,LOW);
   digitalWrite(9,LOW);
   digitalWrite(8,HIGH);//Dioda żółta świeci
   delay(1000);
 }
 }
 while(digitalRead(7)== LOW){ //jeśli przycisk 2 wciśnięty
   for(int i=0;i<1;i++){ //Wykonanie jeden raz
   digitalWrite(10,LOW);
   digitalWrite(9,LOW);
   digitalWrite(8,HIGH);//Dioda żółta świeci
   delay(1000);

   digitalWrite(10,LOW);
   digitalWrite(9,HIGH);//Dioda zielona świeci
   digitalWrite(8,LOW);
   delay(1000);

   digitalWrite(10,HIGH);//Dioda czerwona świeci
   digitalWrite(9,LOW);
   digitalWrite(8,LOW);
   delay(1000);
 }
 }
}

Poza tym polecam ci resztę lekcji kursu forbota. Jeśli czegoś nie umiesz, poszukaj najpierw tam, zamiast pisać tutaj. Jeśli zrobisz lekcje i połączysz wszystkie układy, które tam są przerabiane, to na pewno nie będziesz miał problemu, żeby zrobić taki układ samemu.

Pozdrawiam

Link do komentarza
Share on other sites

Przepraszam za moje pisanie

U mnie niestety nie dziala dziala tylko na jednym przycisku a na drugim nie , czy to moze byc powod ze przy programowaniu wyswietla mi taki blad

Szkic używa 1368 bajtów (4%) pamięci programu. Maksimum to 32256 bajtów.

Zmienne globalne używają 9 bajtów (0%) pamięci dynamicznej, pozostawiając 2039 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów.

Błędna biblioteka znaleziona w C:\Users\TOSHIBA\Documents\Arduino\libraries\pilot: C:\Users\TOSHIBA\Documents\Arduino\libraries\pilot

czy to moze byc powodem ze nie dziala

Link do komentarza
Share on other sites

Raczej nie. Ten komunikat zawsze wyskakuje. Informuje on o rozmiarze twojego programu. 😉

A ta błędna biblioteka to jakiś błąd przy zapisaniu lub kompilacji. Jakiś folder od twojego programu....

Na pewno zostawiłeś ten sam kod?

Link do komentarza
Share on other sites

Dziekuje za pomoc powodem byl przewod laczacy

pozdrawiam

[ Dodano: 24-01-2018, 22:27 ]

Mam jeszcze pytanko

Szukam internet i fora ale nie moge nigdzie znalezc

mam w tym programie w/w dwa cykle jeden otwierajacy drugi zamykajacy , i teraz jesli wlacze jeden cykl wlacze i on sie zakonczy ale na ktoryms pinie bedzie jescze stan wysoki do momentu kiedy nie naczisne cyklu zamykania to czy w czasie trwania danego cyklu maga sie wlaczac czasowo co 5 minut jakies piny i czy to nie bedzie ingerowalo w tryb zamkniecia nie wiem programowanie rozpoczynam caly czas czytam i czytam ucze sie ale nic na ten temat nie moge znalezc

moze pisze nie scisle ale prosze o wyrozumialosc

dziekuje i pozdrawiam

Link do komentarza
Share on other sites

Bardzo chaotycznie i skomplikowanie to napisałeś. 😐 Nie wiem czy o to ci dokładnie chodzi.

Jeden cykl nie przeszkadza drugiemu. Jeśli wciśniesz jeden przycisk następują czynności, które po jego wciśnięciu mają się wykonać. To samo po wciśnięciu drugiego. To jest chyba oczywiste. Piny "same" się nie włączają.

Link do komentarza
Share on other sites

dokladnie tak , nie wiem jak wstawic w program jakies czasowki aby wlaczaly sie co jakis czas lecz jesli nacisne przycisk zamknij to wszystko sie pozamyka

napisze to moze tak

bedzie to do zlobka

urzadzenie jak nacisne przycisk bedzie zalaczal urzadzenia w okreslonych odstepach czasu , jesli dojdzie do silnika to zalaczy ten silnik i go nie bedzie wylaczal to juz mam chodzi mi o to aby co jakis czas zalaczal urzadzenie co np 5 minut ale nie wylaczal silnika i nie bedzie to przeszkadzalo gdy nacisne zamknij wtedy wszystko sie pozakancza lacznie z silnikiem

czy teraz bardziej to wytlumaczylem

Link do komentarza
Share on other sites

darex120, nie wiem czy dobrze rozumiem. Chcesz podłączyć dodatkowo czasówkę (przekaźnik), bo to by się zgadzało z tym co piszesz? Czy tą czasówką jest coś innego?

Jak mówisz, że to co robisz, ma służyć do czegoś, to podaj jakiś schemat, elementy i rozwiń temat bardziej.

Link do komentarza
Share on other sites

To najlepiej dodaj trzeci przycisk, który wyłącza wszystko. 😃

Możesz też poeksperymentować z warunkami w programie Arduino, w zależności co jaki czas chcesz migać następnymi diodami. Chociaż szczerze ja dodałbym tu przekaźnik, czyli czasówkę i problem z czasem miałbyś rozwiązany. Podłączasz taki przekaźnik do Arduino, o ile nie pobierze za dużego prądu i sterujesz czasem załączania - tak jak napisałeś 5, 10 minut.

Tu masz zdjęcie takiej czasówki. Jest dość droga, no ale ... 😃

Link do komentarza
Share on other sites

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.