www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

LED svetlika s programi
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
tender
Član
Član



Pridružen-a: Čet 13 Dec 2007 15:01
Prispevkov: 13
Aktiv.: 0.06
Kraj: Slovenj Gradec

PrispevekObjavljeno: Tor Dec 25, 2007 12:15 am    Naslov sporočila:  LED svetlika s programi Odgovori s citatom

Lp.

Rabil bi vašo pomoč.
Namreč rad bi naredil LED svetilko, ki ima 12 LED-diod ( visokosvetlečih ).
Te ledice bi rad prežigal z neko tipko. Tipko bi vezal na AVR mikroprocesor ( ATTiny12 ) na maso. In ko bi tipko pritisnil prvič bi se prižgale notranje 4 ledice. Ko bi tipko pritisnil drugič bi se prižgale ostale ledice. Ko bi tipko pritsnil tretjič bi začele vse ledice vtripati in seveda ko bi pritisnil četrtič bi se vse ledice ugasnale. Sem začetnik v programirjanju AVR-jev in mislim da bi bilo to narediti enemu mojstru mogoč mala malica.
Podoben projekt je napisan za PIC čip vendar jaz bi želel z AVR-ji saj bi se rad iz tega programa tudi kaj sam naučil.
Ko bo, če bo projekt narejen ga bom objavil.
Hvala vsem za odgovore in lepe praznike.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.71
Kraj: Mengeš

PrispevekObjavljeno: Tor Dec 25, 2007 11:00 am    Naslov sporočila:   Odgovori s citatom

hm...sicer te razumem zakaj bi rad to sam delal, ampak a ne bi raje kaj bolj kompliciranega delal (npr da kaj šibajo, karkoli)? Tako naglavno svetilko z natančno enakimi funkcijami sem jaz kupil za 7 € - z malo smole za ta denar niti LEDic ne dobiš.
Mogoče je pa to vseeno dober projekt za učenje okoli mikrokontrolerjev Wink
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
tender
Član
Član



Pridružen-a: Čet 13 Dec 2007 15:01
Prispevkov: 13
Aktiv.: 0.06
Kraj: Slovenj Gradec

PrispevekObjavljeno: Tor Dec 25, 2007 12:41 pm    Naslov sporočila:   Odgovori s citatom

protoncek...knight rider sem že naredil z ATtiny2313 in nanj priklopil 14 LEDic. Naredil sem tudi stikalo s katerim zbiram dva programa za ta knight rider. Vendar potrebujem pomoč, da bi se naučil na tipko in s katero spreminjaš izhode. Ko bi se to naučil lahko narediš marsikaj. V glavi imam kako bi naj naredil...nek števec kateremu daš impulz in se mu poveča stanje ali celo z neko spremenljivko ob vsakem pritisku se mu poveča npr. X+1. Vendar jaz bi to potreboval program od mojstra, da bi mi to delovalo. Najlepša hvala.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.71
Kraj: Mengeš

PrispevekObjavljeno: Tor Dec 25, 2007 12:45 pm    Naslov sporočila:   Odgovori s citatom

jasno. Gotovo se bo našel kdo, ki tole bere tudi med prazniki. Veliko sreče...(BTW...jaz še zbiram pogum da bi začel s kontrolerji Sad )
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
tender
Član
Član



Pridružen-a: Čet 13 Dec 2007 15:01
Prispevkov: 13
Aktiv.: 0.06
Kraj: Slovenj Gradec

PrispevekObjavljeno: Tor Dec 25, 2007 1:28 pm    Naslov sporočila:   Odgovori s citatom

Smile
jaz sem začel pred kakšnim mesecem in mi ni žal...vendar potrebuješ nekoga, ki ti razloži in potem delaš projekte in s tem otrjuješ znanje in se učiš novih stvari. Če boš delo z AVRji si naredi STK200 programator ( 5 € max. ) na LPT port.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.71
Kraj: Mengeš

PrispevekObjavljeno: Tor Dec 25, 2007 1:34 pm    Naslov sporočila:   Odgovori s citatom

saj to med drugim še ne vem, s katerimi bi začel - je kar veliko tega. Imam revijo Elektor pa se bom mogoče pa podlagi tega odločil, tako da lahko še kakšen projekt od tam realiziram...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
tender
Član
Član



Pridružen-a: Čet 13 Dec 2007 15:01
Prispevkov: 13
Aktiv.: 0.06
Kraj: Slovenj Gradec

PrispevekObjavljeno: Tor Dec 25, 2007 1:43 pm    Naslov sporočila:   Odgovori s citatom

res je veliko ampak AVR-ji niso toliko dragi in veliko lahko z njimi narediš Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
rplink3r
Član
Član



Pridružen-a: Tor 06 Feb 2007 20:02
Prispevkov: 507
Aktiv.: 2.26
Kraj: Levec

PrispevekObjavljeno: Tor Dec 25, 2007 1:54 pm    Naslov sporočila:   Odgovori s citatom

Attiny12 nima rama, zato je bolje da vzameš kakšnega drugega, sicer pa če so že omenjeni programatorji -

