Nowy zegar z bajerami


Witam
Jestem początkujacym elektronikiem dlatego proszę o wyrozumiałość.

Właśnie zdobyłem wyświetlacz LCD (chyba 2x 30 znaków) dlatego postanowiłem zbudować zegar z kilkoma funkcjami.
Wymiary samego wyświetlacza (bez obudowy i bez płytki) to 100 i 25 mm.

Funkcje
- stoper gg,mm
- mnożenia czasu przez ustawioną stope wyrażoną w złotówkach
- pauza stopera
Opcjonalnie ale nie koniecznie
-funkcja zapisu czasu i ceny max 12h
- ma byc samo wystarczalny (żeby dało się odczytać i usunąć wynik bez kompa)

To mój pierwszy poważniejszy projekt (od podstaw) dlatego proszę o jakieś konkretne sugestie co i jak mam zrobić, co przeczytać, czego szukać itp.
Atmega 8 sobie z tym poradzi?

Najważniejsze to:
jak najprościej
jak najtaniej.




Portret użytkownika matrix

Re: Nowy zegar z bajerami

Najważniejsze to zaprezentuj nam co sam zrobiłeś? Od czego zacząłeś? Masz jakiś pomysł? Nikt za Ciebie niczego nie napisze bo nie tędy droga.

Portret użytkownika soniak

Zbudowałem kilka kitów,

Zbudowałem kilka kitów, kilkanaście pająków i coś tam jeszcze zbudowałem.
Na pewno nie smd (tylko przewlekane).
Z programowaniem nie miałem jeszcze do czynienia, ale od czegoś trzeba zacząć.

Ja nie potrzebuje gotowych projektów tylko jakieś sugestie co szukać, pod jaka nazwą.

-

Just for Fun ;)

Portret użytkownika matrix

Re: Nowy zegar z bajerami

Co do mojego pytania co do tej pory zrobiłeś miałem na myśli co zrobiłeś w kierunku napisania tego zegara o którym wspomniałeś. Budowa kitów to nie pisanie programów od podstaw. Z pewnością żaden z piszących teraz "grubsze" programy nie zaczynał od razu od pisania zegarów i to tak stosunkowo zaawansowanych.

Jeśli od tego zaczniesz to napotkasz tyle kłopotów że Cię to zniechęci.

Jeśli z programowaniem nie miałeś jeszcze styczności to nie bierz się za zegar z tyloma funkcjami. To nie jest złośliwość z mojej strony tylko dobra rada.

Musiał byś wykorzystać jakiś RTC, zapis do jakiejś pamięci EEprom. Więc już poza samym napisaniem softu do odliczania czasu masz dwa kłopoty. Komunikacja po I2C z RTC i komunikacja z EEprom.

Portret użytkownika mirley

Re: Zegar

Kolega ma rację trzeba zacząć od podstaw. Polecam złożyć układ chociażby na płytce stykowej, mikrokontroler + LCD + elementy potrzebne do pracy uC i LCD. Podłączyć do tego programator i zobaczyć czy wogóle uda Ci się cokolwiek zaprogramować. Potem dopiero zaczyna się od pisania napisów po LCD i powoli dojdziesz do timerów i zegarów.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika soniak

Znalazłem takie coś

Znalazłem takie coś [url=mikrokontrolery http://mikrokontrolery.net/avr_c_08.htm[/url]

Niestety za bardzo nie rozumiem nic ;/

-

Just for Fun ;)

Portret użytkownika mirley

Re: Zegar

A czemu zabrałeś się za C jak my tu głównie w bascomie piszemy? Poczytaj któryś z moich programów z LCD. np miernik obrotów, wyświetlacz LCD na RS itp

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika soniak

Dzięki

Czy ten schemat się nada? http://mirley.firlej.org/timer_fotograficzny#
według mnie tak usunie się tylko buzer.
Do tego nowy wsad i działa. Czy tak ?

Wieczorem coś po kombinuje z tym wsadem.

