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

arduino - stroboskop sterowany bluetooth

17 Sty 2017 11:27 783 5
  • Poziom 4  
    Witam serdecznie
    Zbudowałem układ dzięki któremu mogę ściemniać led za pomocą bluetooth, chciałbym dołożyć do tego opcję stroboskopu, czyli jeżeli wysyłając do kontrolera wartość "1" led świeci mocniej "0" słabiej, to za pomocą wysłania wartości "2" led mruga co 1s, "3" mruga co 0,5s. Wszystko podłączone do pinu 5 w arduino. Znalazłem na internecie parę przykładów ale wszystkie były w prostej pętli bez wywoływania ich za pomocą jakiejś wartości. Gdyby ktoś wiedział co dopisać żeby zrobić taką opcję stroboskopu do dotychczasowego programu który jest poniżej, byłbym bardzo wdzięczny.
    arduino - stroboskop sterowany bluetooth
  • Poziom 27  
    Musisz rozdzelić Wartosc na dwie zmienne Tryb i Wartosc. Nie wiem jak to przesyłasz więc musisz albo wysłać dwie opisane wartości albo jedną za drugą.
    Po odebraniu Tryb wchodzisz w warunek IF odpowiedzialny za dany tryb pracy. Potem Wartosc ustawia jasność lub czas mrygania.
    Aby uzyskać tryb mrugania musisz napisać pętlę realizującą mruganie. I ją przerywać w chwili pojawienia się sygnału z bluetooth.
    Chyba że jest jakiś inny sposób relizacji mrugania, już nie pamiętam. Na pewno są tzw timery, ale to już trochę za bardzo skomplikowane skoro masz takie pytania.
  • Poziom 4  
    udało mi się zrobić pętle tylko teraz mam problem z jej przerwaniem i włączeniem innej funkcji, wyczytałem że na arduino uno przerwania działają tylko na pinie 2 oraz 3, więc zmieniłem pin na 3, następnie dodałem na koniec pętli "if(data!=5){break;}", niestety w tedy pętla w ogóle nie działa, wie ktoś jaką komendą to przerwać żebym mógł wywołać inną funkcję
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 27  
    Noooo, z takiej pętli to nigdy nie wyjdziesz :)
    Data zawsze będzie równe 5. Musisz umieścić w tej pętli funkcje sprawdzającą czy przyszło coś z bluetooth. Jedynie tak możesz zmienić wartość data i wyjść z pętli.
  • Pomocny post
    Poziom 11  
    Wartość zmiennej wysyłanej z komputera poprzez terminal czy przez BTH jest przechowywana chwilowo. Warto wykorzystać SwitchStatement do setowania np. innej boolowskiej. W twoim przypadku będzie to mniej więcej tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Polecam wykorzystać bibliotekę SoftwareSerial do obsługi BTH. Nie gryzie się wtedy z np. HC-05.
    Jak to zrobić poniżej.
    Kod: c
    Zaloguj się, aby zobaczyć kod