This shows you the differences between two versions of the page.
pm:lab:lab4-2023-2024 [2025/03/30 21:00] dan.tudose [4. Exercitii] |
pm:lab:lab4-2023-2024 [2025/04/02 11:11] (current) florin.stancu |
||
---|---|---|---|
Line 157: | Line 157: | ||
**Task 1** (1 punct) Folosind funcția anterior definită, citiți valorile de pe senzorul de temperatura (PA0). Puteti pune degetul peste el (pe proprie răspundere) și observa cum se modifica valorile. Senzorul de temperatura `MCP9701T-E/TT` are un interval de functionare de -10°C - 125°C. | **Task 1** (1 punct) Folosind funcția anterior definită, citiți valorile de pe senzorul de temperatura (PA0). Puteti pune degetul peste el (pe proprie răspundere) și observa cum se modifica valorile. Senzorul de temperatura `MCP9701T-E/TT` are un interval de functionare de -10°C - 125°C. | ||
+ | |||
+ | <note warning> | ||
+ | AVR Libc are implicit o implementare simplistică a printf()-ului care nu știe să formateze valori floating point. Dacă doriți să meargă ''%f'' & friends, va trebui să activați o setare de bibliotecă prin linker-ul GCC, desigur, prin ''platformio.ini'': <code>build_flags = -Wl,-u,vfprintf -lprintf_flt -lm</code> | ||
+ | </note> | ||
**Task 2** (3 puncte) Butoanele 1-6 sunt multiplexate pe același pin analogic (PA5) prin intermediul unui sistem de divizoare de tensiune (urmăriți schematicul pentru o explicație vizuala). Aflați ce valoare întoarce fiecare buton la apăsare și completați “define-urile” din cod. Completați codul astfel încât la apăsarea BTN1 sa se aprindă doar LED-ul magenta, la apăsarea BTN4 - LED-ul galben, iar la apăsarea BTN6 - LED-ul cyan. | **Task 2** (3 puncte) Butoanele 1-6 sunt multiplexate pe același pin analogic (PA5) prin intermediul unui sistem de divizoare de tensiune (urmăriți schematicul pentru o explicație vizuala). Aflați ce valoare întoarce fiecare buton la apăsare și completați “define-urile” din cod. Completați codul astfel încât la apăsarea BTN1 sa se aprindă doar LED-ul magenta, la apăsarea BTN4 - LED-ul galben, iar la apăsarea BTN6 - LED-ul cyan. | ||
Line 166: | Line 170: | ||
> Hint: folositi functia `remap_interval` pentru a calcula duty-cycle pentru cele 2 timere | > Hint: folositi functia `remap_interval` pentru a calcula duty-cycle pentru cele 2 timere | ||
- | **Task 4 (BONUS)** (1 punct) Configurati ADC-ul astfel incat sa aiba o precizie de 8 biti si observati diferenta de timp la rulare. | + | **Task 4 (BONUS)** (1 punct) Configurati ADC-ul astfel incat sa aiba o rezolutie de 8 biti si observati diferenta de timp la rulare. |
===== 5. Linkuri utile ===== | ===== 5. Linkuri utile ===== | ||
Line 175: | Line 179: | ||
===== 6. Responsabili laborator ===== | ===== 6. Responsabili laborator ===== | ||
- | * [[mihnea.dinica@stud.acs.upb.ro|Mihnea Dinica]] | + | * Eduard Radu |
- | * [[cristi.tranca@gmail.com|Cristi Tranca]] | + | * Alexandru Jipa |