www.elektronik.si
Programiranje v bascom avr
Pojdi na stran 1, 2, 3 ... 36, 37, 38  Naslednja  :||:
www.elektronik.si -> Bascom sekcija

Avtor: PobesneliKraj: Ajdovščina PrispevekObjavljeno: Ned Apr 13, 2008 2:48 pm    Naslov sporočila:  Programiranje v bascom avr
----------------------------------------------------------------------------
Živjo!


Začel sem se učit programirat v bascom avr.Kot čip uporabljam Attiny 2313,ker sem te imel doma.
Imam pa nekaj vprasanj.
Kako bi zgledala koda,ali vsaj kateri ukaz naj uporabim za :

Vezje z eno tipko ki bi ob vsakem pritisku naredila nekaj.


Recimo če bi imel tipko in led diodo.1.pritisk ...dioda gori
2. pritisk dioda utripa
3.pritisk dioda ugasne.

Kje bi dobil seznam ukazov?v kakšni tabeli z kakšno majhno razlago zravn?

Še eno vprašanje.A se s tem čipom da naredit da led dioda recimo postopoma prizge?da bi izhod višal napetost?

Naredil sem si enostaven programator,na katerem sem povezal pine LPT-ja na pine čipe.In dela odlično.Zanima me če lahko z njim sprogramiram tudi atmega8,ker jih mam tudi nekaj doma.

Programator

vcc = 2, 3, 4, 5
reset = 7
sck = 8
mosi = 9
miso = 10

Programiram pa z AVRdude

Avtor: int47Kraj: Ljubljana PrispevekObjavljeno: Ned Apr 13, 2008 3:13 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Citiram:
Vezje z eno tipko ki bi ob vsakem pritisku naredila nekaj.

-V zanki zaznavaš, če je tipka pritisnjena.
-Vsak pritisk tipke poveča nek števec
-Po potrebi resetiraš števec.
-Glede na vrednost števca izvršiš ustrezno kodo.

Citiram:
Kje bi dobil seznam ukazov?v kakšni tabeli z kakšno majhno razlago zravn?
Ali ni nobene dokumentacije zraven (help / priročnik..) ?

Citiram:
Še eno vprašanje.A se s tem čipom da naredit da led dioda recimo postopoma prizge?da bi izhod višal napetost?

Izhodi so digitalni. V določene trenutku je izhod lahko '0' ali '1'.
Efekt počasnega prižiganja je (med drugim) mogoče doseči s PWM modulacijo. (Na linku je razložen princip. Ni potrebna izdelava vezja z linka. Dovolj je uC nekaj kode).

Avtor: pato90Kraj: Logatec PrispevekObjavljeno: Ned Apr 13, 2008 3:18 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Če bi naredil vezje z eno tipko bi to šlo tako da v program vstaviš eno spremenljivko in ob vsakem pritisku ji povečaš vrednost potem pa z if-end if zankami narediš kaj ob določeni vrednosti spremenljivke dela. ko pa nevem dosežeš zadnjo stopnjo pri tvojem primeru tri resetiraš spremenljivko tako da jo ponovno postaviš na nulo in gre od začetka. za ukaze jih imaš vse napisane v bascom avr helpu in so tudi razloženi v angleščini.
AT mega8 lahko tudi programiraš z takim programatorjem.


L.P.

Avtor: cimerKraj: Ljubljana PrispevekObjavljeno: Ned Apr 13, 2008 3:36 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Zdravo

Bascom AVR ima pregleden in uporaben help.
Za primere kode pa pogledaš v mapo EXAMPLES. Priporočam, da najprej pregledaš primere, pa se potem znova oglasiš.
Pomembno je, da pravilno nastaviš vhodne/izhodne pine. Tam kjer krmiliš LED moraš konfigurirati pin kot output, kjer pa čitaš tipko pa kot intput. Pri čitanju tipke je smiselno tudi priključiti pull up upor na vhodni pin.

Avtor: RGorazdKraj: Ig PrispevekObjavljeno: Ned Apr 13, 2008 3:47 pm    Naslov sporočila:  
----------------------------------------------------------------------------
seznam ukazov v Bascomu dobiš s pritiskom na eno tipko:

do
If F1 = 1 then
Print HELP
End if
loop

Tole je primer kode, ki ti ciklično preverja, če je bila pritisnjena tipka F1 (help) in ti posledično odpre Help okno, kjer imaš vse lepo obrazloženo.

Kako bi delala koda, za katero si ti spraševal je pa tako:

skok:
Do
Debounce tipka, 0, nekaj
loop

nekaj:
incr števec
if števec = 10 then
števec=0
end if
go to izbira

izbira:

select case števec
case 1 = goto program1
case 2 = goto program2...

itd

goto skok

Tole pišem tako na pamet...za vsak slučaj stisni tipko F1 in si preberi, kaj počnejo vsi ti ukazi, in kakšna je pravilna sintaksa. Prej ali slej boš odkril, da je stvar zelo enostavna. Aja, pa spremenljivke je treba deklarirat, pa aliase naštimat (tipka alias p3.2 ali pač na kateri pin imaš priključeno tipko)

LP G

Avtor: PobesneliKraj: Ajdovščina PrispevekObjavljeno: Ned Apr 13, 2008 4:19 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Uf,nisem pričakoval takega odziva,[slovenščina je zame španska vas] hvala za nasvete.Bom preizkusil Smile

Hvala zaenkrat Smile

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Ned Apr 13, 2008 7:36 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Debounce tipka, 0, nekaj

Kaj tale ukaz je nekakšna krajšava?

Ali je ta ukaz podoben temu:

If tipka = 0
Goto nekaj
End If
...

Avtor: RGorazdKraj: Ig PrispevekObjavljeno: Ned Apr 13, 2008 8:41 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Citiram:
If tipka = 0
Goto nekaj
End If


Ja, precej, vendar je prav namenjen tipkam. V bistvu je nekaj takega:

if tipka = 0 then
waitms 10
if tipka = 0 then
goto nekaj
end if
end if

V bistvu počaka nekaj milisekund, da mine prehodni pojav, potem še enkrat testira pin, če je še vedno na nuli, (če je tipka še vedno pritisnjena) potem komaj skoči tja, kamor mora. To je zaradi preprečevanja motenj, ki jih povzroči odskakovanje mehanskega kontakta tipke.

LP G

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Ned Apr 13, 2008 8:54 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Aha, to razumem, hvala.

Samo zapis mi ni šel v glavo, te vejice pa to...
Se pravi ukaz debounce zapišemo tako:

Debounce Portx.x , stanje (0 ali1) , podprogram ali Portx.x = 1 ali 0

Avtor: RGorazdKraj: Ig PrispevekObjavljeno: Ned Apr 13, 2008 9:35 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Jaz sem tole na pamet govoril. Poglej v Help. Trenutno se nahajam za Apple računalniom, kjer nimam inštaliranega Bascoma, na onem PCju, kjer pa je bascom nimam pa neta, pa se mi ne da skakat z ene sobe v drugo Smile

LP G

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Ned Apr 13, 2008 10:05 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Hvala. Sem pogledal v help in tam res vse lepo piše. Še konfiguriraš lahko ukaz Debounce.

Config Debounce = čas, ki ga naj preverja debounce (ms)

Debounce preverja pritisnjenost vsakih 5 ms

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Ned Apr 13, 2008 10:09 pm    Naslov sporočila:  
----------------------------------------------------------------------------
A ima kdo idejo kako in kaj bi naredil iz 1wire IR senzorja (iz starih mišk na kuglico)? Naprimer, da bi lahko s televizijskim pilotom prižigal ledice...

Avtor: RGorazdKraj: Ig PrispevekObjavljeno: Ned Apr 13, 2008 11:01 pm    Naslov sporočila:  
----------------------------------------------------------------------------
V helpu si poglej temo na RC5. Stvar deluje, samo ne z vsemi daljinci. RC5 če se ne motim, je standard, ki ga uporablja Philips, zatorej so najbolj prikladni Philipsovi daljinci, ali pa kak poceni univerzalni daljinec iz Spara. Mislim, da je v Helpu tudi vezalna shema.

Vse kar rabiš je Ir sprejemni modul, na katerega pripelješ 5V, GND in iz njega dobiš že izluščen signal, ki ga pelješ na en pin. To je to. Stvar deluje. S pomočjo tega vezja sem naredil vklop/izklop ter zatemnjevanje luči v moji sobi, vklapljal sem še ventilator. Originalnih načrtov več nimam, niti kode, ker mi je šel na starem PCu disk rakom žvižgat in z njim tudi precej take šare, ki je predstavljala prve korake v programiranju uCjev...

LP G

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Pon Apr 14, 2008 7:22 pm    Naslov sporočila:  
----------------------------------------------------------------------------
RGorazd je napisal/a:
seznam ukazov v Bascomu dobiš s pritiskom na eno tipko:

do
If F1 = 1 then
Print HELP
End if
loop

...

LP G


Kaj prek UARTa lahko kar napišeš, katero tikpo iščem (naprimer Space, F1, F2) in ko jo bom pritisno mi bo računalnik povedal da je pritisnjena...?

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Sre Apr 23, 2008 8:56 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Pozdravljeni!

Kakšno vlogo za vraga ima pin AREF pri AD pretvorniku?

Stran 1 od 38

Powered by phpBB © 2001,2002 phpBB Group