tajmer pitanje ?

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
User avatar
pilgrim
Pocetnik na forumu
Pocetnik na forumu
Posts: 36
Joined: 29-10-2010, 20:58

tajmer pitanje ?

Post by pilgrim »

elektronikom se bavim iz hobija i ne znam ništa o mikrokontrolerima, pa mi je potrebna pomoć.
Treba mi neka vrsta tajmera koja će raditi sledeću stvar:
sedam minuta pokrene neki rele, zatim 20 minuta ga ugasi, pa pet sedam minuta radi, 20 minuta ugašen, sedam minuta radi i onda gasi uređaj.
Mislio sam da to uradim sa nekoliko NE555 ali bitno je da uređaj bude što manji pa mislim da je mikrokontroler rešenje.

Ako neko ima ideju i želi da pomogne (hex file) bio bih jako zahvalan(ima pivo kada dođe u NS) :D

pozdrav iz Novog Sada
Dušan

PS iz programiranja znam da to može da se uradi sa 5 petlji ali ne znam da programiram za mikrokontrolere i mislim da je bolje da to uradi neko ko ima više iskustva.
Dok sam bio mlađi nešto sam i znao, sada vidim da ništa ne znam......
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re: tajmer pitanje ?

Post by sindja1204 »

Code: Select all

symbol reley=porta.0
output led
 i var byte
pocetak:
  cmcon=7
  for i =1 to 7
  high reley
  pause 60000
  next i    
  for i =1 to 20
  low reley
  pause  60000
  next i
  goto pocetak
  
  end


Nisam dobro razumeo. Da li kod treba da pali relej 7min a onda ga ugasi 20 samo u tri ciklusa kako si napisao ili se ciklusi ponavljaju neprestano.
Za neprestano ponavljanje je ovaj kod. U zavisnosti koji pic upotrebis,izaberi koji ces port da koristis za aktiviranje relea.
User avatar
pilgrim
Pocetnik na forumu
Pocetnik na forumu
Posts: 36
Joined: 29-10-2010, 20:58

Re: tajmer pitanje ?

Post by pilgrim »

hvala na ovome ali mi treba detaljnija pomoć :)

tj. koji pic da uzmem?

napajanje će biti sa tri baterije po 9V i potrebna su samo tri ciklusa 7-20-7-20-7

hvala unapred
pozz
Dok sam bio mlađi nešto sam i znao, sada vidim da ništa ne znam......
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re: tajmer pitanje ?

Post by sindja1204 »

Mozes da upotrebis Pic 12F629, 12F675, 16F84A,...16F628A... Za prva dva pica moras u kodu da preimenujes portove. Napajanje pica je 5V, pa ako koristis tri baterije od 9v moras da stavis naponski regulator 78L05 koji ogranicava napon na 5V. Za tri ciklusa paljenja i gasenja relea, trebalo bi ubaciti jos jednu for petlju i jednu promenljivu . Mozda i jednu funkciju tastera, pa bi se program startovao pritiskom na taster i nakon tri ciklusa iskljucivao.. Medjutim mozes to da uradis i mnogo jednostavnije , ponavljanjem tri puta ovog prethodnog koda

Code: Select all

symbol reley=porta.0
output reley
i var byte

  CMCON=7
  for i =1 to 7
  high reley
  pause 60000
  next i   
  for i =1 to 20
  low reley
  pause  60000
  next i
  
  for i =1 to 7
  high reley
  pause 60000
  next i   
  for i =1 to 20
  low reley
  pause  60000
  next i
   
  for i =1 to 7
  high reley
  pause 60000
  next i 
 
  low reley
   end

  
Ako koristis 12F629 ili 12F675 umesto Symbol reley=porta.0 pises Symbol reley=GPIO.0. Naravno mozes da upotrebis i druge portove zavisno od pic -a... Pogledaj datasheet pica koji upotrebis.
User avatar
pilgrim
Pocetnik na forumu
Pocetnik na forumu
Posts: 36
Joined: 29-10-2010, 20:58

Re: tajmer pitanje ?

Post by pilgrim »

ok, puno hvala...

ako negde zapnem..eto mene opet

:)
Dok sam bio mlađi nešto sam i znao, sada vidim da ništa ne znam......
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re: tajmer pitanje ?

Post by sindja1204 »

Evo ti jos jedan kod. Relej se aktivira tasterom i nakon tri ciklusa iskljucuje.

Code: Select all

symbol reley=porta.0
symbol taster=porta.4
  output reley
  input taster
  i var byte
  t var byte
  CMCON=7
  pocetak :
  if taster=0 then
  for t=1 to 3
  for i =1 to 7
  high reley
  pause 60000
  next i   
  for i =1 to 20
  low reley
  pause  60000
  next i
  next t
  endif
  goto pocetak
  end
Post Reply