Ps. Tego bascom-a trochę rozumiem, Wiem co gdzie i jak się dzieje.

-

Just for Fun ;)

Portret użytkownika soniak

Napisałem takie coś.

wyedytowałem takie coś.

  '************* Konfiguracja uC *****************
'***********************************************
$regfile = "m8def.dat"
$crystal = 16000000
 
Config Portb = &B11111111 : Portb = &B11111111
Config Portc = &B11111111 : Portc = &B11111111
Config Portd = &B00000011 : Portd = &B11111111
 
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config Lcd = 30 * 2
Deflcdchar 0 , 32 , 32 , 32 , 32 , 32 , 31 , 14 , 4
Cls
Cursor Off Noblink
 
Sw_port Alias Pind
Triak Alias Portb.2
Triak2 Alias Portb.1
Buzzer Alias Portd.1
 
Config Timer0 = Timer , Prescale = 256
Enable Timer0 : On Timer0 Prztimer0
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Tryb As Byte , Wyswietl As Byte
Dim Odliczanie As Bit , Poz_ust As Byte
Dim Licz_01s As Word , Licz_01s_u As Word , Dzielnik As Byte
Dim Help As Word
Dim Flaga_4ms As Bit
Dim Sw As Byte , Stan_sw As Byte , Licznik_sw As Byte
'*************  Zmienne Koniec  ****************
'************ Warunki Poczatkowe ***************
'***********************************************
Licz_01s = 600
Licz_01s_u = 600
 
Wyswietl = 1
Poz_ust = 2                                                 'ktora sie ustawia pozycja
'*******  Warunki Poczatkowe Koniec  ***********
Lcd "  Wersja  0.97  "
Lowerline
Lcd " Autor:  Mirley"
Wait 2
Reset Buzzer
Waitms 200
Set Buzzer
'**************  Petla glowna ******************
'***********************************************
Do
  If Flaga_4ms = 1 Then
    Flaga_4ms = 0
    Gosub Wyswietlanie
    Gosub Przyciski
  End If
Loop
End
'************ Petla glowna Koniec **************
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer0:                                                  'co 4ms
  Timer0 = 5
  Flaga_4ms = 1
  If Odliczanie = 1 Then
    Incr Dzielnik
    If Dzielnik = 25 Then
      Dzielnik = 0
 
      If Licz_01s = 0 Then
        Gosub Zatrzymaj_liczenie
      Else
        Decr Licz_01s
        Wyswietl = 2
      End If
 
    End If
  Else
    Dzielnik = 0
  End If
Return
'******** Przerwanie timer 0 Koniec ************
 
'**************    Wyswietlannie    ***********
Wyswietlanie:
 If Wyswietl <> 0 Then
  Select Case Wyswietl
    Case 1:
      Cls
      Lcd "            Stop"
      Locate 1 , Poz_ust
      Lcd Chr(0)
    Case 2:
      If Tryb <> 2 Then
        Cls
        Lcd " Odliczanie ..."
      End If
    Case 3:
      Cls
      Lcd "   Podglad"
    Case 4:
      Cls
      Lcd "   Przerwa"
 
  End Select
 
  Help = Licz_01s Mod 10                                    'dzies sek
  Locate 2 , 7
  Lcd "," ; Help ; "  mm:ss"
  Help = Licz_01s / 10
  Help = Help Mod 60                                        'sekundy
  Locate 2 , 4
  Lcd ":"
  If Help < 10 Then Lcd "0"
  Lcd Help
  Help = Licz_01s / 600                                     'minuty
  Locate 2 , 2
  If Help < 10 Then Lcd "0"
  Lcd Help
 
  Tryb = Wyswietl
  Wyswietl = 0
 End If
Return
'************** Wyswietlannie Koniec ***********
 
'**************    Przyciski  ***********
Przyciski:
Sw = Sw_port And &B11111100
 
