logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Prośba o dokończenie programu sterującego wyłącznikiem oświetlenia

Rafał Piwowarczyk 11 Sie 2018 18:13 654 4
  • #1 17379008
    Rafał Piwowarczyk
    Poziom 11  
    Mam wielką prośbę a mianowicie z dokończeniem poniższego softu w bascom. Jestem początkujący w Bascom i programowaniu. A więc do rzeczy, zbudowałem sobie wyłącznik oświetlenia na module bluetooth hc05 i kontrolerze mega8. Napisałem soft i nie mam żadnego pomysłu jak go skończyć. Najpierw omówię działanie sterownika i jego logikę: po włączeniu zasilania sterownik się przedstawia przez trzykrotne włączenie i wyłączenie obydwu kanałów (lamp_1 oraz lamp_2). Poźniej sterownik przechodzi do pętli głównej czyli do jego pracy. W pętli znajduje się obsługa dwóch switchy które są aktywowane dwoma jumperami zwieranymi do masy. Jeden jumper steruje jednym kanałem a drugi jumper steruje drugim kanałem oraz można jednocześnie sterować dwoma kanałami przez bluetooth. Obsługę programową jumperów, switchy oraz bluetooth napisałem poprawnie i wszystko jest w porządku. Problem tkwi w oprogramowaniu samych ledów, są dwa ledy, jeden led obsługuje jeden kanał a drugi led drugi kanał. Logika programu polega na tym iż po wyłączeniu oświetlenia dioda led powinna być wyłączona a po włączeniu oświetlenia powinna pulsować z częstotliwością 1hz, analogicznie jest w drugim kanale. Sprawa niby bardzo banalna ale nie mam pojęcia jak ją rozwiązać programowo, gdyż jeden timer czyli timer0 wykorzystałem w programie do sterowania obydwiema diodami. Gdy włączam i wyłączam kanał 1 oraz kanał 2 dioda na kanale 2 nie pulsuje. Wpadłem na pomysł żeby wykorzystać timer0 do sterowania led1 na kanale 1 i timer1 do sterowania led2 na kanale 2. Po uruchomieniu dwóch timerów na raz sterownik w ogóle nie działa. Nie działa sterowanie switchami ani sterowanie przez bluetooth. Proszę was o pomoc w dokończeniu wsadu bo nie mam już zielonego pojęcia jak napisać sterowanie ledów na dwóch kanałach jednocześnie. Żeby można było niezależnie sterować dwoma diodami led, żeby pulsowały z częstotliwością 1Hz. Druga sprawa sterownik ma zapamiętywać ostatnie stany na wyjściach po wyłączeniu zasilania. Napisałem procedury obsługi pamięci eeprom lecz nie działają. Nigdy wcześniej nie zajmowałem się obsługą pamięci eeprom. Proszę was o pomoc za co z góry serdecznie dziękuję. Pozdrawiam serdecznie

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #2 17379031
    BlueDraco
    Specjalista - Mikrokontrolery
    Odpowiedź standardowa: zacznij od przerwania timera zgłaszanego z częstotliwością np. 100 Hz. W nim zrealizuj automaty sterujące wszystkim - załączaniem, miganiem.
  • #4 17379485
    Konto nie istnieje
    Konto nie istnieje  
  • #5 17381265
    Rafał Piwowarczyk
    Poziom 11  
    Już rozwiązałem problem który tkwił w timerach. Timery nie mogą pracować jednocześnie w jednej pętli. Teraz został do napisania kod do obsługi eeprom. Proszę o pomoc
REKLAMA