Co se od vás očekává?¶
- Každý žák vypracuje dvě projektové úlohy dle vlastní volby. Zadání bude nejprve schváleno vyučujícím, potom se můžete dát do práce. Níže uvádím několik nápadů na zadání, kterými se můžete nechat inspirovat pokud žádný nápad nemáte.
Vzorové zadání¶
Povinné komponenty projektu¶
Volte zadání tak, aby ve vašich projektech (ve všech dohromady, ne v každém) byly obsaženy alespoň jednou následující komponenty:
-
Alespoň jeden projekt bude na vlastní PCB (stačí univerzální) s mikroprocesorem bez vývojového kitu. Můžete použít přímo mikroprocesory s SMD montáží nebo už hotové desky s THT montáží. (Viz Deroboard a desky a čipy STM8S103F3P6 a STM8S105K4T6, které se dají běžně koupit na našem i zahraničním internetu.)
-
AD převodník: například zařízení, které je ovládáno potenciometrem nebo analogový teploměr nebo IR snímač, co se přizpůsobuje pozadí atd.
-
Tlačítko a Rotační encoder: (viz návod.)
-
Časovač – mimo knihovnu
milis.c
.- PWM
- měření časového intervalu
- pravidelné zpouštění
- vlastní knihovna podobná nám známé
milis.c
-
Rutina přerušení (
stm8s_it.c
)- externí
- interní
- od časovače
- od UARTu
- atd.
Volitelné komponenty projektu¶
Každý si dle svých preferencí zvolí komponenty tak, aby dohromady ve všech projektech celkově získal alespoň 7 MITcoinů 💰. Pokud vaše oblíbená periferie v seznamu chybí, rád ji tam přidám i s patřičnou cenou.
- SPI (2 MITcoiny🪙)
- I2C (3 MITcoiny🪙)
- Alfanumerický LCD display (1 MITcoin🪙)
- Maticová klávesnice (2 MITcoiny🪙)
- Generování zvuku (2 MITcoiny🪙)
- UART (1 MITcoin🪙)
- Optická brána (1 MITcoiny🪙)
- IR detekce překážky (1 MITcoiny🪙)
- IR detekce překážky s odečtem pozadí (2 MITcoiny🪙)
- Ovládání rychlosti DC motoru (2 MITcoiny🪙)
- Ovládání servo-motoru (2 MITcoiny🪙)
- Ovládání krokového motoru (4 MITcoiny🪙)
- Měření vzdálenosti pomocí ultrazvuku (2 MITcoiny🪙)
- PWM regulace (2 MITcoiny🪙)
- IR dálkové ovládání (2 MITcoiny🪙)
- Měření teploty/vlhkosti si onewire komunikací (2 MITcoiny🪙)
- atd. atp. (X MITcoinů🪙)
Jak bude vypracovaný projekt vypadat?¶
Vypracovaný projekt bude obsahovat:
- Původní zadání.
- Funkční zapojení – můžete použít vlastní PCB, univerzální PCB nebo nepájivé pole.
- Funkční program – dle zadání
- Projektovou dokumentaci:
- schema zapojení (samozřejmě v KiCADu)
- vývojový diagram a stručný popis činnosti programu
- okomentovaný zdrojový kód (hezký a barevný) v podobě textu; žádné screenshoty obrazovky vývojového prostředí
- Vše bude uloženo ve veřejném Git repositáři – tedy vše kromě HW.
Formu projektové dokumentace nechám na vás. Může to být PDF dokument nebo README na GitLabu.
Náměty a pomůcky pro HW¶
Několik nápadů pro menší projekt¶
1. Stopky¶
- Start/stop
- mezičas (stisk zobrazí aktuální “čas kola” a stopky běží dál)
- měření na setiny sekundy Tichý (alfanum-display)
- měření na milisekundy
- Potřeby: displej, tlačítka
2. Stopky s optickou bránou¶
Optická brána se sestaví buď z laserové LED a fototranzistoru (velká vzdálenost, přesná pozice) nebo s pomocí IR LED a IR detektoru (menší přesnost pozice, větší odolnost světelnému pozadí)
- Start se provádí tlačítkem, stop se měří přerušením opt. brány
- Start i stop se realizuje dvojicí opt. bran (přerušení první brány spustí čas, přerušení druhé brány zastaví čas) - čas pak lze měřit velmi přesně (klidně i rychlost střely atp.)
Potřeby: displej, tlačítko, laserovou LED nebo IR LED, fototranzistor(y) nebo IR detektory
3. “Minutky”¶
- s nastavením minut (1 až 180)
- akustický signál po skončení 2
- blikání po skončení
potřeby: displej, enkodér nebo tlačítka, reproduktor/buzzer
4. Teploměr¶
- dva senzory (vnitřní/vnější)
- paměť maxima minima
- zobrazování trendu (teplota roste/klesá/stagnuje)
potřeby: displej, teplotní senzory, příp. tlačítka
4. Termostat 1¶
- digitálně nastavitelná “referenční teplota”
- digitálně nastavitelná hystereze
- digitálně nastavitelný “čas zpoždění” (jak dlouho musí být překročena teplota aby termostat sepnul)
- digitálně volitelná polarita výstupu
- volitelný spínaný výstup (Open Drain, Relé, H-můstek)
- akustická signalizace překročení/podkročení (i vícestupňová)
Potřeby: displej, tlačítka, teplotní senzory, příp. Relé, příp.integrovaný H-můstek, příp.tranzistory (MOSFET)
5. Termoregulátor¶
Otáčky ventilátoru řízené teplotou
- digitální nastavení teploty pro 0% otáčky a pro 100% otáčky
Potřeby: ventilátor, teplotní čidla, displej, tlačítka/enkodér
6. Teplotní logger¶
Zaznamenává teplotu v daném intervalu (např 1 minuta) a ukládá do (externí) eeprom/flash paměti. Na výzvu po UARTu odešle teploty do PC k vykreslení grafu.
- volitelná frekvence měření
- volitelný počet záznamů (např. 1 den atp.)
Potřeby: Baterie, teplotní čidla, externí paměť, USB/UART převodník a stabilizátor napětí pokud je to realizováno mimo vývojový kit
7. časový spínač¶
Stiskem tlačítka se spustí a drží aktivovaný výstup (světlo, motor, atp.) po zvolenou dobu
- dobu volit potenciometrem
- dobu volit přepínačem
- dobu volit digitálně
Potřeby: Tlačítka, spínaný prvek (LED, motor atp.), příp potenciometr/přepínač, příp. displej
8. Zvonek s melodií¶
- po stisku zahraje předem danou melodii
- v případě nízkého napětí (bateriové napájení) hraje při stisku jinou melodii (dává na vědomí potřebu vyměnit baterie)
Potřeby: piezorepro
9. Klávesový hudební nástroj¶
- budí piezoreproduktor obdélníkovým signálem přímo z MCU
- výstupy MCU jsou posíleny tranzistory (hlasitější výstup)
- generuje čisté harmonické tóny (sinus)
Potřeby: piezoreproduktor / reproduktor, příp. integrovaný obvod zesilovače, příp. DA převodník
10. Meteostanice¶
- zobrazuje teplotu vnitřní, vnější a případné extrémy (minimum, maximum)
- zobrazuje tlak a tlakovou tendenci
- zobrazuje vlhkost vzduchu
Potřeby: displej, senzory teploty, příp. tlaku, příp.vlhkosti
11. Model křižovatky¶
- řídí plnohodnotně křižovatku typu X, včetně oranžové barvy a přechodů pro chodce
- umí reagovat na tlačítka na přechodech pro chodce
Potřeby: 8x Zelená, 8x červená, 4x žlutá LED, tlačítka
12. Počítadlo průchodů¶
počítá kolik lidí prošlo dovnitř a ven:
- pomocí dvojice laserových optozávor
- pomocí dvojice optických IR bran
Potřeby: displej, tlačítko, Laserové LED a fototranzistory nebo IR LED a IR detektory
13. Počítadlo “motohodin”¶
počítá (po sekundách) úhrnný provoz zařízení a zobrazuje ho (v hodinách, minutách a přip. sekundách provozu). Pamatuje si stav i po vypnutí a po zapnutí naváže. Resetuje počet pomocí tlačítka.
Potřeby: Displej, tlačítko
14. Teploměr logger s grafickým displejem a historií.¶
Ukazuje na grafickém displeji aktuální teplotu a zároveň vývoj teplot za posledních 24 hodin.
Potřeby: Grafický displej, teplotní čidlo
15. Stroboskop¶
bliká s volitelnou frekvencí a volitelnou šířkou pulzu (obě zobrazuje na displeji)
- Výstup na výkonovou LED
- nastavení frekvence i šířky pulzu potenciometrem
- digitální nastavení frekvence i šířky
Potřeby: Displej, LED, příp. potenciometry/tlačítka/enkodér
16. soumrakový spínač¶
- digitálně nastavitelná intenzita osvětlení pro sepnutí a rozepenutí
- automatické přepínání zisku při měření intenzity (velký rozsah)
Potřeby: Fotorezistor, operační zesilovač, příp.displej
17. Coulomb counter¶
Měří úhrnou spotřebu elektrické energie ze stejnosměrného napájení a zobrazuje na displeji vyčerpanou kapacitu (Ah)
- Zobrazuje i vyčerpaný výkon (Wh)
- Ukazuje i napětí zdroje energie (výhodné pokud je zdrojem baterie)
Potřeby: Displej, operační zesilovač, bočník
18. Solární systém (“Solární baterie”)¶
- hlídat napětí baterie a zapínat a vypínat nabíjení ze solárního panelu
- hlídat podpětí baterie a odpojovat zátěž
- případně indikovat stav baterie
- Lze sestavit pro olověné nebo lithiové akumulátory
Potřeby: akumulátor, solární panel, drobná elektronika, příp. displej
19. řízení otáček 3-drátového nebo 4-drátového ventilátoru¶
- pomocí enkodéru / tlačítek
- zobrazovat otáčky na displej
- možnost řídit otáčky teplotou
Potřeby: ventilátor, displej, tlačítka/enkodér, případně teplotní senzor
20. Tester AA a AAA baterií¶
Po vložení baterie do přípravku změří napětí a vnitřní odpor a vyhodnotí stav/kvalitu baterie
- možnost přidat automatickou změnu “polarity” (baterii lze vložit i opačně)
potřeby: Displej, drobná elektronika
21. Digitální interkom¶
Mikrokontrolér digitalizuje zvuk, odešle ho pomocí UARTu skrze UTP kabel k dalšímu mikrokontroléru, který signál převede zpět na akustický
Výzva :)
Potřeby: Dva mikrokontroléry, DA převodník, další drobná elektronika
22. “Sun tracking” solární nabíječka¶
Solární panel umístěný na servomotorku, mikrokontrolér snímá polohu slunce na obloze a natáčí panel tak aby zachytával maximální množství energie a nabíjí tím baterii
- hlídání stavu baterie (ukončuje nabíjení když je akumulátor plně nabitý, odpojuje zátěž když je kompletně vybitý)
- indikace stavu baterie
Potřeby: Akumulátor, solární panel, servomotorek, příp.krokový motorek, mechanika
23. Tester/měřič kapacity olověných akumulátorů¶
Zařízení nabije akumulátor, poté ho vybije zvoleným proudem a změří a zobrazí celkovou kapacitu (a pak akumulátor zpět nabije).
Výzva :)
Potřeby: napájecí adaptér, displej, mikrokontrolér, další analogová elektronika
24. Osvětlení ovládané dálkovým ovladačem (skrze IR)¶
- ON/OFF funkce
- Regulace jasu
- U RGB světel i regulace barvy
Potřeby: IR LED, IR přijímač, LED, drobná elektronika
25. “propípávák” - tester kontinuity (jako je na multimetrech)¶
Potřeby: Buzzer/Reproduktor
26. Logická sonda¶
Testuje úroveň napětí (rozpoznává úrovně H a L) s akustickou signalizací
- lze zabudovat do těla fixy (ergonomické ovládání)
- lze signalizovat různé úrovně (5V, 3.3V) různým tónem
- lze zabudovat test polarity
- lze vyrobit napájené akumulátorem
Potřeby: buzzer, drobná elektronika
27. Generátor obdélníkového průběhu¶
- Frekvence až do 160MHz
- Lze vybavit volbou výstupního napětí
Výzva :)
28. Generátor sinus/trojúhelník/obdélník/PWM¶
- Frekvence až 25MHz
- lze vybavit regulací výstupního napětí
Výzva :)
29. FM rádio¶
- automatické vyhledávání stanic
- digitální nastavení hlasitosti
- Příjem RDS (textových informací jako jméno skladby atp.)
Potřeby: Displej, reproduktor, modul rádia, tlačítka/enkodér
30. Hodiny s obvodem RTC¶
- s budíkem
- s rádiem - radiobudík
potřeby: Displej, tlačítka
31. Panelový měřák k napájecímu zdroji¶
Měří a ukazuje na displeji, napětí, proud a výkon. Lze realizovat společně s napájecím zdrojem.
Potřeby: Displej, různá drobná analogová elektronika
32. Měření vzdálenosti¶
Ultrasonic + LCD display
Několik nápadů pro větší projekt¶
1. Regulátor nabíjení akumulátoru pro solární panel¶
- automatické odpojování zátěže při podpětí
-
optimalizace na nízkou spotřebu
-
možnost měřit a zobrazovat nabíjecí proud
- možnost měřit a zobrazovat vybíjecí proud
- možnost automatického spínání podle denní doby (ráno, večer)
- možnost automatického spínání zátěže podle nastaveného času (RTC)
2. FM Rádio¶
- nastavení frekvence
- nastavení hlasitosti
-
paměť stanic
-
automatické vyhledávání
- zobrazování RDS
- chod z baterií nebo akumulátoru
3. Hodiny s budíkem¶
- přesný čas odvozený od RTC (DS3231 ?)
- zálohování času z baterie
- možnost nastavení času
- možnost nastavení budíku
-
napájení adaptérem z 230V
-
automatické nastavení jasu podle okolního osvětlení (“noční režim”)
4. Ohmmetr¶
- rozsah 10R až 10MOhm
- automatická volba rozsahu
-
napájení z baterií nebo akumulátoru
-
přiřazování do řad E12 a E24
- zobrazení odchylky od nejbližší hodnoty z řady
5. Tester baterií¶
- měření napětí
- měření “vnitřního odporu”
- akustická nebo optická signalizace dobrá/špatná
6. “Laboratorní” teploměr s USB výstupem do PC¶
- měřit teplotu ze dvou čidel
- volitelná frekvencě měření
- tlačítko “start / stop” spouštějící a ukončující měření
- odesílat teploty v čitelném formátu do PC (přes USB VCP)
7) “Domácí” teploměr¶
- měřit teplotu dvou čidel (vnější vnitřní)
- zobrazovat na displeji (textový LCD, numerický LCD, segmenty, grafický LCD, grafický TFT, OLED)
-
napájení z adaptéru (230V)
-
zobrazovat maxima, minima
- zobrazovat trend (tempo růstu, poklesu)
- vykreslovat “křivku” vývoje teploty za posledních 24/48h
8. dálkový ovladač (IR)¶
- obyč. dálkovým ovladačem (třeba k TV) zapínat a vypínat (ovládat) světlo nebo jakoukoli jinou zátěž
9. Kanadský žertík s IR vysílačem¶
- automaticky po zhasnutí nebo setmění pošle příkaz pro zapnutí TV
- automaticky v pravidelných intervalech přepne TV na zvolený (nebo náhodný) program
- automaticky v pravidelných intervalech snižuje hlasitost
-
miniaturizovaná zařízení napájené z malé baterie (CR2032) - aby ho bylo možné skrýt
-
optimalizovat spotřebu, aby vydrželo co nejdéle
10. Optická brána¶
- dvojice senzorů schopná snímat směr průchodu
-
senzory buďto IR nebo lasery (obě s clonkou)
-
schopnost rozeznat “anomálie” (více osob procházejícíh zároveň atp.)
11. Termostat¶
- jeden nebo více senzorů (průměrování nebo maximum/minimum)
- nastavitelná teplota zapnutí a vypnutí (případně setpoint a hystereze)
-
zobrazování teploty
-
možnost krádodkobé činnosti z baterie/akumulátoru
- schopnost snímat teplotu z více druhů čidel
- schopnost automaticky rozpoznat připojená čidla
- schopnost ruční kalibrace (dvoubodové)
12. meteostanice¶
- snímání dvou teplot (venku, uvnitř)
- kombinované napájení adaptér + baterie/akumulátor
- měření atmosférického tlaku
-
zobrazování na LCD (alfanumerickém nebo i grafickém)
-
měření UV
- měření slunečního svitu (denní úhrn)
- měření vlhkosti (interier)
13. Jakákoli forma dálkově ovládaného “autíčka” či jiného stroje¶
- ovládání ideálně modelářským vysílačem (nutno obstarat)
- mechanika libovolná, merkur, lego, stavebnice
-
napájení akumulátory
-
možnost řešit bezdrátovými moduly namísto “modelářského” ovladače, ale nutno obstarat
14. bezdrátová komunikace s NRF24¶
- (nejlevnější datový bezdrátový modul)
- posílání libovolných zpráv (senzory, textové zprávy atp.)