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

[ATtiny2313][Bascom] Timer, 4min-OFF:4sek-ON+warunek

Jarosław Filipiuk 23 Maj 2008 00:37 3777 3
REKLAMA
  • #1 5170532
    Jarosław Filipiuk
    Poziom 14  
    Witam Kolegów!
    Po przeczytaniu warunków umieszczania postu w pierwszej chwili zrezygnowałem z pisania lecz potem powiedziałem sobie: "a co mi tam".

    Mam kłopot, którym jest mój pierwszy kod.
    Chciałbym zbudować prostą wersję odstraszacza szpaków w oparciu o ideę: AVT2753, EDW5/2005 http://sklep.avt.pl/p/pl/48250/strach+na+szpaki+-+zestaw+do+samodzielnego+montazu.html

    Zasada działania jest prosta uP generuje przebieg o wypełnieniu 4minuty "0" i 4sekundy "1" z warunkiem zewnętrzym, który ustawia stan niski (na wyjściu) w momęcie kiedy na wejściu (detekcja nocy) pojawi się jeden lub zero (w zależności od konfiguracji sprzętowej fototranzystora).

    Układ po takim uproszczeniu sprowadza się do małego procesora (cztery nogi wystarczą: Vcc, GND, IN, OUT) oraz kilku elementó zewnętrznych.

    Na warsztat brałbym attiny2313 w konfiguracji gen. wewnętrznego.
    Tylko jest problem - od czego zacząć pisząc program, pierwszy program:)?
    Wiem, że jest wiele materiałów o programowaniu np w języku Bascom ale czas nagli tak bardzo, że jestem skłonny wykonać układ w oryginale lub z niewielką pomocą prościej i subtelniej na procu.

    Czy jest ktoś kto mi może pomóc?
    Filip
  • REKLAMA
  • #2 5174537
    januss73
    Poziom 32  
    Najlepiej zacząć od http://www.elektroda.net/download/pafiledb.php?action=download3&id=939

    Wyjaśnienie jak ten program napisać to o wiele większa fatyga niż program napisać. Skoro mówisz, że chcesz to zrobić sam, przyjemnej lektury.

    Mam nadzieje, że wiesz że układ czasowy z wyłącznikiem zmierzchowym to tylko połowa sukcesu. Potrzeba ci jeszcze generator tego "przeraźliwego dźwięku"
  • REKLAMA
  • Pomocny post
    #3 5176008
    cyberdar
    Poziom 31  
    Witam

    Musisz skonfigurować Timer i za jego pomocą odliczyć 4 minuty.

    
    
    $Crystal = 11059200
    
    Config Timer1 = Timer, Prescale = 1024
    Load Timer1 , 10800
    On Timer1 Sekunda
    
    Config Pind.1 = Output : Wy Alias Portd.1 
    Config Pind.2 = Input : We Alias Portd.2 
    
    Dim Licznik_1 As Byte
    Dim Wsk As Bit
    
    Enable Timer1
    Enable Interrupts
    
    Licznik_1=0
    Wsk = 0
    
    Do
    If We = 0 And Wsk = 1 Then Wy = 1
    Loop
    
    Sekunda:
     Load Timer1 , 10800
     Incr Licznik_1
    
     If Licznik_1 = 240 Then 
      Wsk = not Wsk
       Licznik_1 = 0
     End If
     Return
    
    


    To jest ogólny zarys programu a nie gotowy program ale powinien na początek wystarczyć.

    --
    pozdrawiam
  • #4 5188520
    Jarosław Filipiuk
    Poziom 14  
    Kolego,
    podałeś mi kawę na ławę:)

    Dzięki wielkie!

    Postaram się tylko zmienić ten kwarc na gen. wewnętrzny i całość prawie gotowa. Dokładność czasowa w tym układzie nie ma znaczenia.
REKLAMA