Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upravljanje DC motorima

[es] :: Visual Basic 6 :: Upravljanje DC motorima

Strane: 1 2

[ Pregleda: 6160 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dr.zmaj
Drazen Zmaj
prof.
Beograd

Član broj: 63416
Poruke: 259
*.adsl-1.sezampro.yu.

Sajt: kompaskmt.9f.com


Profil

icon Upravljanje DC motorima03.03.2009. u 10:03 - pre 153 meseci
Zelim da napisem program koji bi pamtio odnosno ucio pokrete koje bi zadavao preko tastera. Radi se o robot ruci, koja ima cetiri motora. Program imam u QBasic-u koji omogucava pamcenje duzine pritisnutog tastera za odredjeni motor. Nakon zadavanja putanje za sva cetiri motora, program omogucava da robot samostalno ponovi zapamcenu putanju. Kako to odraditi u VBasic-u. Da li neko ima ideju.
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
93.86.232.*



+1 Profil

icon Re: Upravljanje DC motorima03.03.2009. u 15:59 - pre 153 meseci
Moguće je i imam ideju, tačnije znam i kako.

Počni da radiš pa gde zapne, pomoćićemo...
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
91.143.216.*



+3 Profil

icon Re: Upravljanje DC motorima03.03.2009. u 21:23 - pre 153 meseci
Verzije basica(Microsoft) idu ovako: gwbasic, qbasic, visual basic, vb.net. Prema tome bez problema mozes ucitati taj tvoj program u visual basic vb6 i uz sitne korekcije program ce odmah raditi.
rgdrajko
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
93.86.232.*



+1 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 00:21 - pre 153 meseci
Rajko ne slažem se sa tobom.

Visual Basic 6 je object oriented, event driven, programski jezik za windows platformu (osim verzije 1.0), dok je QBasic proceduralno orijentisan i sasvim drugačije koncipiran (OS: DOS).

Program, koji pod QBasic-om može da očitava pritisnute tastere:

Code:


Do While Not [uslov]

    key = Inkey$

    ...

Loop



kod Visual Basic-a, imamo event Object_KeyDown ili Object_KeyPress na čije se dešavanje izvršava određeni podprogram:

Code:


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    ...

End Sub



VB nema ugrađenu GFX biblioteku kao QBasic, tako da bi se i deo programa koji daje bilo kakav grafički prikaz morao prepraviti.

Sama komunikacija sa uređajem bi verovatno morala biti odrađena drugačije u Visual Basic-u.

U QBasicu može da se koristi:

Code:


Open "Com1" For xxxx as xx

    ...

Close



ali je to pod Visual Basic-om jako ne preporučljivo, iz prostog razloga što je teško kontrolisati komunikaciju, i "vrebati" trenutak kada se očekuje da stignu podaci. Alternativa je MSComm ili API pozivi, koji ne postoje u QBasicu, što znači još puno ispravki u ovom delu.

Ovo što sam naveo samo samo neki od razloga zašto bi program morao "malo više" da se prepravi da bi bio uspešno izvršen pod Visual Basic Runtime-om. Ukoliko sam nešto propustio i zabrljao ne zamerite, pišem posle malo alkohola i bančenja, tako da je ovo skoro sve što mi je palo na pamet, a siguran sam da sam još 10 stvari zaboravio...

Ukoliko je potrebno da se program uz što manje prepravki "natera" da radi kao Windows ili Linux aplikacija toplo preporučujem FreeBASIC.
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
91.143.216.*



+3 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 07:34 - pre 153 meseci
Nisi u pravu, Qbasic je nizi od VB6 ali potpuno kompatibilan jer je vb6 nastao iz Qbasica i uz odredjene sitne logicke ispravke svaki Qbasic program ce raditi u VB6.
Probaj ako poznajes dobro oba jezika da Qbasc izvrsis na VB6, pri tome ces morati da prilagodis staru logiku Qbasica logici VB6 za neke komande. To prilagodjavanje je lako i brzo ako dobro poznajes oba ta jezika.
Nakon toga kada program proradi onda bi trebalo taj isti program napisati kao objektni program ispocetka na osnovu iskustava u vezi te problematike koje si stekao u Qbasic programu.
Mozda je ova ispravka teska za one koji slabo poznaju oba jezika.
rgdrajko
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
93.86.232.*



+1 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 12:06 - pre 153 meseci
Kojim slučajem poznajem oba programska jezika i to vrlo, vrlo dobro. Uzmi iole komplikovaniji QBasic program i probaj da ga nateras da se izvrši kao VB program videćeš šta ti govorim.

Visual Basic je nastao pod uticajem QBasic-a, ne i iz njega... Možda je ta kompatibilnost bila veća u verziji Visual Basic 1.0 ali se to sa novijim verzijama promenilo.

Nibbles.bas

Pošto je to tako lako, zašto ne bi prepravio ovo za nas, kao mali sam mnogo voleo da igram ovu igricu, čak sam je i prepravljao malo kad mi originalna verzija dosadi.

Uvidećeš da je prevođenje ovog koda u VB6 kod zahtevno i shvatićeš o čemu ti pričam.

BTW. Prevođenje je sasvim moguće! Ali ćeš to brže prevesti u C nego u Visual Basic.

Edit: izbrisan program i smešten u attachment.

[Ovu poruku je menjao stefanpn dana 04.03.2009. u 20:17 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
195.252.105.*



+7 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 12:19 - pre 153 meseci
Mislim da bi bilo najlakse da se ovo prevede u FreeBasic ... a i inace u vezi ove teme , mozda bi taj QBasic program bilo bolje prevesti u FreeBasic nego u VB6, ako FreeBasic ima neku ugradjenu podrsku za comm portove.
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
91.143.216.*



+3 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 15:36 - pre 153 meseci
Citat:
stefanpn
' Q B a s i c N i b b l e s
'
...


Ma nije problem da to uradim, samo trenutno nemam vremena. Mozda bi bilo najbolje kada bih uradio konvertor fajlova iz Qbasica u VB6.
rgdrajko
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
93.86.232.*



+1 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 15:50 - pre 153 meseci
Ne bih da budem nepristojan i započinjem raspravku.

Ali nisam ja ni rekao da je problem da se to uradi već da nije tako jednostavno kao što si ti misliš.

Citat:
rgdrajko: ...Qbasic je nizi od VB6 ali potpuno kompatibilan jer je vb6 nastao iz Qbasica...


Ovo je potpuno netačna izjava.

QBasic je jezik "viskokog nivoa" kao i Visual Basic. Ako misliš na to da je QBasic niži samo zato što je stariji onda nisi u pravu.

Pogledaj o čemu ti govorim: ovde.

QBasic i Visual Basic NISU KOMPATIBILNI!!!

Visual Basic 6 je object oriented, event driven, programski jezik za windows platformu (osim verzije 1.0), dok je QBasic proceduralno orijentisan, ne struktuiran programski jezik za DOS platformu.



Citat:
rgdrajko: Mozda bi bilo najbolje kada bih uradio konvertor fajlova iz Qbasica u VB6.


Super, uradi to! Proslavićeš se.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12798



+4738 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 16:23 - pre 153 meseci
Nemoj da se nerviras
Pogotovo ne zbog Rajka
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 19:09 - pre 153 meseci
Ja bih, takodje, jako voleo da vidim QBasic -> VB6 konvertor, a znajuci Rajka i njegovo 50-godisnje iskustvo u programiranju (ukljucujuci tu i verzije qbasica koje su postojale pre nastanka majkrosofta) ja verujem da je on jedini covek kome bi to poslo za rukom.
Zato, Rajko imas od mene punu (nazalost, samo moralnu) podrsku za taj poduhvat.


@stefanpn: ako te ne mrzi, molim te sacuvaj onaj qbasic kod kao fajl i uploaduj ga uz poruku a onaj kod izbaci iz poruke. ovako je tema bespotrebno teska za citanje...
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
91.143.216.*



+3 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 19:54 - pre 153 meseci
Zanimljivo, moderatori su se konacno pojavili, mada ih danima nisam video ni u jednoj temi. Hvala bogu, zivi ste.
rgdrajko
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
91.143.216.*



+3 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 20:06 - pre 153 meseci
Citat:
Aleksandar Ružičić:  ... a znajuci Rajka i njegovo 50-godisnje iskustvo u programiranju


Zbog ovakvih uvreda sam vec jednom otisao sa foruma pa zbog njih idem i sada.

Smatram da moderatori ne bi trebalo da vredjaju i ponizavaju clanove ovog foruma.
Leci se covece, leci te svoje komplekse i nacuci se da budes lepo vaspitan.
rgdrajko
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12798



+4738 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 20:16 - pre 153 meseci
Jednom?
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
*.adsl-a-1.sezampro.yu.



+1 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 20:29 - pre 153 meseci
Rajko, ja nisam moderator ali ti stvarno nisi u pravu sto se tice ovoga. Kad si uvideo da si pogresio mogao si lepo da priznas a ne da odmah menjas temu na to kako te moderatori maltretiraju.

BTW: Mogao bi sav ovaj off-topic da se obrise...
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 21:32 - pre 153 meseci
haha... e dugo si i traj'o ovaj put.
I da, bice da si vec dva puta odlazio, ovo je treci :)
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Upravljanje DC motorima04.03.2009. u 22:28 - pre 153 meseci
ih Rajko, pa sto si se uvredio? Ako sam omasio za koju godinu ja ti se evo iskreno izvinjavam, nisam namerno. A ako nije istina da imas visedecenijsko iskustvo onda si sam kriv, jer si se istim dicio ovde nebrojeno puta.
 
Odgovor na temu

dr.zmaj
Drazen Zmaj
prof.
Beograd

Član broj: 63416
Poruke: 259
*.adsl-a-1.sezampro.yu.

Sajt: kompaskmt.9f.com


Profil

icon Re: Upravljanje DC motorima08.03.2009. u 19:00 - pre 153 meseci
O cemu ovde vi pricate. Nemojte se prepucavati ovde nego pomazite svojim idejama. Normalno je da neke stvari iz QBasic-a mogu da rade i da ima slicnosti sa VBasic-om, ali iole ozbiljniji kod zahteva kompletnu promenu. Evo kod u QBasic-u:

Code:

Dim a(1000, 2)
Do
Cls
izlaz = 888: ' ili 956
x = 1
l = 19
GoSub okvir
GoSub okvir2
x = 25
l = 21
GoSub okvir
GoSub okvir2
x = 50
l = 21
GoSub okvir
GoSub okvir2
GoSub legenda
x = 25
GoSub radi
x = 50
GoSub ponavlja
Loop
End

' ---------------------------------------------------------------
legenda:
y = 6
LOCATE 3, 5: Print "R O B O T"
LOCATE y + 3, 3: Print "2 = natrag"
LOCATE y + 5, 3: Print "8 = napred"
LOCATE y + 7, 3: Print "6 = okret levo"
LOCATE y + 9, 3: Print "4 = okret desno"
LOCATE y + 11, 3: Print "5 = stoj"
LOCATE y + 13, 3: Print "0 = prekid ucenja"
LOCATE y + 15, 5: Print "ESC = izlaz"
LOCATE 3, 35: Print "UCI"
LOCATE 3, 58: Print "PONAVLJA"
LOCATE y + 7, 27: Print "Korak :"
LOCATE y + 9, 27: Print "Izlaz:"
LOCATE y + 11, 27: Print "Vreme:"
LOCATE y + 13, 27: Print "Trajanje:"
LOCATE y + 7, 52: Print "Korak :"
LOCATE y + 9, 52: Print "Izlaz:"
LOCATE y + 11, 52: Print "Vreme:"
LOCATE y + 13, 52: Print "Trajanje:"

Return
' --------------------------------------------------------------
okvir:
y = 7
lin$ = "": raz$ = ""
For i = 1 To l
            lin$ = lin$ + Chr$(205)
            raz$ = raz$ + Chr$(32)
Next i
up$ = Chr$(201) + lin$ + Chr$(187)
dn$ = Chr$(200) + lin$ + Chr$(188)
vt$ = Chr$(186)
LOCATE y, x: Print up$
For i = 1 To 15
            LOCATE y + i, x: Print vt$ + raz$ + vt$
Next i
LOCATE y + 16, x: Print dn$
Return
' ---------------------------------------------------------------
okvir2:
y = 1
lin$ = "": raz$ = ""
For i = 1 To l
            lin$ = lin$ + Chr$(205)
            raz$ = raz$ + Chr$(32)
Next i
up$ = Chr$(201) + lin$ + Chr$(187)
dn$ = Chr$(200) + lin$ + Chr$(188)
vt$ = Chr$(186)
LOCATE y, x: Print up$
For i = 1 To j + 3
            LOCATE y + i, x: Print vt$ + raz$ + vt$
Next i
LOCATE y + 4, x: Print dn$
Return
' ---------------------------------------------------------------
radi:
LOCATE 9, 27: Print "START"
LOCATE 11, 27: Print "Bilo koja tipka."
q$ = INPUT$(1)
y = 7
a(0, 1) = 0
a(0, 2) = 0
OUT izlaz, 0
t0 = Timer
i = 1

Do
            q$ = INPUT$(1)
            If q$ = "8" Then w = 10
            If q$ = "2" Then w = 5
            If q$ = "6" Then w = 6
            If q$ = "4" Then w = 9
            If q$ = "5" Then w = 0
            If q$ = "0" Then Exit Do
            If Asc(q$) = 27 Then End
            a(i, 1) = w
            a(i, 2) = Timer - t0
            OUT izlaz, w
            LOCATE 6 + y, x + 15: Print USING; "###"; i
            LOCATE 8 + y, x + 15: Print USING; "###"; a(i, 1)
            LOCATE 10 + y, x + 15: Print USING; "###.##"; a(i, 2)
            LOCATE 12 + y, x + 15: Print USING; "###.##"; a(i, 2) - a(i - 1, 2)
            i = i + 1
Loop
OUT izlaz, 0
a(i, 1) = 0
a(i, 2) = Timer - t0
n = i - 1
Return
' --------------------------------------------------------------
ponavlja:
LOCATE 9, 52: Print "START"
LOCATE 11, 52: Print "Bilo koja tipka."
q$ = INPUT$(1)
y = 7
t0 = Timer
For i = 0 To n
            t1 = Timer
            LOCATE 6 + y, x + 15: Print USING; "###"; i
            LOCATE 8 + y, x + 15: Print USING; "###"; a(i, 1)
            LOCATE 10 + y, x + 15: Print USING; "###.##"; a(i, 2)
            Do

                        OUT izlaz, a(i, 1)

                        If Timer - t0 >= a(i + 1, 2) Then Exit Do

            Loop
            LOCATE 12 + y, x + 15: Print USING; "###.##"; Timer - t1
Next i
OUT izlaz, 0
Return

Mene zanima kako da resim u VB da pamti koliko sam drzao pritisnut taster za odredjenu kretnju.


[Ovu poruku je menjao Aleksandar Ružičić dana 08.03.2009. u 23:40 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Upravljanje DC motorima08.03.2009. u 22:39 - pre 153 meseci
1. na KeyDown zapamtis trenutno vreme (u milisekundama ti je najbolje) u neku globalnu promenljivu
2. na KeyUp od trenutnog vremena oduzmes vreme koje ti se nalazi u globalnoj promenljivoj i ta razlika ti je mera koliko dugo je taster bio pritisnut
 
Odgovor na temu

dr.zmaj
Drazen Zmaj
prof.
Beograd

Član broj: 63416
Poruke: 259
*.adsl-a-1.sezampro.yu.

Sajt: kompaskmt.9f.com


Profil

icon Re: Upravljanje DC motorima10.03.2009. u 20:00 - pre 153 meseci
Video sam na internetu i skino sam fajl koji omogucava kodu pisanom u QBasic-u, na racunaru koji radi pod XP-om, da pristupa paralelnom portu, ali vezija koju sam ubacio na racunar je ogranicena tako da radi otprilike samo desetak minuta, pa onda opet mora racunar da se restartuje. Verzija mora da se plati. Da li zna neko nesto slicno i gde moze da se skine. Mislim da se zove DOSLpt ili tako nesto.
 
Odgovor na temu

[es] :: Visual Basic 6 :: Upravljanje DC motorima

Strane: 1 2

[ Pregleda: 6160 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.