Skocz do zawartości

Kilka rzeczy naraz.


Iron_Salsa

Pomocna odpowiedź

Witam, to mój pierwszy temat, wiec przepraszam za wszelkie niezgodności.

Otóż chciałbym żeby moje arduino wykonywało kilka rzeczy w 1 momencie tzn chce zrobić pudełko w którym będzie grała muzyczka i w tym samym momencie żeby świeciły diody. Próbowałem już wiele rzeczy, ale nic nie działa. Czy mógł by ktoś polecić mi jak to zrobić na arduino Uno?

Z góry dziękuje 🙂

__________

Komentarz dodany przez: Treker

Link do komentarza
Share on other sites

A co to znaczy "Próbowałem już wiele rzeczy"? Bo to może oznaczać w skrajnym przypadku np. modlitwę. Nie wiem co umiesz, ale może używałeś mechanizmów dających dobre rezultaty tylko użytych w zły sposób?

Pisząc na praktycznie "goły" procesor zmuszanie go do robienia wielu rzeczy na raz jest i łatwe i trudne. Łatwe koncepcyjnie gdy już zrozumiesz jak to robić ale trudne, bo trzeba to wpisać do kodu i zaprząc jakieś mechanizmy sprzętowe jako wsparcie. Wiele zależy też od samych "rzeczy" które chcesz robić - czasem trzeba je "naginać" lub trochę modyfikować żeby dały się w prosty sposób wykonywać równolegle.

Na taką barierę napotyka każdy początkujący gdy już przejdzie fazę zauroczenia jednowątkowymi programami pełnymi delay'ów - tak robi się tylko trywialne urządzenia. W sieci są ogólne przepisy na równoległość - także na Arduino, ale chyba nie istnieje jedno uniwersalne rozwiązanie.

Może zacznij od tego:

http://www.jarzebski.pl/arduino/biblioteki/leos-2-czyli-watki-pod-arduino.html

https://techniczny.wordpress.com/2012/04/07/wielozadaniowosc-w-arduino/

https://code.google.com/archive/p/threadkit/

http://www.kwartzlab.ca/2010/09/arduino-multi-threading-librar/

Spróbuj poczytać o wielowątkowości i zrozumieć (na razie w głowie) jak to może działać. Potem przymierz się do implementacji na Arduino. W razie pytań (ale po przeczytaniu kilku artykułów) pisz śmiało. Nie ma sensu, żebyśmy wykładali tu teorię. Acha, zahacz też o automaty czyli finite-state-machines (FSM), to pomaga.

BTW: Twój problem (muzyczka + jakieś wejścia/wyjścia) oceniam jako bardzo prosty więc nie powinieneś mieć kłopotów.

EDIT: Opisz bardzo dokładnie co chcesz zrobić, czego próbowałeś oraz jak i dlaczego te próby zawiodły. To pierwsze jest najważniejsze - będzie nam łatwiej radzić jak sam powinieneś to zrobić. Bo gotowce na wszelkie możliwe tematy raczej nie istnieją.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.