Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

SIMULATOR MENJALNIKA
Pojdi na stran Prejšnja  1, 2, 3, 4
 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Za začetnike
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Čet Nov 21, 2013 11:19 pm    Naslov sporočila: Ponovno prebujam temo Odgovori s citatom

Ponovno prebujam temo simulator menjalnika. Izdelal sem si elektroniko vso mehaniko potrebujem pa samo program, ki pravilno deluje vse deluje super ustavi pa se, ko želim ob pritisku določenih tipk hkrati izpisati položaj menjalnika na LCDju in prižgati določeno Ledico na portuc. Prvo sem poskusil obratno ugašati jih za 0.5 sekunde a deluje samo na stikalih1 in 2 na ostalih pa ne. Rad bi pa da neglede koliko časa držim tipko gorti Ledica samo o.5 sek. Mad
Zahvaljujem se vam že v naprej za pomoč. Prosim ne izgubite spet zivcov nad mano Very Happy

program;

Do
Portb = &B11111111
Locate 2 , 1
If Stikalo5 = 0 Then
Lcd " VZVRATNO "
Portc.6 = 0
Waitms 500
Portc.6 = 1

Elseif Stikalo3 = 0 And Stikalo1 = 0 Then
Lcd " 1 PRESTAVA "
Portc.1 = 0
Waitms 500
Portc.1 = 1

Elseif Stikalo4 = 0 And Stikalo1 = 0 Then
Lcd " 5 PRESTAVA "
Portc.5 = 0
Waitms 500
Portc.5 = 1

Elseif Stikalo3 = 0 And Stikalo2 = 0 Then
Lcd " 2 PRESTAVA "
Portc.2 = 0
Waitms 500
Portc.2 = 1

Elseif Stikalo4 = 0 And Stikalo2 = 0 Then
Lcd " 6 PRESTAVA "
Portc.6 = 0
Waitms 500
Portc.6 = 1

Elseif Stikalo1 = 0 Then
Lcd " 3 PRESTAVA "
Portc.3 = 0
Waitms 500
Portc.3 = 1

Elseif Stikalo2 = 0 Then
Lcd " 4 PRESTAVA "
Portc.4 = 0
Waitms 500
Portc.4 = 1

Else
Lcd " OUT OF GEAR "
Portc.5 = 0
Waitms 500
Portc.5 = 1
End If
Loop

_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2058
Kraj: Ljubljana

PrispevekObjavljeno: Pet Nov 22, 2013 10:54 am    Naslov sporočila: Odgovori s citatom

Na začetek programa dodaj tole:

Config PortC=Output

AVR-ju je potrebno definirati, ali so pini vhodni ali izhodni.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Pet Nov 22, 2013 11:24 am    Naslov sporočila: Odgovori s citatom

Hvala

Naredil sem napako pri config port in ugotovil da mi cip na portihC strajka na Bdeluje. Prosil bi se kako naj popravim da ledica samo enkrat utripne neglede na dolžino pritisnjene tipke. Sem podalšal čaš in se mi celotni reakciski čas program in zagon zelo upočasni.

_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2058
Kraj: Ljubljana

PrispevekObjavljeno: Pet Nov 22, 2013 3:27 pm    Naslov sporočila: Odgovori s citatom

jurcman90 je napisal/a:
Hvala

Prosil bi se kako naj popravim da ledica samo enkrat utripne neglede na dolžino pritisnjene tipke. Sem podalšal čaš in se mi celotni reakciski čas program in zagon zelo upočasni.


Dodaj novo spremenljivko:

Koda:

Do

Spremenljivka=0
.
.
.
If Stikalo5 = 0 Then
 Lcd " VZVRATNO "
 If Spremenljivka =0 then
   Spremenljivka =1
   Portc.6 = 0
   Waitms 500
   Portc.6 = 1
 End if

Elseif Stikalo3 = 0 And Stikalo1 = 0 Then
.
.
.
Loop


Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Pet Nov 22, 2013 5:47 pm    Naslov sporočila: Odgovori s citatom

Sedaj mi javlja napake (assignment error, invalid data taype, if then expevted, end if expected)
Mi lahko malo več poveste o pravilni uporabi spremenljivk.
hvala.

_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2058
Kraj: Ljubljana

PrispevekObjavljeno: Sob Nov 23, 2013 11:25 am    Naslov sporočila: Odgovori s citatom

