„Mérés laboratórium 2. - 3. mérés” változatai közötti eltérés

Ferrero (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
Benjo (vitalap | szerkesztései)
 
(10 közbenső módosítás, amit 3 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
{{Elavult}}
{{Vissza|Mérés_laboratórium_2.}}
__TOC__
__TOC__


59. sor: 63. sor:


===Gombok kezelése IT-vel===
===Gombok kezelése IT-vel===
'''Eredeti forrás: <a href="http://www.mit.bme.hu/oktatas/targyak/vimm3226/jegyzet/doc2467.pdf" target="_blank">ATmega128 doksi</a> 87-89. oldal'''


Először az EICRB (External Interrupt Control Register B &#8211; INT7:4) regiszterben 2-2 biten kell beállítani, hogy szintérzékeny, felfutóél érzékeny, stb. módban működjön:
Először az EICRB (External Interrupt Control Register B &#8211; INT7:4) regiszterben 2-2 biten kell beállítani, hogy szintérzékeny, felfutóél érzékeny, stb. módban működjön:
221. sor: 223. sor:
A félelmetesnek tűnő művelet félelmetesen egyszerű. Az F port 3. pinjére van kötve a potméter, a 2. pinre a fényérzékelő, ezen kívül pl. hőmérő is található a panelen. A konverzió nem az jelenti, hogy az F megfelelő pinjének értékét beolvassuk, hanem hogy A/D konverziót indítunk, a megfelelő F pinről mintavételezve.
A félelmetesnek tűnő művelet félelmetesen egyszerű. Az F port 3. pinjére van kötve a potméter, a 2. pinre a fényérzékelő, ezen kívül pl. hőmérő is található a panelen. A konverzió nem az jelenti, hogy az F megfelelő pinjének értékét beolvassuk, hanem hogy A/D konverziót indítunk, a megfelelő F pinről mintavételezve.


Az A/D konverzió két lényeges regisztere az ADMUX és az ADCSR (244-245. oldal az <a href="http://www.mit.bme.hu/oktatas/targyak/vimm3226/jegyzet/doc2467.pdf" target="_blank">ATmega128 doksiban</a>), ezek megfelelő beállításával választható ki, melyik csatornát akarjuk digitalizálni, a digitalizálás mennyi ideig tartson (pontosság), hova kerüljön az eredménye, és interruptot akarunk-e kapni elkészültéről (ADIE == 1-re ADC Conversion Complete Handler nevezetű interrupt fog kiváltódni).
Az A/D konverzió két lényeges regisztere az ADMUX és az ADCSR (244-245. oldal az ATmega128 doksiban), ezek megfelelő beállításával választható ki, melyik csatornát akarjuk digitalizálni, a digitalizálás mennyi ideig tartson (pontosság), hova kerüljön az eredménye, és interruptot akarunk-e kapni elkészültéről (ADIE == 1-re ADC Conversion Complete Handler nevezetű interrupt fog kiváltódni).


A konverzió 10 bites eredménye az ADCH és ADCL regiszterekbe kerül, állítható, hogy jobbra vagy balra legyen igazítva (ADLAR bit).
A konverzió 10 bites eredménye az ADCH és ADCL regiszterekbe kerül, állítható, hogy jobbra vagy balra legyen igazítva (ADLAR bit).
282. sor: 284. sor:
Időzítéshez érdemes a TMR1-et használni, mert az 16bites, és 1024-es
Időzítéshez érdemes a TMR1-et használni, mert az 16bites, és 1024-es
előosztóval már lehet pár Hz-es jelet csinálni. FastPWM módba kell
előosztóval már lehet pár Hz-es jelet csinálni. FastPWM módba kell
kapcsolni (a CTC móddal sok a szívás, főleg ha állítod az [[OCRxx]]
kapcsolni (a CTC móddal sok a szívás, főleg ha állítod az OCRxx
regisztereket...).
regisztereket...).


505. sor: 507. sor:
====Feladat====
====Feladat====
Írni kellett egy kódot, ami a ledeket egy kifutópálya fényeihez hasonlóan működteti, illetve a külső fény függvényébel változtatja a ledek fényerejét. A fényerőt pulse width modulation (PWM) segítségével kellett megoldani. A rendszert le lehet állítani, majd újraindítani az INT gombbal. INT-et pergésmentesíteni nem kell.<br>
Írni kellett egy kódot, ami a ledeket egy kifutópálya fényeihez hasonlóan működteti, illetve a külső fény függvényébel változtatja a ledek fényerejét. A fényerőt pulse width modulation (PWM) segítségével kellett megoldani. A rendszert le lehet állítani, majd újraindítani az INT gombbal. INT-et pergésmentesíteni nem kell.<br>
[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/kifuto.asm Az assembly fájl letöltése]
[[Media:meres2_hf_2006_kifuto.zip|Az assembly fájl letöltése]]


====Megjegyzések====
====Megjegyzések====
522. sor: 524. sor:
A kígyó hossza nem nő miután felveszi a kaját, de a program fel van készítve a növekedésre :)
A kígyó hossza nem nő miután felveszi a kaját, de a program fel van készítve a növekedésre :)


[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/kigyo_jatek_091.zip A kígyó játék letöltése]
[[Media:meres2_hf_2006_kigyo.zip|A kígyó játék letöltése]]


====Megjegyzések====
====Megjegyzések====
536. sor: 538. sor:
HW: timer, LED-ek, fényérzékelő, nyomógomb
HW: timer, LED-ek, fényérzékelő, nyomógomb


[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/meres2hazi.asm Kód letöltése (UTF8)]
[[Media:meres2_hf_2008_erzekelo.zip|Kód letöltése]]


Egy hasonló feladat, csak itt az INT gombbal kell leállítani a jelzést. Másfajta hardver timert használtam szoftveressel egyetemben. Tökéletesen működött.
Egy hasonló feladat, csak itt az INT gombbal kell leállítani a jelzést. Másfajta hardver timert használtam szoftveressel egyetemben. Tökéletesen működött.
[[Media:meres2_hf_2008_erzekelo2.zip|Forráskód]]


[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/meres2m3.asm Forráskód]
====Megjegyzések====
====Megjegyzések====
Működik, bár néhol kicsit nem logikus, néhol kicsit redundáns. Nemhiába, a végefelé locsolgatásos módszerrel fejlesztgettem, de végülis elfogadta a mérésvezető, működött prímán.  
Működik, bár néhol kicsit nem logikus, néhol kicsit redundáns. Nemhiába, a végefelé locsolgatásos módszerrel fejlesztgettem, de végülis elfogadta a mérésvezető, működött prímán.  
558. sor: 560. sor:
HW: timer. LED-ek,potméter.
HW: timer. LED-ek,potméter.


Megoldás:
Megoldás: [[Media:meres2_hf_2009_futofeny.zip|Futófény]] by Pöri
 
[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/futofeny.asm futofeny.asm]
 
by Pöri


===Liftvezérlés===
===Liftvezérlés===
575. sor: 573. sor:
A program egyetlen hívást tárol, amíg ki nem szolgálja, nem fogad újat.
A program egyetlen hívást tárol, amíg ki nem szolgálja, nem fogad újat.


[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/Liftvezerlo.zip Liftvezerlo.zip]
[[Media:meres2_hf_2010_liftvezerlo.zip|Liftvezerlo.zip]] mayer - 2010.04.10
 
mayer - 2010.04.10


===2x4 bites számológép (LED-es)===
===2x4 bites számológép (LED-es)===
586. sor: 582. sor:
Hw: timer, LED-ek, nyomógombok, kapcsolók
Hw: timer, LED-ek, nyomógombok, kapcsolók


Megoldás:
Megoldás: [[Media:meres2_hf_2010_szamologep.zip|számológép]]
 
[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/szamologep.asm szamologep.asm]


===LED céllövölde potméterrel===
===LED céllövölde potméterrel===


====Feladat====
====Feladat====
A baloldali LED oszlopon véletlenszerűen [[LEDek]] gyulladnak fel. A felgyulladások közötti időt(n*100 ms) a potméter állásával lehet szabályozni, 16 lépésben. A nyomógombokkal el kell találnunk, hogy melyik LED világít. A megnyomás pillanatában a LED-ek állapota kimerevedik, a baloldali oszlopon pedig az a LED világít, amelyhez tartozó gombot lenyomtuk. Minél kisebb az időalap ( hw időzítés) annál nehezebben lehet eltalálni az állapotot. Találat esetén a jelző jobboldali LED 4 Hz frekvenciával villogjon. Az INT gomb megnyomásával lehet a mérést folytatni. A pergésmentesítéssel nem kell foglalkozni.
A baloldali LED oszlopon véletlenszerűen LEDek gyulladnak fel. A felgyulladások közötti időt(n*100 ms) a potméter állásával lehet szabályozni, 16 lépésben. A nyomógombokkal el kell találnunk, hogy melyik LED világít. A megnyomás pillanatában a LED-ek állapota kimerevedik, a baloldali oszlopon pedig az a LED világít, amelyhez tartozó gombot lenyomtuk. Minél kisebb az időalap ( hw időzítés) annál nehezebben lehet eltalálni az állapotot. Találat esetén a jelző jobboldali LED 4 Hz frekvenciával villogjon. Az INT gomb megnyomásával lehet a mérést folytatni. A pergésmentesítéssel nem kell foglalkozni.


Hw: timer, LED, kapcsoló, potméter
Hw: timer, LED, kapcsoló, potméter


Megoldás:
[[Media:Meres2_hf_2011_cellovolde_uj.zip‎|Megoldás]]
 
[https://wiki.sch.bme.hu/pub/Infoalap/MeresLabor2Meres3/i108cdu23_1.doc i108cdu23_1.doc]


===Szoftveres PWM ami fényérzékelőről vagy Potiról veszi a jelet.===
===Szoftveres PWM ami fényérzékelőről vagy Potiról veszi a jelet.===
607. sor: 599. sor:
Használjátok egészséggel.
Használjátok egészséggel.


Megoldás:
Megoldás: [[Media:meres2_hf_2011_pwm.zip|Szoftveres PWM ADC és Poti]]
* {{InLineFileLink|Infoalap|MeresLabor2Meres3|sw.asm|sw.asm}}: Szoftveres PWM ADC és Poti
Terkó - 2011.05.26
Terkó - 2011.05.26


 
[[Kategória:Mérnök informatikus]]
[[Category:Infoalap]]