mereslab2:hazi [Mérés labor]
Page 1 of 6
Mérés labor 2 AVR házi feladatok Jelzőlámpák, fényjátékok Forgalmi jelzőlámpa fényérzékelő éjszakai üzemmóddal A két LED oszlop egy-egy jelzőlámpája a kereszteződés két irányának tekintendő (egymásra merőlegesen), a piros fény „duplázott” a figyelem jobb felhívására. A lámpák időzítése hardver időzítővel történjen (a zöld fény hossza 30 másodperc, a sárga fény hossza 2 másodperc, a piros és sárga együtt 1 másodpercig világítson). A fényérzékelő analóg bemeneten beolvasott információ alapján kapcsoljanak át a lámpák „éjszakai üzemre” (villogó sárga). A nappali üzemmódba történő váltáskor, valamint bekapcsoláskor mindkét irányba mutasson pirosat a lámpa 2 másodpercig. Hw: timer, LED-ek, fényérzékelő
Forgalmi jelzőlámpa kerékpáros forgalommal A két LED oszlop egyike egy főútvonal egyenesen haladó irányát jelöli, a másik oszlop a keresztben érkező kerékpár út jelzőlámpája. A főúton állandó zöld jelzés van, a kerékpárút csak akkor kap szabad jelzést, ha a kerékpáros kéri (INT nyomógomb lenyomásával). Ekkor a kerékpárút 20 másodpercre szabad jelzést kap. A piros fény a jobb láthatóság kedvéért duplázva jelenjen meg! Az átmenetekhez tartozó sárga és piros sárga jelzések hossza három másodperc legyen. Bekapcsoláskor, és újraindításkor mindkét irányban 5 másodpercig piros jelzést mutassanak a lámpák. A kerékpáros csak az autók zöld jelzésekor kérhetik az áthaladásukat (tehát az inicializációs fázis alatt nem), és az autósok legalább 20 másodpercig zöldet kell kapjanak. A nyomógomb kezelését megszakítással oldja meg, pergésmentesítésével nem kell foglalkoznia! A lámpák időzítése hardver időzítővel történjen! Hw: timer, LED-ek, nyomógomb
Szabályozható sebességű és irányú futófény Futófény megvalósítása a LED-eken: sorban felgyullad az összes LED, majd az elsőtől kezdve egyenként kialszanak. A léptetés sebessége és iránya a potenciométer állásától függjön, 100 msecként növelhető/csökkenthető legyen 2 x 15 lépésben: ha a potenciométer a középállásnál kisebb értéken van, akkor a fény „előre” lépked, ha nagyobb az érték, akkor „hátrafelé”. A lámpák időzítése hardver időzítővel történjen! Hw: timer, LED-ek, potméter
Szabályozható sebességű éjszakai futófény Futófény megvalósítása a LED-eken: sorban felgyullad az összes LED, majd az elsőtől kezdve egyenként kialszanak. A léptetés sebessége a kapcsolók (SW3..0) állásától (0..15) függő időalappal ((n+1) x 100 ms) történjen. Az időzítés hardver pontossággal valósuljon meg ! Nappal nem működik a futófény, csak éjszaka, a fényérzékelést az optikai érzékelő bemenet segítségével valósítsa meg.
https://fbpc11.mit.bme.hu:8888/meres/doku.php?id=mereslab2:hazi
4/14/2008
mereslab2:hazi [Mérés labor]
Page 2 of 6
Hw: timer, LED-ek, kapcsolók, fényérzékelő
Szabályozható sebességű, túlmelegedés ellen védett futófény Futófény megvalósítása a LED-eken: sorban felgyullad az összes LED, majd az elsőtől kezdve egyenként kialszanak. A léptetés sebessége a BT0 és BT1 nyomógombokkal történjen 100 ms időalappal 15 lépésben (100ms – 1.5 sec). BT0 egyszeri megnyomása növeli, BT1 egyszeri megnyomása csökkenti a futófény sebességét 100 ms-mal. Az időzítés hardver időzítő segítségével történjen. Vigyázat: 1 megnyomásra (bármilyen hosszú is az) csak egy változás legyen! Amennyiben a futófény túlmelegedett, akkor kikapcsol (ezt az NTK analóg bement segítségével ellenőrizhető). A nyomógombok pergésmentesítésével nem kell foglalkoznia! Hw: timer, LED-ek, nyomógombok, hőmérő
Sávlezárást jelző villanó fénysor A fénysort az oszlopok jelentik, egy oszlopban mindig csak egy LED világít, így fusson a fény végig rajtuk. A villogás időzítése (n+1)*100 ms legyen az SW0…SW3 kapcsolók állásától függően (=n). A világítás fényerejét az optikai bemenet függvényében lehessen fél fényerőre visszavenni (éjszakai üzem). Nappal a két egymás melletti oszlop egyformán világít (tehát a LED-ek párosával gyulladnak ki és alszanak el), éjszakai üzem során csak a baloldali LED soron futnak végig a fények. Az időzítést hardver időzítővel valósítsa meg! A készüléket a BT0 nyomógomb segítségével lehet ki- és bekapcsolni. A nyomógomb pergésmentesítésével nem kell foglalkoznia, viszont kezelését megszakítás segítségével valósítsa meg ! Hw: timer, LED-ek, kapcsolók, fényérzékelő, nyomógomb
Kifutópálya-fények A két LED sort egy kifutópálya szélei jelző lámpasort szimulálják. A jelzőfény erőssége függ a külső megvilágítástól (minél sötétebb van annál erősebben világítsanak). A fényerőt hardver időzítéssel megoldott impulzusszélesség-moduláció (PWM) segítségével valósítsa meg (az időalap, tehát a legkisebb impulzusszélesség 500 µs), a kitöltési tényező 16 lépésben változhat az optikai érzékelőről beolvasott értéktől függően. Az INT nyomógomb megnyomásával lehet váltani a teljes kikapcsolás, és a szabályozott üzemmód között. A nyomógomb pergésmentesítésével nem kell foglalkoznia! Hw: timer, LED-ek, fényérzékelő, nyomógomb
LCD háttérvilágítás szabályozása potméterrel A potenciométer állásának megfelelő értéket tekintsük 0..100%-nak. A kijelző háttérvilágítása legyen ezzel szabályozható hardver időzítéssel megoldott impulzusszélesség-moduláció (PWM) segítségével (a legkisebb időszelet: 500 µs, a felbontás: ≈6%, azaz 16 lépcsőt képezzen). Készüljenek fel arra, hogy a beolvasott analóg jeltartomány két végén lesz egy-egy érzéketlenségi sáv is! Hw: timer, LCD, potméter
https://fbpc11.mit.bme.hu:8888/meres/doku.php?id=mereslab2:hazi
4/14/2008
mereslab2:hazi [Mérés labor]
Page 3 of 6
LCD háttérvilágítás szabályozása kapcsolókkal Szabályozzuk az LCD kijelző háttérvilágítását a kapcsolók (SW0..3) állásának megfelelően 16 fokozatban (0 és 100% fényerő között ≈6% felbontással) hardver időzítéssel megoldott impulzusszélesség-moduláció (PWM) segítségével (a legkisebb időszelet: 500 µs, a felbontás: ≈6%). A kapcsolók bármely állapotában megnyomva az BT0 nyomógombot a világítás teljes fényerővel égjen, az BT0 nyomógomb ismételt megnyomásával lehet visszamenni szabályozott üzembe. A nyomógomb pergésmentesítésével nem kell foglalkoznia, kezelését megszakítással valósítsa meg! Hw: timer, LCD, kapcsolók, nyomógomb
LCD háttérvilágítás szabályozása nyomógombokkal Az LCD kijelző háttérvilágítását szabályozza impulzusszélesség-modulációval (PWM) ! Az impulzus szélességét (azaz a kitöltést) 10 lépésben lehessen változtatni, a legkisebb szélesség 500 µs legyen (tehát a periódusidő 5 ms). Az időzítést hardver időzítő segítségével valósítsa meg! A kitöltési tényező aktuális értékét a BT0 és BT1 nyomógombok megnyomásával lehet változtatni: a BT0 egy megnyomása egy egységgel növeli, BT1 egy megnyomása pedig egy egységgel csökkenti azt. A nyomógomb pergésmentesítésével nem kell foglalkoznia! Hw: timer, LCD, nyomógombok
Hőmérők, fényérzékelők, szenzorok Hőmérő A külső hőmérséklet függvényében vátozzon a 4 piros LED fényereje, minél melegebb a környezet, annál erősebben világítsanak. A fényerőt impulzusszélesség-modulációval (PWM) modulációval valósítsa meg. A kitöltés 16 lépésben változzon az NTK analóg bemeneten érzékelt „hőmérséklet” függvényében (a legkisebb impulzusszélesség 500 µs legyen, tehát a moduláció periódusideje 8 ms). Az időzítés hardver időzítő segítségével történjen. Hw: timer, LED-ek, hőmérő
Hőmérő riasztófunkcióval Gyúlékony anyag szállításához, hőmérőt helyeztek el a raktérben. A hőmérséklet a baloldali LED oszlopon kerül kijelzésre. Ha a hőmérséklet normális, akkor a zöld fény világít, a hőmérséklet emelkedésével először a sárga figyelmeztető fény gyullad ki, egy felső határ elérése felett a két felső piros LED villogni kezd (500 ms-ig világít, 500 ms-ig nem világít). A jobboldali LED oszlop „emlékszik” a történtekre: a múltban érzékelt legmelegebb állapotot jelzi ki folyamatos fénnyel. Ezt az emlékezést az INT nyomógomb megnyomásával lehet törölni. A nyomógombot megszakítással kezelje! A lámpák időzítése hardver időzítővel történjen! Hw: timer, LED-ek, hőmérő, nyomógomb
Útfigyelő proximity szenzor
https://fbpc11.mit.bme.hu:8888/meres/doku.php?id=mereslab2:hazi
4/14/2008
mereslab2:hazi [Mérés labor]
Page 4 of 6
Az autóvezető figyelmének „lanyhulására” és a sávból való „kicsúszásra” figyel az optikai érzékelő: fénysorompó jelleggel figyeli, hogy a jármű megközelítette- e az út jobboldali szélét. Ha igen (az optikai érzékelő nem kap megvilágítást), akkor az út szélét jelző jobboldali LED sort 1 Hz frekvenciával villogtatja (az időzítés hardver időzítővel történjen). Amennyiben az autó visszatér az útra, akkor abbahagyja a villogást. A rendszert az BT0 nyomógomb megnyomásával lehet ki- ill. bekapcsolni. Figyelem: egy gombnyomás akármilyen hosszú lehet! A nyomógomb pergésmentesítésével nem kell foglalkoznia, kezelését megszakítással valósítsa meg! Hw: timer, LED-ek, fényérzékelő, nyomógomb
Behatolás-érzékelő A baloldali LED soron alapesetben a zöld LED világít. Ha valaki elhalad az optikai érzékelő előtt, akkor gyulladjanak ki a piros LED-ek és 2Hz-es frekvenciával kezdjenek el villogni. Egészen addig villogjanak, amíg a kezelőszemélyzet az BT0 gomb megnyomásával nem nyugtázta, hogy észrevették a jelzést. A villogás időzítése hardver időzítővel történjen. A nyomógomb pergésmentesítésével nem kell foglalkoznia, viszont kezelését megszakítás segítségével valósítsa meg ! Hw: timer, LED-ek, fényérzékelő, nyomógomb
Forgalomszámláló Valósítson meg egy egyszerű számlálót, mely a LED-eken bináris módon visszajelzi, hogy hányszor haladtak el a fényérzékelő előtt. A fényérzékelő küszöbértéke a potenciométerrel legyen állítható, egy áthaladást követően 2 másodpercig ne érzékeljen újabb áthaladást. A BT0 gomb lenyomására olvasódik be a potenciométerről a küszöbérték, valamint ennek hatására a számláló értéke is 0-ra áll. Hw: timer, LED-ek, fényérzékelő, potméter, nyomógomb
Vezérlők, eszközök 2x4 bites számológép A számológép a 0..15 számokon végzi el a 4 alapműveletet. Az első operandust a kapcsolókon lehet beállítani (SW0 a legkisebb, SW3 a legnagyobb helyiérték), a nyomógombok valamelyikének megnyomása állítja be az operandust és a műveletet, ekkor az operandus a bal oldali LED-soron, a műveletnek megfelelő LED pedig a jobb oldalon jelenik meg. Ezt követően beállítható a második érték a kapcsolókon, és az INT gomb megnyomására a művelet eredménye a LED-ekre kerül 5 másodpercre, majd törlődik a kijelző. Hw: timer, LED-ek, nyomógombok, kapcsolók
LCD hirdetőtábla scrollozó szöveggel Memóriából vett karaktersorozat megjelenítése az LCD kijelzőn, fix sebességgel történő oldalra léptetés. Figyelni kell arra, hogy a karaktersorozat hosszabb és rövidebb is lehet, mint a kijelző
https://fbpc11.mit.bme.hu:8888/meres/doku.php?id=mereslab2:hazi
4/14/2008
mereslab2:hazi [Mérés labor]
Page 5 of 6
mérete! Hw: timer, LCD, SRAM
Liftvezérlő A bal oldali ledsor jelzi a lift helyét egy háromemeletes házban, a jobb oldali ledsor pedig azt, ha kinyílt a lift ajtaja. A BT0-BT3 gombok valamelyikét megnyomva a lift becsukja ajtaját, majd elindul a kívánt szintre, 3 másodpercenként 1 emeletet megtéve. Az emeletre érkezve kinyitja az ajtót, menet közben nem lehet újabb gombnyomással eltéríteni, viszont az INT gomb megnyomásának hatására vészmegáll - az aktuális szinten azonnal kinyitja az ajtaját és nem mozog tovább. A lift vezérlése takarékos, nem végez felesleges mozgást. Az INT gomb kezelését megszakítással oldja meg, pergésmentesítésével nem kell foglalkoznia!
Játékok LED céllövölde kapcsolókkal A baloldai LED oszlopon gyulladjanak fel véletlenszerűen a LED-ek. A felgyulladások közötti idő legyen beállítható a kapcsolók (SW3..0) állásától (n=0..15) függő időalap ((n+1) x 100 ms) szerint. A nyomógombon „el kell találjuk”, melyik LED világít. A megnyomás pillanatában a LED-ek állapota kimerevedik, a baloldali LED-oszlopon pedig (a leolvasás megkönnyítésére) az a LED világít, amelyikhez tartozó gombot megnyomtuk. Minél kisebb az időalap (hardver időzítés), annál nehezebb eltalálni az állapotot. Találat esetén a találatot jelző jobboldali LED 2 Hz frekvenciával villogjon. Az INT nyomógomb lenyomásával lehet a mérést folytatni. A nyomógomb pergésmentesítésével nem kell foglalkoznia! Hw: timer, LED-ek, kapcsolók, nyomógombok
LED céllövölde potméterrel A baloldali LED oszlopon gyulladjanak fel véletlenszerűen a LED-ek. A felgyulladások közötti időt (n*100 ms) a potenciométer állásától függően lehessen állítani 16 lépésben. A nyomógombon „el kell találjuk”, melyik LED világít. A megnyomás pillanatában a LED-ek állapota kimerevedik, a baloldali LED-oszlopon pedig (a leolvasás megkönnyítésére) az a LED világít, amelyikhez tartozó gombot megnyomtuk. Minél kisebb az időalap (hardver időzítés), annál nehezebb eltalálni az állapotot. Találat esetén a találatot jelző jobboldali LED 4 Hz frekvenciával villogjon. Az INT nyomógomb lenyomásával lehet a mérést folytatni. A nyomógomb pergésmentesítésével nem kell foglalkoznia! Hw: timer, LED-ek, kapcsolók, potméter
Kétszemélyes Reakcióidőmérő A játék az INT gombbal indul, a gomb megnyomásának hatására 3-10 másodperc hosszan elsötétül
https://fbpc11.mit.bme.hu:8888/meres/doku.php?id=mereslab2:hazi
4/14/2008
mereslab2:hazi [Mérés labor]
Page 6 of 6
a ledsor, majd felvillan. A felvillanást követően a lehető legrövidebb időn belül kell az INT gombot ismételten megnyomni. Ha a LED-ek felvillanása előtt történik a gombnyomás, a 4 piros LED 2 Hzen történő villogása figyelmeztet a hibára, sikeres gombnyomás esetén a zöld LED-ek világítanak folyamatosan, és az LCD kijelzőn megjelenik a LED-ek felvillanása és a gomb lenyomása között eltelt idő ezredmásodpercben, decimálisan. A nyomógomb kezelése megszakítással történjen, és ügyeljenek a pergésmentesítésre is! Hw: timer, LED-ek, LCD, nyomógomb
Hardver-monitor A potméter, hőmérséklet-szenzor és fényérzékelő értékeinek megjelenítése az LCD kijelzőn. A SW0-1 kettős választ a perifériák közül, melyről olvasott értéket a SW2 állásától függően decimálisan vagy hexadecimálisan kell megjeleníteni. A kijelző frissítése a SW3 állásától függően folyamatos (200ms gyakoriságú), vagy az INT gomb megnyomására történik. Az INT nyomógomb kezelése megszakítással történjen, pergésmentesítéssel nem kell törődni. Hw: timer, LCD, kapcsolók, nyomógomb, potméter, hőmérő, fényérzékelő
Fényorgona visszajátszás funkcióval A készülék két üzemmódja: felvétel, lejátszás. Felvétel során eltárolja a lenyomott nyomógombokat SRAM-ba, azonnal felvillantva a kapcsolódó LED-eket a bal oldali LED-oszlopon, visszajátszás során a SRAM-ban tárolt gombnyomás-sorrendet ismétli végtelenítve. Induláskor és a SW0 L→H átmenetekor vált felvétel üzemmódba, törölve az előző felvételt, majd 250 ms időközönként mintavételezi a BT0-BT3 gombok állapotát. A mintavételezést a jobb oldali ledsor villogása jelzi. SW0 alacsony állapotában a tárolt mintát játssza ki a LED-ekre, a potméteren 8 fokozatban állítható sebességgel. A kapcsoló pergésmentesítéséről gondoskodjanak! Hw: timer, LED-ek, nyomógombok, kapcsoló, potméter, SRAM
mereslab2/hazi.txt · Last modified: 2008/02/29 14:27 by admin
https://fbpc11.mit.bme.hu:8888/meres/doku.php?id=mereslab2:hazi
4/14/2008