za cca. 20eur narediš tole:
http://www.obdev.at/products/avrusb/avrdoper.html
Zadeva je vredu, kompatibilna z večino softwera in tudi na prenosnikih brez LPT in serijskega bo delal Cool, zadeva ima tudi HVSP, kar pomeni da lahko še reset pin uporabiš kot I/O pin, edini problem je, da prej rabiš recimo STK200, da lahka sprogramiraš atmego8 Sad .

_________________
"The statement below is false."
"The statement above is true."
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
tender
Član
Član



Pridružen-a: Čet 13 Dec 2007 15:01
Prispevkov: 13
Aktiv.: 0.06
Kraj: Slovenj Gradec

PrispevekObjavljeno: Tor Dec 25, 2007 4:59 pm    Naslov sporočila:   Odgovori s citatom

no ni važno bom vzel drugi AVR. Sam da bodelal ta program.
ATtiny12 sem pa vzel zato ker ima 8 pinov, da je čim manjši nism pa vedel, da nebo šlo tega.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Domenius
Član
Član



Pridružen-a: Sre 30 Nov 2005 14:15
Prispevkov: 1188
Aktiv.: 5.01
Kraj: Medvode

PrispevekObjavljeno: Tor Dec 25, 2007 5:09 pm    Naslov sporočila:   Odgovori s citatom

Za tiste lučke ne rabiš veliko rama, tako da lahko uporabiš registre za shranjevanje spremenljivk.
_________________
It's electric!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1715
Aktiv.: 7.23
Kraj: Ig

PrispevekObjavljeno: Tor Dec 25, 2007 5:33 pm    Naslov sporočila:   Odgovori s citatom

V kakem okolju bi pa ti to programiral? CVAVR, Bascom, ASM ?! V Bascomu to rešiš z debounce funkcijo in parimi vrsticami kode. rabiš 1 vhod in 2 izhoda, ki ju ojačaš s tranzistorjem. Za zaporedno vezavo ledic boš moral dvigniti napetost, ali zaporedno vezati več akumulatorjev.

LP G

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
tender
Član
Član



Pridružen-a: Čet 13 Dec 2007 15:01
Prispevkov: 13
Aktiv.: 0.06
Kraj: Slovenj Gradec

PrispevekObjavljeno: Tor Dec 25, 2007 6:00 pm    Naslov sporočila:   Odgovori s citatom

ups to sem pa pozabil napisati. Programiral bi v Bascomu. Za vezje ni panike mene koda veliko bolj muči. Sad
Če je res par vrstic mi lahko napišeš to kodo, ti bom zelo hvaležen Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5536
Aktiv.: 24.04
Kraj: Domzale

PrispevekObjavljeno: Tor Dec 25, 2007 10:18 pm    Naslov sporočila:   Odgovori s citatom

Naj ti bo, ker imam ravno bolj ali manj narejeno... Wink
Je za lightshow - vkolikor bi želel le omejeno funkcionalnost, ki jo omenjaš, pač spremeniš "programe" po svoji želji. Hitrost utripanja (in vse z njo povezane spremenljivke in zanke) pa lahko tudi ukineš in s tem še bistveno poenostaviš zadevo. V tvojem primeru je dovolj le en interrupt, s katerim prestavljaš med programi, sestaviš pa si 4 programe: ko so vsi izhodi izklopljeni, ko je vklopljenih le nekaj ledic, ko so vklopljene vse ledice in utripanje.
Pivo ob priliki... Wink

LP,

[edit] - spremenil program, da dela to, kar mora... Wink


Nazadnje urejal/a mucek Sre Dec 26, 2007 12:34 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5536
Aktiv.: 24.04
Kraj: Domzale

PrispevekObjavljeno: Sre Dec 26, 2007 12:22 pm    Naslov sporočila:   Odgovori s citatom

No, sem spremenil še to...
Se pravi:
-Program 1 (ob vklopu): vse LED so izklopljene
-Program 2 (en pritisk na tipko): Vklopijo se prvi štirje pini (pc.0-pc.3)
-Program 3 (še en pritisk): Vklopi se cel register (pc.0-pc.7)
-Program 4 (še en pritisk): Utripanje (na 1s)
-Še en pritisk - skok v program 1 (LED ugasnjene)

Drug set programov (ki je v trenutni kodi deaktiviran) deluje podobno, a spreminja svetilnost;
-Program 1 (ob vklopu): vse LED so izklopljene
-Program 2 (en pritisk na tipko): LED svetijo z delno močjo
-Program 3 (še en pritisk): LED svetijo s polno močjo
-Program 4 (še en pritisk): Utripanje (na 1s)
-Še en pritisk - skok v program 1 (LED ugasnjene)

Koda:

'========================================================================================================
'= LED Svetilka                                                                                         =
'=                                                                                                      =
'= (C) Mucek; www.elektronik.si                                                                         =
'= Program se lahko prosto uporablja, dokler se poleg navaja vir (www.elektronik.si) in avtorja (mucek) =
'=                                                                                                      =
'= Program sem testiral na AT MEGA8515 na 8MHz (interni oscilator), za praktično uporabo bo bolje vzeti =
'= manjši kontroler. V primeru uporabe močnejših LED diod jih je potrebno vezati preko tranzistorja,    =
'= saj kontroler zagotavlja le cca. 15mA toka po izhodu. Za razne skurjene primerke nisem odgovoren...  =
'=                                                                                                      =
'========================================================================================================

