Tajmer za foto postupak sa LCD

Sve vezano za mikrokontrolere

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Tajmer za foto postupak sa LCD

Post by DaTi »

Ovih dana planiram i ja probati foto postupak, pa sam napravio svoj tajmer i odlučio sam da ga podelim sa vama.
Sastoji se od pic16f84a i lcd displeya 2x16. Nevolim da korisim 7-segmentne displeje u multipleksu jer mi nisu pregledni, pa sam se odlucio za lcd. Uredjaj sam testirao i sve je ok radilo. Probao sam ga na probnoj ploci, jer plocicu nisam jos nacrtao a ni izradio.
Način rada:
Kada se upali ide splash screen koji traje oko 1.5 s
posle toga podesavamo vreme a to radimo tako sto tipkom set pomeramo kursor, a sa + i - povecavamo ili smanjujemo vrednosti naj veća vrednost je 23:59:59 format vremena je HH:MM:SS , kada se kursor postavi na OK onda je vreme podeseno i moze se pritisnuti tipka SET da se krene sa osvetljavanjem. Kada smo to uradili i pritisnuli SET, uredjaj kreće od 00:00:00 i broji do zadate vrednosti, a za to vreme drzi relej upaljenim. Kada se nalazi u stanju osvetljavanja mozete pauzirati vreme sa tipkom + a nastaviti sa -,takodje mozete prekinuti osvetljavanje sa SELECT. Kada se vremena poklope uredjaj gasi relej i ispisuje da je završio. Tipkom SET vraćate se na podesavanje vremena. Nadam se da nije komplikovano i da će vam koristiti :)
semu sam rukom crtao, jer mi je bio puko sistem i sve biblioteke od eagle otišle u pm... pa mi se nije dalo da ih trazim. Ima i slika uredjaja u radu na kojoj se vidi voltmetar na kome se nazire napon od 4 v koji je dovoljan za napajanje releja. Naravno tu je i hex za pic.

http://www.imagesforme.com/upload/10334691.jpg" onclick="window.open(this.href);return false;
http://www.imagesforme.com/show.php/720182_Schema.jpg" onclick="window.open(this.href);return false;
Firmware_foto_tajmer.rar
(1.78 KiB) Downloaded 705 times
User avatar
Smjesko
Stariji član
Stariji član
Posts: 4012
Joined: 26-12-2005, 17:12

Re: Tajmer za foto postupak sa LCD

Post by Smjesko »

Bilo bi vrlo korisno da si na jedan port dodao zvučnik ili zujalo koje bi označilo završetak programa osvjetljavanja.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Tajmer za foto postupak sa LCD

Post by pedja089 »

Koliku gresku pravi tajmer na 24 sata?
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: Tajmer za foto postupak sa LCD

Post by DaTi »

@pedja089 neznam, ja sam ga tetirao sta vremena i uporedjivao sam sa stopericom i nije bilo odstupanja.
@Smjesko ima led indikacija releja :D
User avatar
Smjesko
Stariji član
Stariji član
Posts: 4012
Joined: 26-12-2005, 17:12

Re: Tajmer za foto postupak sa LCD

Post by Smjesko »

Vidio sam da ima LED indikacija, ali nema zvučna :!:
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: Tajmer za foto postupak sa LCD

Post by DaTi »

Ću da je dodam, radim na tome ! :)
User avatar
Drago_Zg
Odlično uznapredovao
Odlično uznapredovao
Posts: 583
Joined: 16-09-2008, 19:40

Re: Tajmer za foto postupak sa LCD

Post by Drago_Zg »

"DaTi" ponukala me rasprava o tvom timeru. Pa me zanima da li zna skuhati kavu u 7 00 u jutro?
Daj, molim te, ne obaziri se na te fazone. Po meni a i nekih drugih, koji su to vidjeli smatraju
korektno napravljeni projekat. Tema i estetika izrade su više nego dobre. Riječi samo hvale.
Što će biti, kad sve to se stavi u kutiju ?
Pozdrav svim Forumašima!
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: Tajmer za foto postupak sa LCD

Post by DaTi »

Pa nemam baš vremena da nacrtam pcb i šemu da uradim u nekom programu... Ja bi to stavio u neku plasticnu kutiju i kontakte releja izvukao napolje i spojio na luster klemu, i tu kačio uv neonku, zivinu sijalicu itd...
Pa me zanima da li zna skuhati kavu u 7 00 u jutro?

:lol: nezna, ali pravim nešto da u 06:15 upali toster :D
User avatar
Drago_Zg
Odlično uznapredovao
Odlično uznapredovao
Posts: 583
Joined: 16-09-2008, 19:40

Re: Tajmer za foto postupak sa LCD

Post by Drago_Zg »

Pa naravno, to je ono vrijeme kad je jeftinija struja!!
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: Tajmer za foto postupak sa LCD

Post by DaTi »

ne, nego tada se ustajme za skolu :roll: :)
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re: Tajmer za foto postupak sa LCD

Post by sindja1204 »

DaTi wrote: Naravno tu je i hex za pic.
@DaTi, hajde postavi Source kod za ovaj tajmer.Planiram da nesto iskombinujem sa 16F877A ali u tom slucaju bi trebalo napraviti neke izmene u programu, vezane za portove Pic-a .
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: Tajmer za foto postupak sa LCD

