This shows you the differences between two versions of the page.
pm:lab:lab6-2021 [2021/04/18 21:32] alexandru.predescu [4. Exemplu I2C Master/Slave] |
pm:lab:lab6-2021 [2021/04/22 13:43] (current) dumitru.brigalda |
||
---|---|---|---|
Line 182: | Line 182: | ||
===== 5. Exerciții ===== | ===== 5. Exerciții ===== | ||
- | **Task 0** Folosiți codul Arduino pentru a implementa exemplu Master Reader/Slave Writer astfel încât să activăm transmisiunea la apăsarea unui buton de pe Master iar pe Slave în momentul în care transmisiunea este recepționată se aprinde un led. | + | **Task 0** Folosiți codul Arduino pentru a implementa un Master Reader și un Slave Writer. Master-ul va avea atașat un led, iar Slave-ul un buton. Master-ul trebuie să interogheze Slave-ul despre starea butonului și să aprindă/stingă led-ul în funcție de starea butonului (apăsat/neapăsat). Cele două board-uri vor comunica pe I2C. Pentru realizarea comunicării, Master-ul trebuie să facă request de citire a 3 caractere, iar Slave-ul să răspundă cu starea butonului: "ON!" sau "OFF". |
+ | {{ :pm:lab:lab_i2c_task0.png?500 |}} | ||
- | **Task 1** Folosiți codul Arduino pentru a implementa exemplu Master Writer/Slave Reader astfel încât să activăm transmisiunea la apăsarea unui buton de pe Master iar pe Slave în momentul în care transmisiunea este recepționată se aprinde un led. | + | **Task 1** Folosiți codul Arduino pentru a implementa un Master Writer și un Slave Reader. Master-ul va avea atașate 2 butoane, iar Slave-ul un led. Master-ul trebuie să trimită Slave-ului una din cele 2 comenzi: "ON!" sau "OFF". Cele două board-uri vor comunica pe I2C. Pentru realizarea comunicării, la apăsarea primului buton, Master-ul trebuie să trimită comanda "ON!", iar la apăsarea butonului 2, comanda "OFF". În funcție de comanda recepționată, Slave-ul va aprinde/stinge led-ul. |
+ | {{ :pm:lab:lab_i2c_task1.png?500 |}} | ||
+ | <hidden> | ||
+ | {{https://www.tinkercad.com/things/aWsNXOGkVBR|Soluție Task0 și Task1}} | ||
+ | </hidden> | ||
+ | |||
+ | <hidden> | ||
**Task 2** Folosiți codul Arduino pentru a implementa un ceas digital folosind un model de LCD pornind de la codul disponibil: [[https://www.tinkercad.com/things/i5JAD1DytMu-copy-of-arduino-digital-clock-without-rtc-module/editel?sharecode=NA25XBlf6CdMtIZ9UNoAWGDuaUopZQh8aAye2WJZUEU|Arduino LCD Digital Clock]] | **Task 2** Folosiți codul Arduino pentru a implementa un ceas digital folosind un model de LCD pornind de la codul disponibil: [[https://www.tinkercad.com/things/i5JAD1DytMu-copy-of-arduino-digital-clock-without-rtc-module/editel?sharecode=NA25XBlf6CdMtIZ9UNoAWGDuaUopZQh8aAye2WJZUEU|Arduino LCD Digital Clock]] | ||
+ | </hidden> | ||
===== 6. Resurse ===== | ===== 6. Resurse ===== |