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 

Pomoč-Zaključni izdelek
Pojdi na stran 1, 2, 3  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
taz
Član
Član



Pridružen-a: Tor 11 Dec 2007 22:56
Prispevkov: 56
Aktiv.: 0.28
Kraj: Solkan

PrispevekObjavljeno: Ned Feb 10, 2008 9:46 pm    Naslov sporočila: icon_question Pomoč-Zaključni izdelek Odgovori s citatom

Pozdrav.
Za zaključni izdelek sem se odločil, da bom naredil dalinjsko upravljanje luči v prostoru (vklop/izklop) in regulacija svetilnosti (moči). Daljinec bi naredil s timerjem 555. Vklop in izklop bi bila preko ene tipke, regulacija pa preko dveh za višanje in nižanje napetosti. Zanima me sedaj, kako naredim na sprejemiku, da ko bom na daljincu višal/nižal napetost, da se bo tudi na izhodu višala/nižala. Na sprejemniku bi dal 3 senzorje, vsak bi deloval na svoji frekvenci (xxkHz). Vezje bi realiziral s PIC 16F876A.
No zdej pa prosim pomagajte pa predlagajte, kaj in kako.
Najlepša hvala za vnaprej.

LP
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: 480
Aktiv.: 2.29
Kraj: Levec

PrispevekObjavljeno: Ned Feb 10, 2008 9:55 pm    Naslov sporočila:   Odgovori s citatom

Po tem principu je možno z daljincem:
http://www.electronics-lab.com/projects/motor_light/044/index.html

GOOGLE: remote light dimmer

_________________
"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
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 706
Aktiv.: 3.17
Kraj: Severna primorska

PrispevekObjavljeno: Ned Feb 10, 2008 10:00 pm    Naslov sporočila:   Odgovori s citatom

Niti ne rabiš toliko komplicirati. Če boš imel mikrokontroler (pic, avr) lahko precej preprosto implementiraš kakšen rc5 protokol(takega uporabljajo daljinci za tv, radio). Tako lahko s skontrolerjem sprejemaš veliko ukazov. S tem lahko prižigaš/ugašaš pine na mikrokontrolerju. Malo več dela boš imel z "dimanjem" ampak zelo verjetno vse že obstaja na forumu. Mogoče za idejo: lahko dodaš še kakšno možnost "off delay timerja" torej zakasnitev izklopa,...
Ko imaš enkrat kontroler je možnosti veliko.... prebrskaj malo po forumu!
Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
taz
Član
Član



Pridružen-a: Tor 11 Dec 2007 22:56
Prispevkov: 56
Aktiv.: 0.28
Kraj: Solkan

PrispevekObjavljeno: Ned Feb 10, 2008 10:52 pm    Naslov sporočila:   Odgovori s citatom

Najlepša hvala za izjemno hitre odgovore.
Če se mi bo kje kaj zataknilo, bom se tukaj javil

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



Pridružen-a: Tor 11 Dec 2007 22:56
Prispevkov: 56
Aktiv.: 0.28
Kraj: Solkan

PrispevekObjavljeno: Ned Mar 09, 2008 2:20 pm    Naslov sporočila:   Odgovori s citatom

To kako povečuješ/zmanjšuješ svetilnost je odvisno kako se sprogramira pic?
Prosil bi pomoč pri programiranju pica, ker nimam ideje kako in kaj. Gledal sem nekaj dokumentov glede programiranja, sam mi še vedno ni kaj preveč jasno.
Hvala za pomoč
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
BostjanVidmar
Član
Član



Pridružen-a: Sre 30 Jan 2008 13:46
Prispevkov: 299
Aktiv.: 1.51
Kraj: Dragomer

PrispevekObjavljeno: Ned Mar 09, 2008 3:06 pm    Naslov sporočila:   Odgovori s citatom

Kolikor jaz vem, imaš potem še zagovor svoje naloge. Če ne znaš programirati in bom imnel sprogramirano bo bolj težko, mar ne?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
taz
Član
Član



Pridružen-a: Tor 11 Dec 2007 22:56
Prispevkov: 56
Aktiv.: 0.28
Kraj: Solkan

PrispevekObjavljeno: Ned Mar 09, 2008 4:11 pm    Naslov sporočila:   Odgovori s citatom

...

Nazadnje urejal/a taz Sre Apr 23, 2008 6:24 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
taz
Član
Član



Pridružen-a: Tor 11 Dec 2007 22:56
Prispevkov: 56
Aktiv.: 0.28
Kraj: Solkan