Post by DaTi »

Code: Select all

@ DEVICE HS_OSC,WDT_OFF,PROTECT_OFF
DEFINE OSC 4 

DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_LINES 2 

VECE   VAR PORTA.0
MANJE  VAR PORTA.1
LEVO   VAR PORTA.2
DESNO  VAR PORTA.3
RELEJ  VAR PORTB.6
ZVUCNIK VAR PORTB.7
INPUT VECE
INPUT MANJE
INPUT LEVO
INPUT DESNO
OUTPUT RELEJ
OUTPUT ZVUCNIK 
tmp var byte
PRIKAZ      VAR WORD
PRIKAZ2     VAR WORD
pauza       var byte
STANJE      VAR byte
MINUTE      VAR BYTE
SEKUNDE     VAR BYTE
SATI        VAR BYTE
MINUTE2     VAR BYTE
SEKUNDE2    VAR BYTE
SATI2       VAR BYTE

clear 

PORTA = 0 
PORTB = 0

SPLASH:
relej = 0 
lcdout $fe,1, "DadoSoft 2009 "
lcdout $fe,$c0,">Foto tajmer<"
pause 1500
gosub main 

MAIN:

IF DESNO = 0 THEN 
   PAUSE 500
   STANJE = STANJE + 1 
endif

if stanje > 4 or stanje < 1 then stanje = 1

IF STANJE = 1 or STANJE = 2 or STANJE = 3  THEN

     if stanje = 1 then
        if vece = 0 then
           pause 100 
            sati = sati + 1 
        endif
        
        if manje = 0 then
        pause 100
        sati = sati - 1
        endif 
         if sati > 23 or sati < 0 then sati = 0
     endif 
     
     if stanje = 2 then
        if vece = 0 then
           pause 100 
           minute  = minute  + 1 
        endif
        
        if manje = 0 then
           pause 100
           minute = minute - 1
        endif 
         if minute > 59 or minute < 0 then minute = 0
     endif 
     
     if stanje = 3 then
        if vece = 0 then
           pause 100 
           sekunde = sekunde + 1 
        endif
        
        if manje = 0 then
           pause 100
           sekunde = sekunde - 1
        endif 
        if sekunde > 59 or sekunde < 0 then sekunde = 0
         
     endif
ENDIF 
PAUSE 100

IF levo = 0 AND STANJE = 4 THEN 
PAUSE 550
sati2 = 0
minute2 = 0
sekunde2 = 0 
tmp = 0
GOSUB ODBROJAVANJE
ENDIF

IF STANJE = 1 THEN PRIKAZ = "h"
IF sTANJE = 2 THEN PRIKAZ = "m"
if stanje = 3 then prikaz = "s"
if stanje = 4 then prikaz = "O"

IF STANJE = 1 THEN PRIKAZ2 = "h"
IF sTANJE = 2 THEN PRIKAZ2 = "m"
if stanje = 3 then prikaz2 = "s"
if stanje = 4 then prikaz2 = "K"
 
lcdout $fe,1, "Podesi vreme: "
lcdout $fe,$c0,">" ,dec2 sati,":",dec2 minute,":",dec2 sekunde," ",prikaz,PRIKAZ2

goto main

ODBROJAVANJE:
    for pauza = 0 to 97      
        pause 10            
        if vece = 0 then gosub postavi_pauzu
        if manje = 0 then gosub ukloni_pauzu
        if desno = 0 then gosub zavrseno
    next pauza
     
if  tmp = 0   then
RELEJ = 1
 sekunde2 = (sekunde2 + 1)



    if sekunde2 > 59 then
        minute2 = (minute2 +1)
        sekunde2 = 0
    endif

    if minute2 > 59 then
        sati2 = (sati2 + 1)
        minute2 = 0
    endif
else
relej = 0
endif
IF SEKUNDE = SEKUNDE2 AND MINUTE = MINUTE2 AND SATI = SATI2 THEN GOSUB ZAVRSENO 
    lcdout $fe,1, "Osvetljavanje: "
    lcdout $FE, $C0,"   *" ,dec2 sati2 ,":", dec2 minute2 ,":",dec2 sekunde2,"*"

  

goto odbrojavanje 

ZAVRSENO:
    relej = 0  
    if levo = 0 then
    pause 550 
    gosub main
    endif 
    pause 100 
    
    'sound ZVUCNIK, [220,100] 
    lcdout $fe,1, "Zavrseno! "
    lcdout $FE, $C0,"Pritisnite SET"
goto zavrseno  

postavi_pauzu:
    pause 400
    tmp = 1
return

ukloni_pauzu:
    pause 400
    tmp = 0
return
 
end
Eto ga sors kome treba, semu nikada nisam ni imao, bila je nacrtana na papiru ali... pitaj boga gde je to
Gargamel
Posts: 1
Joined: 19-04-2012, 11:26

Re: Tajmer za foto postupak sa LCD

Post by Gargamel »

linkovi na sheme vise ne rade

ako ih netko slučajno ima
bio bih zahvalan, ako ih ponovo postavi
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: Tajmer za foto postupak sa LCD

Post by DaTi »

Evo je i šema :D , posle 100god.. na papiru je nacrtana, tako da se nemojte uplašiti :)

https://www.dropbox.com/s/d23txm81rarntrp/Schema.jpg?m
Post Reply