jurcman90 je napisal/a:
Sedaj mi javlja napake (assignment error, invalid data taype, if then expevted, end if expected)
Mi lahko malo več poveste o pravilni uporabi spremenljivk.
hvala.


Ja, verjetno to pomeni, da spremenljivke nisi dimenzioniral - si jo?

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Sob Nov 23, 2013 11:36 am    Naslov sporočila: Odgovori s citatom

nisem je dimenzioniral ker nevem kako.
_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2058
Kraj: Ljubljana

PrispevekObjavljeno: Ned Nov 24, 2013 3:58 pm    Naslov sporočila: Odgovori s citatom

jurcman90 je napisal/a:
nisem je dimenzioniral ker nevem kako.


poglej v Help ukaz DIM

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Sob Dec 28, 2013 12:02 am    Naslov sporočila: Odgovori s citatom

G.Jure

Že nekaj časa gledam v helpu DIM ampak sm še bl zmešan kaj pa kako.
Prosim če ima kdo kakšno idejo kako prižgat ledico tako da samo enkrat utripne neglede na dolžino pritisnjene tipke.

If Stikalo5 = 0 Then
Lcd " VZVRATNO "
Portb.0 = 0
Waitms 200
Portb.0 = 1
End If

_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Sob Dec 28, 2013 10:09 am    Naslov sporočila: Odgovori s citatom

Kakšne zveze ima DIM s tvojo težavo?
Z Dim samo definiraš tip spremenljivke.

Tvoj problem lahko rešiš na ta način:

If Stikalo5 = 0 Then
Lcd " VZVRATNO "
Portb.0 = 0
Waitms 200
Portb.0 = 1
DO
LOOP UNTIL STIKALO5=1 'pocakas da se stikalo sprosti
End If

Če pa želiš da program teče naprej potem bi šlo na drugačen način, vendar tega nisi napisal.
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2058
Kraj: Ljubljana

PrispevekObjavljeno: Sob Dec 28, 2013 1:19 pm    Naslov sporočila: Odgovori s citatom

jurcman90 je napisal/a:
G.Jure

Že nekaj časa gledam v helpu DIM ampak sm še bl zmešan kaj pa kako.


Glej, program mora vedeti, s katerimi spremenljivkami naj dela. Program mora tudi vedeti, kakšne vrste so spremenljivke. Spremenljivk je lahko več vrst: Bit, Byte, Word...

Tvoje spremenljivke niso definirane, zato ti program javlja napake.

V Helpu piše, kaj počne ukaz Dim, potem pa spodaj najdeš primere - recimo tole:
Koda:

Dim K As Byte

Ukazov Dim v tvojem programu ni, pa bi bilo prav da so, recimo:
Koda:

Dim spremenljivka as Byte
Dim Stikalo5 as Byte


in tako naprej.

Ko boš to naredil za vse spremenljivke, potem bo program deloval.

Če kaj ni jasno pa enkrat pridi na Bascom tečaj, v živo je lažje obrazložit.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Sob Dec 28, 2013 1:23 pm    Naslov sporočila: Odgovori s citatom

Z veseljem bi prišel na tečaj samo delam v Nemčiji in sm večino časa gor. Če mi bo uspelo si bom prišel u ponedeljek kvam u AXa kupit ksno fajn literaturo.
_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Ned Dec 29, 2013 2:56 pm    Naslov sporočila: Odgovori s citatom

Hvala Vsem, ki ste mi pomagali.

Tukaj je celotni program ki deluje na Atmega32.
Kaksno sliko bom pa naložil kasneje.

$regfile = "m32def.dat"

Portb = &B01111111
Config Porta = Input

Locate 1 , 1
Lcd " "
Locate 2 , 1
Lcd " "

Stikalo1 Alias Pina.0
Stikalo2 Alias Pina.1
Stikalo3 Alias Pina.2
Stikalo4 Alias Pina.3
Stikalo5 Alias Pina.4
Stikalo6 Alias Pina.5
Config Porta.7 = Input


Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output
Config Portb.6 = Output
Config Portb.7 = Output


Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , E = Portd.2 , Rs = Portd.1
Enable Interrupts
Cursor On Noblink


Program:
If Pina.7 = 0 Then Goto Vklop
Portb = &B01111111
Goto Program


