Jak poprawić kod - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Jak poprawić kod (/watek-jak-poprawi%C4%87-kod) Strony:
1
2
|
Jak poprawić kod - grzesio.px - 04-01-2020 Witam potrzebuję program taki żeby migał 2 diodami naprzemiennie ale bez użycia "delay" bo ona zamraża cały program znalazłem kod z użyciem "millis" i wszystko ok ale nie potrafię go zmusić do tego żeby diody migały naprzemiennie mógłby ktoś mi to poprawić z góry dzięki Kod: int stan2 = LOW; RE: Jak poprawić kod - semi - 04-01-2020 Jak mogą migać naprzemiennie gdy mają różne czasy? Czasy różnią się 2 razy, więc jedna świeci, w tym samym czasie druga przez połowę świecenia led 1 świeci, przez druga połowę nie. Gdy led 1 zgaśnie proces się powtarza. Wygląda to mniej więcej tak: L1 L2 - - - + + - + + itd. Jak w takim przypadku może coś dziać się naprzemiennie? Jeśli faktycznie ma być naprzemiennie to dla jednej z diod ustawiaj stan wysoki dla drugiej niski. W kolejnym wykonaniu operacji na led ustawiaj na odwrót: L1 L2 - + + - idt. RE: Jak poprawić kod - Agregacik - 05-01-2020 A może autor chce, aby jedna świeciła 1 sekundę a potem druga 2 sekundy itd, ale musi to wyraźnie powiedzieć. RE: Jak poprawić kod - grzesio.px - 05-01-2020 Ta trochę przekombinowałem z tymi diodami dodając ten drugi czas faktycznie w jednej funkcji to można zrobić teraz to wiedzę a chodzi mi dokładnie o to żeby świeci 1 gaśnie 2 gaśnie 1 świeci 2 itd. Marny ze mnie programista nawet nie pomyślałem tylko na pałę próbując coś gotowego zaadaptować. RE: Jak poprawić kod - elvis - 05-01-2020 @grzesio.px, nie przesadzaj z tą samokrytyką, program który napisałeś można bardzo łatwo poprawić. Skoro chcesz, żeby diody migały z taką samą częstotliwością na początek musisz ustawić im taki sam czas, np.: Kod: unsigned long miganie2 = 1000; Warto program przetestować - powinny obie migać jednocześnie. Skoro miały naprzemiennie, to można zmienić im stan początkowy: Kod: int stan2 = LOW; Teraz już powinno działać jak chciałeś. RE: Jak poprawić kod - grzesio.px - 05-01-2020 Ok ogarnąłem tak jak mówię trochę pomyśleć i będzie git tak to wygląda. Dzięki za zainteresowanie Kod: int stan2 = LOW; RE: Jak poprawić kod - Jarewa0606 - 05-01-2020 Kod: bool stan2 = LOW; Mozna tez w takiej postaci RE: Jak poprawić kod - grzesio.px - 05-01-2020 (05-01-2020, 10:56)Jarewa0606 napisał(a): RE: Jak poprawić kod - grzesio.px - 05-01-2020 Wracam z nowym problemem tzn ciąg dalszy starego miganie diod to było tylko po to że lepiej widać wynik działania to naprzemienne miganie diod potrzebne mi jest do sterownika silnika bo on potrzebuje 1 raz na jednym wejściu raz na drugim do małej huśtawki co mi się udało zrobić ale nie przewidziałem jednego że ona nie jest ustawiona dokładnie w połowie bo się nie da i teraz dobija mi jedna strona wymyśliłem że jeśli skrócę jeden czas i to będzie ok i tu mam prośbę jak przerobić ten kod z pierwszego postu żeby była jakoby blokada tzn jeśli świeci 1 dioda to druga może się zaświecić dopiero kiedy zgaśnie 1 i na odwrót RE: Jak poprawić kod - Jarewa0606 - 05-01-2020 Program tak działa, twój problem to brak czujnika pozycji. |