• 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
z pętlą zgubiłem się w czasie
#31
(07-12-2019, 01:11)maniekdii napisał(a): "Sprawdziłem i to co napisałem wcześniej nie działa przynajmniej na konsoli.
Proponuję sprawdzić czy to działa:"

szanowny Panie Agregaciku już prawie jest dobrze ale za drugim czy trzecim uruchomieniem coś się rozjeżdża i tak jakby sekwencja nie startowała od początku tylko z dowolnego swojego miejsca i czasami co niektóre  gubią rytm.
A czy dopisałeś sekwencję stop, która ustawia przekaźniki w stan początkowy. Zatrzymanie i "puszczenie" sekwencji bez tego będzie powodować takie przypadki.
 
Odpowiedź
#32
Panowie macie rację, że trzeba kod uprościć i napisać używając innych poleceń nie tylko if. Te kilometry kodu i tony zmiennych zaciemniają i uniemożliwiają szybkie wykrycie błędów.
Piasek do wiaderka można nasypać łopatką zamiast "ziarko po ziarku".
 
Odpowiedź
#33
sekwencje zatrzymania dopisałem. Ma ona tylko "czyste"stany przekaźników bez żadnych czasów i innych ustawień.
Dodałem również pętle czasową by sekwencja odtwarzała się przez jakiś czas a nie tylko w momencie trzymania guzika i to działa.

nie wiem czy można ale wstawiłbym filmik jak zachowuje się układ to może łatwiej by było.
 
Odpowiedź
#34
(07-12-2019, 09:12)elvis napisał(a): Co racja to racja, w tym kodzie dużo łatwiej znaleźć błąd - tablice są w C indeksowane od zera, więc błąd widać od razu. Tylko że wcześniej tego błędu nie było...
Zmiana jednej funkcji na tablice nie ma sensu, trzeba zrobić to z wszystkimi i dla porządku przekaźniki ponumerować od 0 a nie 1 co uchroni przed popełnieniem banalnego błędu.
 
Odpowiedź
#35
Dziękuje Panowie za wcześniejsze uwagi. Jak wspominałem jestem początkującym w tej dziedzinie i jak na razie cała moja wiedza bierze się z kursu na Forbocie który właściwie jest "pierwszą" lekcją w nowej szkole na której mówii się zazwyczaj "dzień dobry nazywam się Kowalski" Smile
zdaję sobie sprawę z wielu niedociągnięć i sam się zastanawiałem jakiej długości musiałby byc jakiś poważny KOD skoro moja pierdoła zajmuje tyle linijek.
Podpowiedzi już coś dają a modyfikując przykłady można wiele się nauczć.
 
Odpowiedź
#36
przekaźniki są nazwane jako K1..K16 choćby z tego względu że na każdym schemacie elektrycznym cewka przekaźnika jest właśnie opisywana jako K.Oznaczenia takie są stosowane w automatyce itp. Jeszcze nie znalazłem wyjaśnienia dlaczego akurat tak, ale też specjalnie tego nie szukałem bo skoro tak jest to czemu miałbym to robić inaczej.Smile
 
Odpowiedź
#37
(07-12-2019, 09:36)maniekdii napisał(a): Dziękuje Panowie za wcześniejsze uwagi. Jak wspominałem jestem początkującym w tej dziedzinie
Dlatego nie możesz uczyć się od początkujących bo to będzie długa nauka.

(07-12-2019, 09:36)maniekdii napisał(a): i jak na razie cała moja wiedza bierze się z kursu na Forbocie
Jak możesz przeczytać we wcześniejszym moim poście, w kursach na Forbocie roi się od błędów a co gorsze, mimo zgłoszeń, błędy nie są poprawianie! Wygląda to tak, jakby ktoś kto "liznął" tematu zabrał się za pisanie kursu a przy okazji jest tak zadufany w sobie, ze nie dopuszcza możliwości popełnienia błędu przez siebie.
Takich "kwiatków" nie ma (jest bardzo mało" w książkach i jak chcesz się nauczyć bez potknięć to kup książkę. Inna alternatywa to cykl artykułów w "Elektronice dla Wszystkich". Wyjdzie drożej ale w EdW masz nie tylko kurs Arduino, C/C++.
 
Odpowiedź
#38
w moim przypadku od pomysłu takiego sterowania do dnia dzisiejszego minęły może ze trzy tygodnie z czego tydzień to było zastanawianie się nad materiałami, zakup i przesyłka a od tygodnia mniej więcej utknąłem z problemem który mnie tutaj sprowadził.

Moim zdaniem uproszczenie fragmentu dotyczącego "memczas"ów, nie do końca będzie przydatne w tym przypadku. Takie zapisanie da nam tylko jeden efekt ,a mając dostęp do każdej zmiennej z osobna da możliwość łatwiejszego tworzenia różnych efektów.


a tak z innej beczki to którą z książek na temat programowania w z wykorzystaniem c++ Panowie polecają? bo jest tego troszkę na rynku ,ale jak wiadomo nie wszystkie są napisane dla chłopa-robotnika. Żeby niektóre zrozumieć trzeba juz byc programistąSmile
 
Odpowiedź
#39
(07-12-2019, 09:56)maniekdii napisał(a): Moim zdaniem uproszczenie fragmentu dotyczącego "memczas"ów, nie do końca będzie przydatne w tym przypadku. Takie zapisanie da nam tylko jeden efekt ,a mając dostęp do każdej zmiennej z osobna da możliwość łatwiejszego tworzenia różnych efektów.
Jak problem w tym przypadku użyć switch-case?
Jeśli kilka efektów będzie takich samych z różnymi czasami dodasz parametr czas a funkcja dla kilku efektów będzie jedna.
 
Odpowiedź
#40
Wiem że to nieładnie wprowadzać offtopic, ale skoro @semi wylał całą swoją frustrację wybaczcie za nieco zaśmiecania temtu.
Tak dla wyjaśnienia - to ja jestem tym "młotem", który pisał kurs stm32f1 na Forbocie. Użycie RC zamiast sygnału z programatora Nucleo było świadomą decyzją, nazwyjmy to projektową. Jak chyba nieraz odpiswyał Treker, chodziło o umożliwienie pracy z płytką nawet po odłamaniu płytki programatora. Taka była decyzja, można się spierać czy słuszna czy nie.
Natomiast obrzucanie kogoś inwektywami jest bardzo nieeleganckie, na szanujących się forach takie zachowania są raczej nieakceptowane, ale zobaczymy czy tym razem administrator wkroczy, czy zostawi to bez komentarza.
W każdym razie jest mi niezmiernie przykro, że ktoś odreagowuje swoje kompleksy starając się obrażać innych - @semi, nie wytykałem Ci złego indeksowania tablic ze złośliwości - akurat wsiadałem do samolotu i nie miałem czasu więcej napisać, a po prostu błąd od razu rzucał się w oczy.
Nie będę się zniżał do poziomu wymiany epitetów, ale oczywiście moja i tak niewysoka opinia o umiejętnościach kolegi @semi dzisiaj przebiła dno - niby każdy może się pomylić, ale osoba programująca w C/C++ raczej nie używa indeksowania tablic od 1, a taki błąd chyba jest najepszą prezentają umiejętności.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości