skraceni kurs ucenja picbasica
Moderators: pedja089, stojke369, [eDo], trax
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
da sano ti je zaboravio reci da ti treba isto to jos jednom za drugi taster i sa i=i-1 i if i<0 then i=8....
potrudi se da u svakom primeru u ovom kursu ukapiras svaki red za sta sluzi a ovo ostalo je sve tvoja logika i moc uklopiti vise opcija u jedan sklop....Zato ovo pisem posto mi je zapalo za oko sto trazis resenje celog problema a ne da si ti resavao i zaglavio na direktnom problemu....
potrudi se da u svakom primeru u ovom kursu ukapiras svaki red za sta sluzi a ovo ostalo je sve tvoja logika i moc uklopiti vise opcija u jedan sklop....Zato ovo pisem posto mi je zapalo za oko sto trazis resenje celog problema a ne da si ti resavao i zaglavio na direktnom problemu....
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
evo mene ponovo jeste da gnjavim ali ja ne mogu da radim dok ne ukapiram sta radim
da li mozes da mi objasnis u ovoj matematici sta je tu sta
broj je vrednost procitana komandom adcin
sta je broj 5?
sta je broj 100?
ispis je nepoznata u koju treba da se izracuna vrednost u voltima
komanda div32 je deljenje ili mnozenje 32bitnih brojeva?
Komanda div32 radi sa promenljivom jedan red iznad ili ta promenljiva mora biti dummy?
po cemu da odredim koliko bitni A/D koristim?
ovo sve pitam da ne bi morao stalno da vas zapitkujem posto sta god da promenim ispis mi se ne slaze....
sad sam odradio ono sto je bilo ok i merio napon u opsegu od 0-5v i sve funcionise ok i slaze mi se sa unimerom...sada sam promenio da mi je referentni napon na pinu...i sad sve ok radi i meri u opsegu tog referentnog napona ali mi ispis u voltima do napona od 5v a ne 1v koliko mi je sad max....Ja sam rezultat merenja dobio ok kada sam u matematici promenio sa *5 na *1...Tako da vas molim da mi objasnite sta je tu sta u matematici pa da znam sam da izracunavam napon tj da matematikom mogu da dobijam na displeju ono sto meni treba(posto ovaj opseg od 0-1V na displeju ce mi trebati ispisivati u opsegu od 0-40)...UNAPRED HVALA
da li mozes da mi objasnis u ovoj matematici sta je tu sta
Code: Select all
dummy = broj * 5 * 100
ispis=div32 256
sta je broj 5?
sta je broj 100?
ispis je nepoznata u koju treba da se izracuna vrednost u voltima
komanda div32 je deljenje ili mnozenje 32bitnih brojeva?
Komanda div32 radi sa promenljivom jedan red iznad ili ta promenljiva mora biti dummy?
po cemu da odredim koliko bitni A/D koristim?
ovo sve pitam da ne bi morao stalno da vas zapitkujem posto sta god da promenim ispis mi se ne slaze....
sad sam odradio ono sto je bilo ok i merio napon u opsegu od 0-5v i sve funcionise ok i slaze mi se sa unimerom...sada sam promenio da mi je referentni napon na pinu...i sad sve ok radi i meri u opsegu tog referentnog napona ali mi ispis u voltima do napona od 5v a ne 1v koliko mi je sad max....Ja sam rezultat merenja dobio ok kada sam u matematici promenio sa *5 na *1...Tako da vas molim da mi objasnite sta je tu sta u matematici pa da znam sam da izracunavam napon tj da matematikom mogu da dobijam na displeju ono sto meni treba(posto ovaj opseg od 0-1V na displeju ce mi trebati ispisivati u opsegu od 0-40)...UNAPRED HVALA
Re: skraceni kurs ucenja picbasica
5 je referentni napon(ili maksimalna vrednost napona, u koliko se koristi neki razdelnik napona)
sa 100 se mnozi da bi se dobile decimale. tj da bi se dobio 100 puta veci broj nego sto je stvarno, i zato se uglavi zarez ispred poslednje 2 cifre, pa se vidi decimalan broj. jer pic ne radi ni sa negativnim brojevima, a ni sa decimalnim. pa se na ovaj nacin to resava.
mislim da mora biti Dummy. bar tako pise u helpu. ne koristim je cesto, pa sam je uzeo zdravo za gotovo.
probaj ti odraditi sa neko drugom,ali mislim da nece ici.
div32 je deljenje kao sto sam naveo.
pojasnjenje matematike racunanja
U[v]=(Vref*ADrez)/maksimalnom vrednosti ADrez
evo logike.
ako je maksimalni napon doveden na ulaz,tj Vref,u tom slucaju je ADrez=ADrezmax, i kada se pokrate te dve vrednosti ti dobijes maksimalan napon.
a sto se tice ad konvertora imas objasnjeno u datasheetu pica.i promenljiva u koju se smesta rezultat bi trebala biti Word. ja ti preporucujem da samo ispises ADrez na displej i onda ces znati koji ad konvertor koristis. mozda ti koristis i 12bitni, ali si promenljivu definisao kao byte pa ne moze rezultat da ti stane.
sa 100 se mnozi da bi se dobile decimale. tj da bi se dobio 100 puta veci broj nego sto je stvarno, i zato se uglavi zarez ispred poslednje 2 cifre, pa se vidi decimalan broj. jer pic ne radi ni sa negativnim brojevima, a ni sa decimalnim. pa se na ovaj nacin to resava.
mislim da mora biti Dummy. bar tako pise u helpu. ne koristim je cesto, pa sam je uzeo zdravo za gotovo.
probaj ti odraditi sa neko drugom,ali mislim da nece ici.
div32 je deljenje kao sto sam naveo.
pojasnjenje matematike racunanja
U[v]=(Vref*ADrez)/maksimalnom vrednosti ADrez
evo logike.
ako je maksimalni napon doveden na ulaz,tj Vref,u tom slucaju je ADrez=ADrezmax, i kada se pokrate te dve vrednosti ti dobijes maksimalan napon.
a sto se tice ad konvertora imas objasnjeno u datasheetu pica.i promenljiva u koju se smesta rezultat bi trebala biti Word. ja ti preporucujem da samo ispises ADrez na displej i onda ces znati koji ad konvertor koristis. mozda ti koristis i 12bitni, ali si promenljivu definisao kao byte pa ne moze rezultat da ti stane.
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
e hvala na objasnjenju...evo i uspeo sam sa ispisom 0-40 onamo sam lazirao max vrednost napona da je 40...a posto imam dva potenciometra jednim odredjujem referentnu vrednost a drugi potenciometar merim merim...i sada nebitno od referentne vrednosti meni je skala bazdarena od 0-40 tj do 39 pa sam onda povecao broj sa kojim mnozim do 41 i sad mi skala radi ok...sad mi je matematika jasna i mogu sam da kombinujem sve sta mi padne na pamet...
e sad imam jos jedan problem...prvo da najavim da koristim pic16f877a naravno i dalje sam u oblasti A/D konvertora...Ja bi da merim dve vrednosti sa istim mikrocipom ali mi je problem sto mi trebaju dve razliite vrednosti referentnog napona...da li imas neko resenje za to posto meni trenutno ne pada nista na pamet...
e sad imam jos jedan problem...prvo da najavim da koristim pic16f877a naravno i dalje sam u oblasti A/D konvertora...Ja bi da merim dve vrednosti sa istim mikrocipom ali mi je problem sto mi trebaju dve razliite vrednosti referentnog napona...da li imas neko resenje za to posto meni trenutno ne pada nista na pamet...
Re: skraceni kurs ucenja picbasica
a zasto ne stavis da ti je vref napajanje pica. a imas vref+ i vref-.
ja kad ih koristim lepo stabiliziram napajanje pica na 5V i iz onih tablica u datasheetu podesim registre adcon1 i 2 kako mi pase, i uvek bude precizno,1mV manje vise
ja kad ih koristim lepo stabiliziram napajanje pica na 5V i iz onih tablica u datasheetu podesim registre adcon1 i 2 kako mi pase, i uvek bude precizno,1mV manje vise
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
nov sam u a/d pa se malo ne snalazim....
pa da mogu uzeti da mi je referentni napon +5 sa pica...
a da laziram na ispisu za onako kako meni odgovara...
posto jedno merenje treba da mi ide od 0-1V a ispis da je od 0-40 a drugo merenje treba da mi ide od 0-nekih2.5v a da mi ispis od 0-nekih 120...
pa da mogu uzeti da mi je referentni napon +5 sa pica...
a da laziram na ispisu za onako kako meni odgovara...
posto jedno merenje treba da mi ide od 0-1V a ispis da je od 0-40 a drugo merenje treba da mi ide od 0-nekih2.5v a da mi ispis od 0-nekih 120...
Re: skraceni kurs ucenja picbasica
a napravi neke bolje razdelnike.neka ti sve ide od 0-5V
ja uvej ubacim potenciometar i sa klizaca vucem na pic. i onda samo tamo napisem koliki mi je maksimalan napon. i problem je ako ti uzmes da referentni od 5v a dovodis napone samo do 1V onda ti onaj adrez nikad nece dostici maksimalnu vrednoost, i znaci imas manje koraka, tj nepreciznije merenje
ja uvej ubacim potenciometar i sa klizaca vucem na pic. i onda samo tamo napisem koliki mi je maksimalan napon. i problem je ako ti uzmes da referentni od 5v a dovodis napone samo do 1V onda ti onaj adrez nikad nece dostici maksimalnu vrednoost, i znaci imas manje koraka, tj nepreciznije merenje
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
to razumem ali za ovo ce mi biti dovoljno i ovo resenje posto mi je preciznost merenja biti dovoljno (po jedan stepen na skali)...a da li bi mogao ovu semu upotrebiti i za smanjeni napon
- Attachments
-
- PIC16F877 i AQ.rar
- Shema
- (5.82 KiB) Downloaded 679 times
Re: skraceni kurs ucenja picbasica
ma nema potrebe da komplikujes stvari. ubaci 2 otpornika koji cine razdelnik napona.
pic ima zastitne diode na svako ulazu,tako da ako se pojavi veci napon, nema problema, naravno ako se koristi otpornik u seriju sa ulazom.
ja da sam na tvom mestu stavio bi da referentna vrednost bude 150, i zarez uglavio ispred poslednje cifre.
a razdelnik napona bi koristio 3:1
tako da ce ti maksimalni ulazni napon na picu biti 5V.
pic ima zastitne diode na svako ulazu,tako da ako se pojavi veci napon, nema problema, naravno ako se koristi otpornik u seriju sa ulazom.
ja da sam na tvom mestu stavio bi da referentna vrednost bude 150, i zarez uglavio ispred poslednje cifre.
a razdelnik napona bi koristio 3:1
tako da ce ti maksimalni ulazni napon na picu biti 5V.
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
cek malo te ne razumem kako sa 2 otpornika da povecam napon a da ne koristim operacioni pojacivac...
znaci direktan primer koji meni treba imam napon koji merim i krece se u opsegu od 0-1V(to je odvojeni izvor napajanja od pica)...i kako da poverem razdelnik da bi mi opseg od 0-1 povecao na raspon od 0-5...
znaci direktan primer koji meni treba imam napon koji merim i krece se u opsegu od 0-1V(to je odvojeni izvor napajanja od pica)...i kako da poverem razdelnik da bi mi opseg od 0-1 povecao na raspon od 0-5...
Re: skraceni kurs ucenja picbasica
nisam te razumeo. sorry.
a kao pojacivac mozes upotrebiti bilo koji operacio pojacivac. ako imas napon od 0-1V samo mu napravi pojacanje 5 puta.
a kao pojacivac mozes upotrebiti bilo koji operacio pojacivac. ako imas napon od 0-1V samo mu napravi pojacanje 5 puta.
Re: skraceni kurs ucenja picbasica
Pedja jel bi to izgledalo ovako, Ili treba neka izmena?
- Attachments
-
- Preklopnik.zip
- (222 Bytes) Downloaded 660 times
Re: skraceni kurs ucenja picbasica
hex fajl bez seme mine znaci nista.
postavi kod da ga vidim, drugacije ti ne mogu reci jel je tako ili nije
postavi kod da ga vidim, drugacije ti ne mogu reci jel je tako ili nije
Re: skraceni kurs ucenja picbasica
Izvini pogresnu papku sam postavio!
- Attachments
-
- Preklopnik so PIC16F84.zip
- (1.91 KiB) Downloaded 682 times
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
Izvinjavam se sto se mesam ali voleo bi da budem i ja aktivan da bi sto bolje naucio...po meni nedostaje jedno goto na main a i ovo je sve samo za taster dodavanja akoliko sam razumeo zelis i oduzimanje...
Code: Select all
Dodaj: I=I+1
goto main
end
Re: skraceni kurs ucenja picbasica
u principu to je to. mada ovaj kod nece raditi kako valja. jer ti fali gosub i return.
i uopste ti nije potreban onaj pod program. posle then stavi i=i+1. a mislio sam na ovaj primer tastera
i uopste ti nije potreban onaj pod program. posle then stavi i=i+1. a mislio sam na ovaj primer tastera
Code: Select all
SYMBOL LED=PORTB.7
SYMBOL TASTER=PORTB.0
OUTPUT LED
INPUT TASTER
NovoStanje var bit
StaroStanje var bit
starostanje = taster ' ovde se uzima pocetno stanje, tj stanje kada je taster pusten
Pocetak:
novostanje = taster 'OVDE SE UZIMA TRENUTNO STANJE NA TASTERU
if novostanje<starostanje then ' OVDE SE UPOREDJUJU STANJA. AKO JE TASTER STISNUT TADA JE NOVO STANJE JEDNAKO 0 I SAMIM TIM JE MANJE OD STAROG STANJA
HIGH led 'PALI LED
PAUSE 500 'PAUZA POLA SEKUNDE
LOW LED 'GASI LED
ENDIF
STAROSTANJE=NOVOSTANJE 'OVAJ RED JE POTREBAN IZ RAZLOGA DA PRI PONOVNOM NAILASKU NA IF PROMENLJIVA NNOVO STANJE NE BI BILA MANJA OD STAROG STANJA. U OVOM SLUCAJU SE IZJEDNACAVAJU. I TAK KADA SE PROMENI STANJE SA 1 NA 0 ONDA CE SE LEDICA UPALITI
GOTO POCETAK
END
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
hu evo ha probao sam i radi a nadam se da sam razumeo sta si trazio....ja cu da ponovim za svaki slucaj...
kad pritiskam taster na portc.0 pale mi se diode na portud i to jedna po jedna portd.0 pa posle toga samo portd.1 i tako na svaki klik tastera c0....a ako pritiskas taster c1 onda ide u nazad ako je svetlila d6 posle klika na taster c1 gasi se d6 i pali d5....i tako sve do d0 posle do se ponovo pali d8...
ako si to trazio ovo je moj kod proveren i radi..
to sto je kod malo komplikovan to je zato sto sam i ja malo pocetnik u ovome pa ne znam sve opcije
prvi red dEFINE BUTTON_POUSE 50 nije potreban to mi je ostalo od starog programa kad sam koristio opciju button za taster...
kad pritiskam taster na portc.0 pale mi se diode na portud i to jedna po jedna portd.0 pa posle toga samo portd.1 i tako na svaki klik tastera c0....a ako pritiskas taster c1 onda ide u nazad ako je svetlila d6 posle klika na taster c1 gasi se d6 i pali d5....i tako sve do d0 posle do se ponovo pali d8...
ako si to trazio ovo je moj kod proveren i radi..
Code: Select all
dEFINE BUTTON_POUSE 50
TRISD=0
TRISC=1
i var byte
portd=0
portc=0
i=10
POCETAK:
if portc.0=1 then goto stanje
if portc.1=1 then goto stanje1
if i=10 then portd=%00000001
if i=11 then portd=%00000010
if i=12 then portd=%00000100
if i=13 then portd=%00001000
if i=14 then portd=%00010000
if i=15 then portd=%00100000
if i=16 then portd=%01000000
if i=17 then portd=%10000000
GOTO POCETAK
STANJE:
if portc.0=0 then
i=i+1
if i>17 then i=10
goto pocetak
endif
GOTO stanje
stanje1:
if portc.1=0 then
i=i-1
if i<10 then i=17
goto pocetak
endif
goto stanje1
END
prvi red dEFINE BUTTON_POUSE 50 nije potreban to mi je ostalo od starog programa kad sam koristio opciju button za taster...
Re: skraceni kurs ucenja picbasica
A koji pic si koristio, 16F877 ili...? Ja cu 16F84A.
Re: skraceni kurs ucenja picbasica
verovarno 877. ti samo ispravi na porta i portb
inace ono gore je lepo odradjeno. i sto je najbolje nigde nema primera iz kursa
svaka cast
edit:
ono gore define nije potrebno. to se odnosi na button naredbu
inace ono gore je lepo odradjeno. i sto je najbolje nigde nema primera iz kursa
svaka cast
edit:
ono gore define nije potrebno. to se odnosi na button naredbu
- sasa45
- Odlično uznapredovao
- Posts: 518
- Joined: 19-01-2007, 07:42
- Location: Subotica - Srbija
- Contact:
Re: skraceni kurs ucenja picbasica
da radim sa 877 ...pedja ti je vec odgovorio samo promeni portove i to ti je to....
Pedja hvala na pohvali....Ja nikada nisam volio da bubam napamet i da kopiram tudje sheme...tvoj kurs mi mnooogooo pomogao da naucim i UKAPIRAM opcije kako funkcionisu....a ostalo volim da sam mozgam i trazim resenja...jer kad ja nesto uradim i ako treba to kasnije da doradim ide mnogo lakse nego kad uzmem tudju shemu koju treba doraditi...
da prvi red nije potreban radio sam sa button opcijom pa sam sve izbrisao(ali mi ostao taj prvi red) i radio ovako kako ste poceli da ne komplikujem sa onom opcijom i ako mislim da je button opcija bolja za tastere zbog varnicenja tastera...
Pedja hvala na pohvali....Ja nikada nisam volio da bubam napamet i da kopiram tudje sheme...tvoj kurs mi mnooogooo pomogao da naucim i UKAPIRAM opcije kako funkcionisu....a ostalo volim da sam mozgam i trazim resenja...jer kad ja nesto uradim i ako treba to kasnije da doradim ide mnogo lakse nego kad uzmem tudju shemu koju treba doraditi...
da prvi red nije potreban radio sam sa button opcijom pa sam sve izbrisao(ali mi ostao taj prvi red) i radio ovako kako ste poceli da ne komplikujem sa onom opcijom i ako mislim da je button opcija bolja za tastere zbog varnicenja tastera...