Config Portc = Output                                       'izhodi za LED je port C, nastavimo poljubno
Dim Program As Byte                                         'Številka izbranega programa
Enable Interrupts                                           'Omogočimo interrupte za tipko
Enable Int0                                                 'Na Int0 imamo priklopljeno tipko
On Int0 Program                                             'Ob pritisku na tipko skočimo v podprogram "Program" za menjavo programa

'Začetne spremenljivke (na katere se postavi kontroler po vklopu)
Program = 1


'*******************************************************************************
'Glavna zanka
'Gledam vrednost spremenljivke "program" in glede na vrednost skočim v izbran podprogram za način svetenja

Main:
Do
   If Program = 1 Then
         Goto Program1
      Elseif Program = 2 Then
         Goto Program2
      Elseif Program = 3 Then
         Goto Program3
      Elseif Program = 4 Then
         Goto Program4
   End If
Loop

'*******************************************************************************


'PROGRAMI ZA SPREMINJANJE SPREMENLJIVK PREKO INTERRUPTOV
Program:                                                    ' Zamenjam program
   Incr Program                                             ' Povečam spremenljivko program za 1
   If Program = 5 Then                                      ' Imam programe 1 - 4; če pridem do 5 se vrnem na 1
      Program = 1
   End If
   Waitms 250                                               ' Delay, da ob daljšem pritisku na tipko ne preskoči več programov;
   Return                                                   ' če se to vseeno dogaja, je potrebno dodati še več delaya
                                                             ' (npr. wait 1)
'-------------------------------------------------------------------------------

'PROGRAM OSVETLITEV 1 (regulacija svetlosti s številom prižiganja LED diod)

'!!!!! Lahko uporabiš le en tip programa naenkrat, drugega izbriši !!!!!
'      (program osvetlitev 1 ali program osvetlitev 2)

Program1:                                                   'Vse LED ugasnjene
      Portc = &B00000000
      Goto Main

Program2:                                                   'Prižgane prve 4 LED
      Portc = &B11110000
      Goto Main

Program3:                                                   'Prižgane vse LED
      Portc = &B11111111
      Goto Main

Program4:                                                   'Utripanje
      Portc = &B11111111
      Wait 1                                                'Za hitrejše utripanje zmanjšaj "Wait 1" na npr. dva ukaza "Waitms 250"
      Portc = &B00000000                                    ' (max. vrednost Wait/waitms/waitus je 255, zato je treba za npr 500ms dati
      Wait 1                                                ' 2 ukaza po 250 ms
      Goto Main


'PROGRAM OSVETLITEV 2 (regulacija svetlosti s (kvazi, a razumljivo ;) ) PWM regulacijo)
'
'!!!!! Lahko uporabiš le en tip programa naenkrat, drugega izbriši !!!!!
'      (program osvetlitev 1 ali program osvetlitev 2)
'(
Program1:                                                   'Vse LED ugasnjene
      Portc = &B00000000
      Goto Main

Program2:                                                   'Polovična svetilnost
      Portc = &B11111111
      Delay
      Portc = &B00000000
      Delay : Delay : Delay : Delay : Delay                 'Z razmerjem "delay" ukazov pri prižganih in ugasnjenih LED nastavimo moč svetlobe
      Goto Main

Program3:                                                   'Polna svetilnost
      Portc = &B11111111
      Goto Main

Program4:                                                   'Utripanje
      Portc = &B11111111
      Wait 1                                                'Za hitrejše utripanje zmanjšaj "Wait 1" na npr. dva ukaza "Waitms 250"
      Portc = &B00000000                                    ' (max. vrednost Wait/waitms/waitus je 255, zato je treba za npr 500ms dati
      Wait 1                                                ' 2 ukaza po 250 ms
      Goto Main
')



Upam, da je koda dovolj razumljiva (sem se potrudil s komentarji Wink ) - če pa ti kaj ni jasno pa kar vprašaj! Komentarji zaželjeni Wink !
(razen tega - zakaj prižigati 4 izhode hkrati, če bi lahko prižigal le enega in nato krmilil preko tranzistorja več ledic hkrati Wink Wink Wink )

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tender
Član
Član



Pridružen-a: Čet 13 Dec 2007 15:01
Prispevkov: 13
Aktiv.: 0.06
Kraj: Slovenj Gradec

PrispevekObjavljeno: Sre Dec 26, 2007 3:57 pm    Naslov sporočila:   Odgovori s citatom

uf najlepša ti hvala za odgovor pa kodo. Trenutno nimam časa ( prazniki pa to Smile ) sem samo bežno preletel kodo. Bom sporočil ko bom nadaljeval pa če se mi bo kje zataknilo...
Ko bo pa projekt končan ga bom pa objavil.
Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 2 dni


Powered by phpBB © 2001, 2005 phpBB Group