Vklop:
Locate 1 , 1
Lcd " SIMULATOR "
Locate 2 , 1
Lcd " MENJALNIKA "
Waitms 800
Locate 1 , 1
Lcd " SIMULATOR "
Locate 2 , 1
Lcd " IZDELAL "
Waitms 800
Locate 1 , 1
Lcd " PAVLIC JURE "
Locate 2 , 1
Lcd " 20.11.2013 "
Wait 1
Locate 1 , 1
Lcd " SIMULATOR "
Locate 2 , 1
Lcd " "
Waitms 200
Locate 1 , 1
Lcd " MENJALNIKA "
Locate 2 , 1
Lcd " "
Waitms 200
Locate 2 , 1
Lcd " PRIPRAVLJEN "
Waitms 400
Cls



Do
Locate 2 , 1
If Stikalo5 = 0 Then
Lcd " VZVRATNO "
Portb.0 = 0
Waitms 200
Portb.0 = 1
Do
Loop Until Stikalo5 = 1 'pocakas da se stikalo sprosti




Elseif Stikalo3 = 0 And Stikalo1 = 0 Then
Lcd " 1 PRESTAVA "
Portb.1 = 0
Waitms 200
Portb.1 = 1
Do
Loop Until Stikalo1 = 1 'pocakas da se stikalo sprosti




Elseif Stikalo4 = 0 And Stikalo1 = 0 Then
Lcd " 5 PRESTAVA "
Portb.5 = 0
Waitms 200
Portb.5 = 1
Do
Loop Until Stikalo1 = 1 'pocakas da se stikalo sprosti




Elseif Stikalo3 = 0 And Stikalo2 = 0 Then
Lcd " 2 PRESTAVA "
Portb.2 = 0
Waitms 200
Portb.2 = 1
Do
Loop Until Stikalo2 = 1 'pocakas da se stikalo sprosti




Elseif Stikalo4 = 0 And Stikalo2 = 0 Then
Lcd " 6 PRESTAVA "
Portb.6 = 0
Waitms 200
Portb.6 = 1
Do
Loop Until Stikalo2 = 1 'pocakas da se stikalo sprosti




Elseif Stikalo1 = 0 Then
Lcd " 3 PRESTAVA "
Portb.3 = 0
Waitms 200
Portb.3 = 1
Do
Loop Until Stikalo1 = 1 'pocakas da se stikalo sprosti




Elseif Stikalo2 = 0 Then
Lcd " 4 PRESTAVA "
Portb.4 = 0
Waitms 200
Portb.4 = 1
Do
Loop Until Stikalo2 = 1 'pocakas da se stikalo sprosti




Else
Lcd " OUT OF GEAR "
Portb.7 = 1
Waitms 200
Portb.7 = 0
End If
Loop[/img]

_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
jurcman90
Mojster


Pridružen/-a: Pet Dec 2012 16:34
Prispevkov: 27
Kraj: Stahovica

PrispevekObjavljeno: Tor Dec 31, 2013 12:10 am    Naslov sporočila: Odgovori s citatom

Zanima me ce mogoce kdo ve kako bi doloceno napetost (3,7v) pripeljal do cipa in z cipom krmilil izhod oz. spuscal napetost naprej. mogoce z kaksnim tranzistorjem?

Problem je program vse deluje super zatakne se mi pa ko priklopim cip na staro vezje vcasih je biv volan za pc zdaj mi pa sluzi za povezavo z pcjm in igricami. Izmeril sem napetost na vezju Mini Pin mi daje na izhodu 4,8v bivsi usb volan ma pa na stikalih 3,7v to napetost bi nekako moral spravit do cipa in z cipom prekinjat in spuscat do stikal nazaj.

_________________
LP.Pavlic
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Tor Dec 31, 2013 8:59 am    Naslov sporočila: Odgovori s citatom

Sicer mi ni čisto jasno, kaj bi rad, ampak mogoče kakšen ULN2003, 2803 (vsebuje 8 tranzistorjev), če rabiš večji tok. Ti čipi so različni glede na nivo proženja - oglej si datasheet.
Za manjše tokove pa lahko kakšen 4066, ki vsebuje 4 stikala.

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Za začetnike Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Pojdi na stran Prejšnja  1, 2, 3, 4
Stran 4 od 4

 
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
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group