PrispevekObjavljeno: Sre Apr 02, 2008 11:10 pm    Naslov sporočila:   Odgovori s citatom

No, pa je zadeva stekla.
Danes sem sprogramiral oddajnik(daljinec) in naredil svoj protokol. Narejen je na 3 tipke. 1tipka vklop/izklop, 2. in 3. tipka pa bodo za regulacijo moči (+,-). Narejen bo s pic 12f629.
Pini 4, 6, 7, so vhodi, na katerih so tipkala, 5 pin je izhod.

Koda:

#include <pic.h>
#include <roboPIC.h>
#include <delay.c>


__CONFIG (HS&WDTDIS&PWRTEN&BORDIS&MCLRDIS&UNPROTECT);


// DEKLARACIJE IN DEFINICIJE

#define BITNUM(adr,bit) ((unsigned)(&adr)*8+(bit))


char parameter;
char mirovanje;


// INICIALIZACIJA

void main (void)

{
frekvenca_kHz=4000;
TRISIO = 0B11111011;   //dolocimo vhod/izhod-GP2=izhod (0)
CMCON = 0x07;
//ANSEL = 0x00;

parameter=6;
mirovanje=40;
GPIO2=0;

// GLAVNI PROGRAM



start:



// koda za vklop/izklop


if(GPIO3==0)
{
GPIO2=1;         //okvir
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);


GPIO2=1;                     //Vklop/izklop
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);


GPIO2=1;         //okvir
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);

}





//koda za povecevanje moci


if(GPIO0==0)
{
GPIO2=1;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);


GPIO2=1;                //+
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);


GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
}







//koda za zmanjšanje moci


if(GPIO1==0)
{
GPIO2=1;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);


GPIO2=0;              //-
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);


GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
GPIO2=1;
wait_mili(parameter);
GPIO2=0;
wait_mili(parameter);
}



wait_mili(mirovanje);

goto start;

}



No za to spisat ni bilo nekih težav, nevem pa, kako napisat program za sprejemnik, zato vas prosim za pomoč.
Sprejemnik bo ravno tako sestavljen iz PICa 12F629


Hvala za pomoč.

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



Pridružen-a: Sre 01 Nov 2006 13:40
Prispevkov: 41
Aktiv.: 0.19
Kraj: Maribor

PrispevekObjavljeno: Sob Apr 05, 2008 6:35 pm    Naslov sporočila:   Odgovori s citatom

taz,

Stavki GOTO in podobno v C-ju niso najbolj zaželjeni (nekateri predavatelji pravijo celo, da so prepovedani).

namesto GOTO uporabi:

while(1)
{

bla bla bla

}

rezultat bo isti...

Ko sem na hitro preletel kodo... V kodi je potrebo dopisati še

while(GPIO3==0);

če ne se bo tvoja luč zelo hitro prižigala in ugašala...

Lp,



Lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 25.07

PrispevekObjavljeno: Ned Apr 06, 2008 3:02 am    Naslov sporočila:   Odgovori s citatom

ThePohorc je napisal/a:
Stavki GOTO in podobno v C-ju niso najbolj zaželjeni (nekateri predavatelji pravijo celo, da so prepovedani).


Zakaj ?

Goto je konstrukt jezika, enako kot marsikateri drugi. Tvoja trditev je v slogu "dvojina v slovenscini ni zazelena; nekateri pravijo, da je celo prepovedana".

Nesposobni programerji znajo z gotojem narediti dovolj skode, da je popravljanje njihovih bedastoc zelo potratno. To bi lahko bil argument proti uporabi goto-ja, a taisti bedaki delajo neumnosti tudi z drugimi jezikovnimi elementi. Bos "prepovedal" (odsvetoval ... Rolling Eyes ) cel programski jezik zato, ket ga neumni ljudje ne znajo uporabljati ?

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
ThePohorc
Član
Član



Pridružen-a: Sre 01 Nov 2006 13:40
Prispevkov: 41
Aktiv.: 0.19
Kraj: Maribor

PrispevekObjavljeno: Ned Apr 06, 2008 12:15 pm    Naslov sporočila:   Odgovori s citatom

Sokrat,

Moje odsvetovanje GOTO stavka temelji na nekaj pedagoških in malce bogatejših programerskih izkušnjah. Kot v zgornjem primeru dvomim, da obstaja koda, kjer GOTO stavek ni nadomestljiv. GOTO stavek je čas assemblerja.
Verjetno boš argumentiral, da je tudi "inline assembler" del ali funkcija ANSI C programskega jezika. Se popolnoma strinjam. Vendar še vedno mislim, da je le redko kje uporabna. Dvomim, da lahko z svojo inline kodo "optimiziraš" kodo, ki jo prevede prevajalnik na nivo assemblerja.
Moram pa se strinjati s tabo ko praviš, da je GOTO del C-ja in da je večji problem v programerjih...

