Aihepiiri: simulointi
Oskilloskooppi
Toteuta virtuaalinen kaksikanavainen oskilloskooppi, jolla käyttäjä voi tarkastella erilaisia signaaleja.
Signaalit annetaan tekstitiedostoina1) ja niiden esitys oskilloskoopissa alkaa napin painalluksesta, jolloin oskilloskooppi piirtää signaalia näyttöikkunaan.
HUOM: Aihe vaatii reaaliaikaista animaatiota, joten tarvitset työssä säikeitä. Säikeitä on käsitelty kurssin luennoilla.
HUOM: Aiheen valitsijan oletetaan käyttäneen joskus oskilloskooppia ja tuntevan alustavasti sen toimintaperiaatteen.
Oskilloskoopista tulee löytyä ainakin seuraavat kontrollit:
![Oskiloskooppi](../_images/oscilloscope.jpg)
- Time/Div säädin, jolla voidaan säätää kuinka pitkä ajanjakso kullakin jakovälillä esitetään. Tyypillisesti voidaan käyttää arvoja mikrosekunnista sekuntiin. (Jakoväli on ruudukon yhden ruudun leveys/korkeus)
- Volts/Div molemmille kanaville erikseen. Kertoo kuinka monta volttia yhden jakovälin matka ruudukolla edustaa. Nämä arvot voivat olla välillä millivolteista kymmeniin voltteihin.
- Trigger level. Kun Trigger level arvo tulee signaalissa vastaan, aloittaa oskilloskooppi piirtämisen. Seuraava piirrettävä ruudullinen aloitetaan kun k.o. arvo tulee ensi kerran vastaan.
- Xpos, ypos1, ypos2. Säätimiä, joilla signaaleja voi siirrellä ruudulla ylös alas ja sivulle.
- On-napit molemmille signaaleille kertovat halutaanko k.o. signaali piirtää.
- X-Y säädin muuttaa piirtotavan niin, että kanava 1 on X-akselilla ja kanava 2 Y-akselilla. esim jos kanava 1 sisältää siniaallon ja kanava 2 kosiniaallon, näkyy ruudulla ympyrä.
- External Trigger. Sen sijaan, että trigger tutkii kanavaa 1, käytetään kolmannesta sisääntulosta annettua signaalia trigger-signaalina.
1) Pilkuilla erotettu (CSV)-formaatti on ok lähtökohta - tällaista dataa saa ulos vaikka excelistä tai matlabista, mutta pohdi mitä muuta datasta olisi mukava tietää että ohjelmaa olisi hyvä käyttää. Saat suunnitella oman formaatin. Huomaa että lopullista työtä palauttaessa on hyvä palauttaa työn mukana riittävästi erilaisia datasettejä jotta assistentin on helppo kokeilla koodia.
Vaatimukset
Keskivaikea / Vaativa
- Graafinen käyttöliittymä.
- Edellä mainitut ominaisuudet (kontrollit ja tallennusmahdollisuus)
- Selkeästi oikeaa oskilloskooppia muistuttava toiminta