Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Pavetic_BuzzerLib Pavetic_MusicLib
README.md@0:e9d0eb34d345, 2022-11-27 (annotated)
- Committer:
- dpavetic
- Date:
- Sun Nov 27 13:01:54 2022 +0000
- Revision:
- 0:e9d0eb34d345
Program koji simulira bozicni ugodaj reprodukcijom zvucnih signala na temelju odabira putem tipkala.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| dpavetic | 0:e9d0eb34d345 | 1 | Program koji simulira božični ugođaj reprodukcijom |
| dpavetic | 0:e9d0eb34d345 | 2 | zvučnih signala na temelju odabira putem tipkala. |
| dpavetic | 0:e9d0eb34d345 | 3 | |
| dpavetic | 0:e9d0eb34d345 | 4 | # Komponente |
| dpavetic | 0:e9d0eb34d345 | 5 | ## Hardware na proto board-u |
| dpavetic | 0:e9d0eb34d345 | 6 | - Gumb - Mijenja melodiju na klik (1...n) - Hardware interrupt |
| dpavetic | 0:e9d0eb34d345 | 7 | - Potenciometar - Mjerenje vrijednosti na ulazu (0.0-1.0) - Potrebno za mjerenje vremena promjene pjesme |
| dpavetic | 0:e9d0eb34d345 | 8 | - Zvučnik - Reprodukcija melodije |
| dpavetic | 0:e9d0eb34d345 | 9 | - Zuta LED - Signalizacija da traje melodija jingle bells |
| dpavetic | 0:e9d0eb34d345 | 10 | - Crvena LED - Signalizacija da traje melodija We wish you a merry christmas |
| dpavetic | 0:e9d0eb34d345 | 11 | - Zelena LED - Signalizacija da traje melodija Silent night |
| dpavetic | 0:e9d0eb34d345 | 12 | |
| dpavetic | 0:e9d0eb34d345 | 13 | ## Interni hardware |
| dpavetic | 0:e9d0eb34d345 | 14 | - Ticker - Automatsko mijenjanje melodije u vremenu ovisnom o potenciometru (samo u modu `MODE_AUTO`) |
| dpavetic | 0:e9d0eb34d345 | 15 | - *0V = 5s* |
| dpavetic | 0:e9d0eb34d345 | 16 | - *1V = 25s* |
| dpavetic | 0:e9d0eb34d345 | 17 | - *`f(x) = 5 + 20*x [s]`* - Skaliranje funkcije pomaknute za 5s (min = 5s, max = 25s) |
| dpavetic | 0:e9d0eb34d345 | 18 | - Timer #1 - Mjerenje vremena trajanja melodije |
| dpavetic | 0:e9d0eb34d345 | 19 | - Timer #2 - Debounce efekt za gumb |
| dpavetic | 0:e9d0eb34d345 | 20 | |
| dpavetic | 0:e9d0eb34d345 | 21 | ## Software |
| dpavetic | 0:e9d0eb34d345 | 22 | ### Melodije |
| dpavetic | 0:e9d0eb34d345 | 23 | |
| dpavetic | 0:e9d0eb34d345 | 24 | Postoje 3 melodije: |
| dpavetic | 0:e9d0eb34d345 | 25 | - Jingle bells |
| dpavetic | 0:e9d0eb34d345 | 26 | - We wish you |
| dpavetic | 0:e9d0eb34d345 | 27 | - Silent night. |
| dpavetic | 0:e9d0eb34d345 | 28 | Ovisno o trenutnoj melodiji, svijetli pripadajuca LEDica. |
| dpavetic | 0:e9d0eb34d345 | 29 | |
| dpavetic | 0:e9d0eb34d345 | 30 | ### Modovi rada |
| dpavetic | 0:e9d0eb34d345 | 31 | Postoje 3 moda rada: |
| dpavetic | 0:e9d0eb34d345 | 32 | - `MODE_OFF` - Sustav je ugašen - Buzzer ugašen kao i sve LEDice |
| dpavetic | 0:e9d0eb34d345 | 33 | - `MODE_SONG` - Repetetivno ponavljanje odabrane melodije - Buzzer svira, te svijetli jedna od pripadajucih LEDica za trenutnu melodiju |
| dpavetic | 0:e9d0eb34d345 | 34 | - `MODE_AUTO` - Automatsko mijenjanje melodije u vremenskom razmaku odabranom putem potenciometra - Buzzer svira, te svijetli jedna od pripadajucih LEDica za trenutnu melodiju |
| dpavetic | 0:e9d0eb34d345 | 35 | |
| dpavetic | 0:e9d0eb34d345 | 36 | ### Buzzer i reprodukcija |
| dpavetic | 0:e9d0eb34d345 | 37 | Reprodukcija zvukova izvedena je kroz [Buzzer library](https://os.mbed.com/teams/TVZ2022/code/Pavetic_BuzzerLib/) koji sadrži programski kod potreban za inicijalizaciju PWM izlaza za buzzer i slanje pripadajucih signala na navedeni izlaz. |
| dpavetic | 0:e9d0eb34d345 | 38 | |
| dpavetic | 0:e9d0eb34d345 | 39 | ### Pjesme |
| dpavetic | 0:e9d0eb34d345 | 40 | Inicijalizacija zvukova i sama struktura nota (pwm period + delay) napravljena je kroz [Music library](https://os.mbed.com/teams/TVZ2022/code/Pavetic_MusicLib/). |
| dpavetic | 0:e9d0eb34d345 | 41 | |
| dpavetic | 0:e9d0eb34d345 | 42 | # Opis rada programa: |
| dpavetic | 0:e9d0eb34d345 | 43 | Na početku programa postavljen je mod `MODE_OFF` te je sustav ugašen. |
| dpavetic | 0:e9d0eb34d345 | 44 | Pritiskom na gumb u modu `MODE_OFF` (prvi pritisak gumba), mijenja se mod u |
| dpavetic | 0:e9d0eb34d345 | 45 | `MODE_SONG` te počinje svirati prva od ponudenih melodija. Nakon sto melodija |
| dpavetic | 0:e9d0eb34d345 | 46 | zavrsi, ukoliko nije došlo do promjene melodije ili prekida, ponovno se |
| dpavetic | 0:e9d0eb34d345 | 47 | započinje sa reprodukcijom iste melodije. Ukoliko tijekom reprodukcije dođe |
| dpavetic | 0:e9d0eb34d345 | 48 | do promjene moda ili melodije, trenutna melodija prekida sa reprodukcijom te |
| dpavetic | 0:e9d0eb34d345 | 49 | počinje reprodukcija sljedeće melodije, ili se sustav gasi ukoliko je došlo |
| dpavetic | 0:e9d0eb34d345 | 50 | do promjene moda u `MODE_OFF`. |
| dpavetic | 0:e9d0eb34d345 | 51 | |
| dpavetic | 0:e9d0eb34d345 | 52 | Program je u modu `MODE_SONG` te svira prva pjesma i upaljena je zuta LEDica. |
| dpavetic | 0:e9d0eb34d345 | 53 | Drugim pritiskom gumba, mode ostaje isti, no mijenja se melodija te svira |
| dpavetic | 0:e9d0eb34d345 | 54 | druga melodija i svijetli crvena LEDica. Trećim pritiskom gumba, mod i dalje |
| dpavetic | 0:e9d0eb34d345 | 55 | ostaje isti i svira treca melodija uz upaljenu zelenu LEDicu. |
| dpavetic | 0:e9d0eb34d345 | 56 | |
| dpavetic | 0:e9d0eb34d345 | 57 | Cetvrtim pritiskom gumba mijenja se mod u `MODE_OFF` te se resetira ciklus |
| dpavetic | 0:e9d0eb34d345 | 58 | melodija i započinje reprodukcija prve melodije. Melodija se reproducira |
| dpavetic | 0:e9d0eb34d345 | 59 | ovisno o vremenu izračunatom iz vrijednosti na potenciometru prema određenoj |
| dpavetic | 0:e9d0eb34d345 | 60 | formuli koja je navedena na vrhu. Nakon isteka vremena, mijenja se melodija i |
| dpavetic | 0:e9d0eb34d345 | 61 | započinje reprodukcija sljedeće melodije, te tako u krug sa svim melodijama. |
| dpavetic | 0:e9d0eb34d345 | 62 | - Vrijednost potenciometra očitava se cijelo vrijeme na zasebnom Threadu. |
| dpavetic | 0:e9d0eb34d345 | 63 | - Vrijeme reprodukcije melodije u modu `MODE_OFF` izračunava se kod dolaska u taj mode. |
| dpavetic | 0:e9d0eb34d345 | 64 | |
| dpavetic | 0:e9d0eb34d345 | 65 | Petim pritiskom gumba, prekida se reprodukcija melodije te se mod mijenja u |
| dpavetic | 0:e9d0eb34d345 | 66 | `MODE_OFF` i program nastavlja ispočetka. |