Elektronska shema

amacar

Majstr
29. apr 2010
4.165
487
83
Za nalogo moram narediti preprost plošček s katerim bomo upravljali igro na računalniku. Na voljo imam PIC18F2550, nanj pa moram vezati 9 led diod, gumb za streljanje, ter preprost joystick (navsezadnje lahko sestavljen iz 4 gumbov), ter dodati morebitne upore, kondenzatorje, oscilator... Ker sem iz računalniškega faxa se mi o elektroniki sanja ne, zato bi potreboval pomoč pri risanju sheme. Vse skupaj rišem v programu eagle.

Za nekoga, ki se na te zadeve spozna verjamem, da mu ne bo vzelo preveliko časa, zato prosim, če bi mi kdo lahko pomagal, saj zadevo rabim v roku treh dni.

Še link do demo sheme (že delujočega mikročipa, ki ga bom zatem moral tudi sprogramirati): http://www2.zippyshare.com/v/97046031/file.html
 

amacar

Majstr
29. apr 2010
4.165
487
83
Hvala, bom preveril, čeprav je moje znanje elektronike na čisto drugem nivoju.
 

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.889
630
113
Najenostavnejše vezje je torej sestavljeno iz 5 digitalnih vhodov in 9 digitalnih izhodov.
Kako vezati led diode na izhode imaš prikazano že v shemi.

Na tvojem mestu bi narisal tole shemo:


Na 9 prostih pinov bi dal led diode, ki gredo preko 330 ohm upora na minus.

Na 5 prostih pinov, pa bi dal takšne veje kot je na tej sliki, tam kjer je input switch:
Kako brati stanje tipke/stikala: http://embedded-lab.com/blog/?p=164

 

amacar

Majstr
29. apr 2010
4.165
487
83
Sem izvedel, da moram na ploščico narisati le tisto, kar bom uporabljal pri nalogi, torej joystick, zvočnik, gumb za streljanje ter 9 ledic. Prilagam trenutno shemo. Kaj je prav, kaj narobe?
1651193-shema.jpg
 

Priponke

  • 1651193-shema.jpg
    1651193-shema.jpg
    34,4 KB · Ogledi: 150

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.889
630
113
Naloži sliko na file.si ali nekam kjer je ne bo tako speštalo...
 

amacar

Majstr
29. apr 2010
4.165
487
83
Ok spet problem. Sedaj pa je potrebno vezje zložiti skupaj.
Nekaj mi je sicer uspelo, a svetijo le led diode, tipka in joystick pač ne. Joysticka sicer še nisem priklapljal, sem pa tipko a ne dela.
Ima mogoče kdo idejo zakaj ne dela. Slika vezave:
 

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.889
630
113
Mogoče imaš tipko narobe zvezano? Probaj tako da namesto tipke vtikaš in iztikaš žičko.
Pa drugič uporabi raje file.si zato da bom dočakal da mi pokaže fotko.
zmaga.gif
 

amacar

Majstr
29. apr 2010
4.165
487
83
Ja to, da je tipka mogoče narobe priklopljena tudi sam predvidevam, možnost je tudi, da je vseskupaj narobe sprogramirano.
Sem pa nekako povezal po zgornji shemi, program pa sem napisal tako (ob pritisku na gumb bi moralo ugasniti ledice):

int main() {
TRISB=0x00;
TRISA=0x00;
TRISC=0xFF;
LATA=0xFF;
LATB=0xFF;
char star,nov;
star=PORTCbits.RC1;
while(1)
{
nov=PORTCbits.RC1;
if((nov==1)&&(star==0))
{
LATB=0x00;
}
star=nov;
}
for(;;);
}
 

wilin

Pripravnik
5. maj 2008
114
1
16
Ko bo tipka pritisnjena, bo prebral 0, ko ne bo pritisnjena, bo prebral 1. Obrni pogoj.
 

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.889
630
113
Stikalo je pomoje narobe zvezano. Poglej tole spodnjo shemo, kaj je znotraj stikala.
Pa predlagam ti, da vezje na testni plošči spremeniš tako, da bo ob obeh straneh vzdolžno + in -. Ker zdaj imaš na eni strani direktno zvezano, na drugi strani pa gre preko uporčka in je težko videti, kje je napaka. Pa fotko naredi neposredno z vrha in ne od strani.
1669705-stikalo.PNG
 

Priponke

  • 1669705-stikalo.PNG
    1669705-stikalo.PNG
    20,5 KB · Ogledi: 146

amacar

Majstr
29. apr 2010
4.165
487
83
wilin hvala ti.
cheer.gif
Mislim, že tak računalničarji nimamo pojma o elektrotehniki, pa nam še na vajah asistent da napačne primere. Ko sem obrnil pogoj deluje in ob pritisku na tipko ugasne ledice. No pa še eno vprašanje, zakaj mi pri tej kodi ob ponovnem pritisku na stikalo ne prižge ledic?

while(1)
{
nov=PORTCbits.RC1;
if((nov==0)&&(star==1))
{
if(LATB==0xFF)
{
LATB=0x00;
LATA=0x00;
}
else
{
LATA=0xFF;
LATB=0xFF;
}
}
star=nov;
}

Aja, sej vzdolžno je na obeh straneh + in -, upor je pull up za tipko.
 

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.889
630
113
No jaz sem ti pa šel risat kako priklopit stikalo.
grin1.gif

1669716-vezje.png
 

Priponke

  • 1669716-vezje.png
    1669716-vezje.png
    132 KB · Ogledi: 152

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.889
630
113
Pa na tej zadnji shemi sem naključno izbral pin za branje stikala...
 

wilin

Pripravnik
5. maj 2008
114
1
16
if(LATB==0xFF) če že bo to PORTB (PICi imajo en kup mutenja levo desno kateri register je kaj, poleg tega pa če nekaj v I/O port zapišeš ne boš isto ven prebral), oz. najboljša varianta da imaš eno spremenljivko, s katero beležiš kakšno je stanje.
 

amacar

Majstr
29. apr 2010
4.165
487
83
Evo zaenkrat zadeva izgleda takole, moram še ledice dodati za prikaz življenja ampak glavno je, da vsaj nekaj deluje:
Hvala vsem za pomoč!