Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino Leonardo - Podprogramy wywołane przyciskami

Piooner 26 Mar 2015 07:30 1335 1
  • #1 26 Mar 2015 07:30
    Piooner
    Poziom 8  

    Witam mój problem polega na tym że nie potrafię sobie poradzić z podprogramami przeczytalem ten temat http://majsterkowo.pl/forum/trzy-programy-uruchamiane-z-trzech-przyciskow-t1190.html ale autor dał za wygraną i zastosował przełączniki hebelkowe co mnie nie ratuję.Tak wygląda mój program:


    Kod: cpp
    Zaloguj się, aby zobaczyć kod



    i teraz chciałbym żeby po naciśnieciu button A3
    załączam ten program główny ten u góry :)

    Button A4 (tylko diody)


    Kod: cpp
    Zaloguj się, aby zobaczyć kod




    Button A5 (tylko silnik)

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Jeśli ktoś ma coś takiego w swoim programie i mógł by się podzielić tą linijką kodu byłbym bardzo wdzięczny, pozdrawiam :)

    0 1
  • #2 29 Mar 2015 14:50
    pimpuk
    Poziom 22  

    Powinieneś na początku wyjaśnić na czym polega Twój problem, bo za Chiny nie mogę się doczytać.
    Co to oznacza, że nie możesz sobie poradzić z podprogramami?
    Przecież w powyższym kodzie takowych nie widać.
    Powinieneś swój program napisać od początku.
    Śmiem wątpić, że to co pokazałeś, jest choć w części napisane przez Ciebie.
    Na początek, napisz sobie na kartce, czego oczekujesz od programu.
    Zacznij na przykład od schematu blokowego.
    Poszczególne zachowania programu (na przykład włączanie silnika lub diody) potraktuj jako bloki.
    Bloki potraktuj jako procedury (czyli te Twoje podprogramy).
    Jeśli boisz się przerwań (nie gryzą), to niech pętla główna void loop() testuje stan przycisków i w zależności od wybranego przycisku wykonuj skok do odpowiedniej procedury.
    Po wykonaniu procedury, program powróci do pętli głównej i będzie czekał na przycisk.

    Hm, to tyle na początek.
    Przedstaw, co już napisałeś (może być w pseudokodzie), a wtedy pomogę. Bo bez Twojej inwencji, nikomu nie będzie się chciało tutaj udzielać. Dla tego tyle czasu czekasz na odpowiedź.

    0