If Sw <> &B11111100 And Stan_sw = Sw Then
    Incr Licznik_sw
    If Licznik_sw = 100 Then
      Licznik_sw = 0
      Select Case Stan_sw
        '*********************
        Case &B01111100:                                    'up   start
          If Tryb = 1 Then
            Select Case Poz_ust
              Case 2:
                If Licz_01s_u <= 54009 Then Licz_01s_u = Licz_01s_u + 6000
              Case 3:
                If Licz_01s_u <= 59409 Then Licz_01s_u = Licz_01s_u + 600
              Case 5:
                If Licz_01s_u <= 59909 Then Licz_01s_u = Licz_01s_u + 100
              Case 6:
                If Licz_01s_u <= 59999 Then Licz_01s_u = Licz_01s_u + 10
              Case 8:
                If Licz_01s_u <= 60008 Then Licz_01s_u = Licz_01s_u + 1
            End Select
            Licz_01s = Licz_01s_u
            Wyswietl = 1
          Else
            Gosub Zatrzymaj_liczenie
          End If
        '*********************
        Case &B10111100:                                    'right  wznowienie
          If Tryb = 1 Then
            Incr Poz_ust
            If Poz_ust = 9 Then Poz_ust = 2
            If Poz_ust = 4 Then Poz_ust = 5
            If Poz_ust = 7 Then Poz_ust = 8
            Wyswietl = 1
          Else
            Gosub Zatrzymaj_liczenie
          End If
        '*********************
        Case &B11101100:                                    'down  zatrzymaj
        If Tryb = 1 Then
            Select Case Poz_ust
              Case 2:
                If Licz_01s_u > 6000 Then Licz_01s_u = Licz_01s_u - 6000
              Case 3:
                If Licz_01s_u > 600 Then Licz_01s_u = Licz_01s_u - 600
              Case 5:
                If Licz_01s_u > 100 Then Licz_01s_u = Licz_01s_u - 100
              Case 6:
                If Licz_01s_u > 10 Then Licz_01s_u = Licz_01s_u - 10
              Case 8:
                If Licz_01s_u > 1 Then Licz_01s_u = Licz_01s_u - 1
            End Select
            Licz_01s = Licz_01s_u
            Wyswietl = 1
          Else
            Gosub Zatrzymaj_liczenie
          End If
 
        '*********************
        Case &B11011100:                                    'left   zatrzymaj 
         If Tryb = 1 Then
            Decr Poz_ust
            If Poz_ust = 1 Then Poz_ust = 8
            If Poz_ust = 4 Then Poz_ust = 3
            If Poz_ust = 7 Then Poz_ust = 6
            Wyswietl = 1
          Else
            Gosub Zatrzymaj_liczenie
          End If
 
      End Select
    End If
  Else
    Stan_sw = Sw
    Licznik_sw = 70
  End If
Return
'************** Przyciski Koniec ***********
'**************    Stop  ***********
Zatrzymaj_liczenie:
  Set Triak
  Reset Triak2
  Licz_01s = Licz_01s_u
  Odliczanie = 0
  Wyswietl = 1
Return
'************** stop Koniec ***********

Niestety jestem pewien ze nie będzie działać ale ukazałem co chce zrobić.
W cześci przyciski napisałem co maja robić. powiedz czy cokolwiek zbliżyłem się do końca projektu?

-

Just for Fun ;)

Portret użytkownika matrix

Re: "Napisałem takie coś"

Jak coś wyedytowałeś to zaprogramój procesor, zrób płytkę. Zacznij cokolwiek bo nikt za Ciebie niczego nie zrobi. Pomożemy, podpowiemy, ale za Ciebie programu nie napiszemy. W ten sposób nie nauczysz się niczego.

Portret użytkownika soniak

NIedługo zakupie podzespoły

Ten schemat będzie dobry? http://mirley.firlej.org/timer_fotograficzny# chyba tak.

-

Just for Fun ;)

Portret użytkownika mirley

Re: Zegar

Skorzystaj ze schematu i płytki mojego timera fotograficznego...... Wtedy szkielet programu zostanie ten sam tylko trzeba będzie dopisać wnętrze. Jak zrobisz płytkę to zaprogramuj ją programem od timera żeby dowiedzieć się że wszystko jest ok, potem będziemy myśleć nad programem

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika soniak