Na koncu pa še par naslovo, kjer se o uporabi GOTO strinjajo z mano...

GOTO1
GOTO2
GOTO3
GOTO4

Bom pa poskušal najti aplikativni članek o problemih in težavah z GOTO programiranjem...

P.S. Moj post ni kakršna koli provokacija pač pa pogled na programiranje skozi izkušnje...

Lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 63.87
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Ned Apr 06, 2008 1:31 pm    Naslov sporočila:   Odgovori s citatom

ThePohorc je napisal/a:
Verjetno boš argumentiral, da je tudi "inline assembler" del ali funkcija ANSI C programskega jezika. Se popolnoma strinjam. Vendar še vedno mislim, da je le redko kje uporabna. Dvomim, da lahko z svojo inline kodo "optimiziraš" kodo, ki jo prevede prevajalnik na nivo assemblerja.


Lahko kar nehaš dvomiti. Imam namreč vsaj dva primera lastne kode, ki naredi prav to. Še več, brez inline kode stvar sploh ni izvedljiva.

Še o GOTO !
Tako kot vsi ostali konstrukti jezika je tudi ta lahko nevaren. A če smo natančni so tudi pointerji v C nevarni. Mogoče še bolj.

Včasih je bila moda struktuiranega programiranja in pri tovrstnem načinu je bil GOTO prepovedan. A moda je moda in nobena ne traja prav dolgo. GOTO je pač programski skok na nek naslov v programski kodi. Ko ga prevajalnik obdela dobimo nekaj asm instrukcij, ki se prav nič ne razlikujejo od instrukcij, ki so uporabljene v recimo FOR ali WHILE.
S stališča procesorja torej za GOTO ni zadržkov, s stališča človekovega razumevanja dogajanja pa je stvar močno odvisna od človeka samega. Nekdo, ki je probleme vajen dobro reševati s tem stavkom, mu stvar ne bo delala problemov. Če pa tega nisi sposoben, potem GOTO raje pusti drugim.
Ampak, to velja tudi za vse ostalo - inline oz assembler ali pa za delo s pointerji.

Citiram:
Moje odsvetovanje GOTO stavka temelji na nekaj pedagoških in malce bogatejših programerskih izkušnjah.

Tole sicer ni noben argument, a če že ravno hočeš, 30 let delovnih izkušenj je za mano, tudi pedagoških ni malo. Pa znanje najmanj deset različnih programskih jezikov, s tem, da sem vse različne assemblerje dal pod eno samo streho.

_________________
Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 25.07

PrispevekObjavljeno: Ned Apr 06, 2008 2:34 pm    Naslov sporočila:   Odgovori s citatom

ThePohorc je napisal/a:
P.S. Moj post ni kakršna koli provokacija pač pa pogled na programiranje skozi izkušnje...


Potem se zagotovo zavedas, da so pogojni stavki z vecimi alternativami (if/else, switch) zgolj drugacen nacin zapisa if + goto. Sem spadajo tudi (z MCUjevske aplikacije tipicne) neskoncne glavne zanke.

V glavnem: ne vidim razloga da nekdo ne bi uporabljal orodja, ki mu je na voljo, ce oceni, da bo tako najucinkovitejse prisel do resitve. Ideoloske "svete vojne" me tudi ne ganejo prav prevec.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 23.08
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Pon Apr 07, 2008 9:54 am    Naslov sporočila:   Odgovori s citatom

Zanimivo je, da nezaželjenost uporabe GOTO stavkov ponavadi demonstrirajo z nekim zapletenim primerom, kjer je pravzaprav GOTO zares odveč.

Jur
____________
loop: goto loop
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
taz
Član
Član



Pridružen-a: Tor 11 Dec 2007 22:56
Prispevkov: 56
Aktiv.: 0.28
Kraj: Solkan

PrispevekObjavljeno: Sre Apr 09, 2008 11:18 pm    Naslov sporočila:   Odgovori s citatom

A mi lahko kdo prosim pomaga začet?
Kako naj napišem, da vedno preverja?
Vem da z if in else, samo kako naj kaj deklariram.
Hvala

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, 3  Naslednja
Stran 1 od 3

 
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: 69 dni


Powered by phpBB © 2001, 2005 phpBB Group