Juz kupuje procka.

Juz kupuje procka.

-

Just for Fun ;)

Portret użytkownika gosc

LCD

Wiecie gdzie szukać not katalogowych do wyświetlacza lcd 2x 16?
ma 14 +4 piny z osobnym podświetleniem (chyba)
PHICO D-0 YL162-B0
00 16 94v-0 SY4SYH42S-R02
Potrzebuje oznaczenia wyprowadzeń pinów.
Znalazłem te firme a nie ma tam tego modelu ;/

Portret użytkownika matrix

Re: LCD

Nic co nie jest zgodne ze sterownikiem HD74.... nie będzie działało w bascomie.

Portret użytkownika soniak

LCD

Czyli ten wyświetlacz to złom?

-

Just for Fun ;)

Portret użytkownika gosc

nowy lcd

Znalazłem nowy LCD (chyba) 1x16 ma tam procesor HD4478.
Pytanie jak i gdzie szukać daty, do tego wyświetlacza?

Portret użytkownika soniak

Nowy LCD

Poszedłem dalej zrobiłem testy i wy wnioskowałem że:
pin 1 gnd
pin 2 wcc
pin 3 vlc

wnioskuje że reszta pinów tez się zgadza tylko brakuje mu podświetlenia.

-

Just for Fun ;)

Portret użytkownika soniak

programowanie

Mam pytanie: co robię źle?

Nie mogę zaprogramować atmegi.
zasilanie jest kable podpięte prawidłowo.

-

Just for Fun ;)

Portret użytkownika mirley

Re; Programowanie

Programujesz przez LPT? ustwiłeś port w biosie na odpowiedni tryb? W bascomie ustawiłeś odpowiedni programator? Coś musi być nie tak bo inaczej napewno by zadziałało, może brak masy?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika soniak

LPT

Tak programuje przez LPT. W biosie mam ustawione ECP+ESP. W bascomie wybieram atmega8.

To ID:FFFFFFFF to znaczy ze wykryło procka czy ze nie wykryło?

PRogramuje tak jak tu http://mirley.firlej.org/jak_zaprogramowac_pierwszy_avr

-

Just for Fun ;)

Portret użytkownika mirley

Re: Procek

A masz tego M8 nowego, czy już go gdzieś miałeś? Sprawdź jeszcze raz konstrukcję programatora, ważny jest każdy szczegół. Kable nie powinny być długie. Czy w menadżerze urządzeń widać LPT?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika soniak

Tak procka mam nowego. Tak

Tak procka mam nowego. Tak widać LPT.
Mam pytanie:
Czy schemat tego LPT jest od strony pinów lutowniczych, czy frontu?

Czy nie zaprogramowana mega8 ma jakieś oznaki życia, jakiś stan wysoki czy coś?

Widziałem nie jeden schemat programatora na LPT i każdy był inny.

-

Just for Fun ;)

Portret użytkownika mirley

Re: LPT

Patrz na numerki pinów, są na każdej wtyczce i gniazdku DB25. Symbol na schemacie może być dowolnie narysowany bo to tylko symbol

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika soniak

Działa !!!

Rzeczywiście miałem jakoś dziwnie podłączone. Myślałem ze niema tych numerków ale są tylko tam głęboko we wtyczce. Teraz zaczynam się bawić z wsadem.

Dziękuje uprzejmie.

-

Just for Fun ;)

Portret użytkownika soniak

Mam jeszcze takie ostatnie

Mam jeszcze takie ostatnie pytanie. Jak kod taki z forum moge zapisać BASCOMem-AVR w formacie ".bin"?

-

Just for Fun ;)

Portret użytkownika mirley

Re: Kod

bin lub hex to wynik kompilacji. Utwórz nowy plik w bascomie i wklej kod. Następnie skompiluj bascomem i powstanie bin

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.