Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:lab:lab3-2022 [2022/03/29 12:36]
dragos_mihai.ene [4. Exerciții]
pm:lab:lab3-2022 [2023/03/19 14:41] (current)
alexandru.predescu
Line 1: Line 1:
-====== Laboratorul 3: Întreruperi externe. PWM ======+/** 
 + * uncomment this to publish the solution: 
 + * ~~SHOWSOLUTION~~ 
 + */ 
 +~~SHOWSOLUTION~~ 
 + 
 +====== Laboratorul 3: Întreruperi externe. PWM (old) ======
  
 Acest laborator are ca scop familiarizarea voastră cu lucrul cu întreruperile externe și cu modul de generare a semnalelor PWM folosind timer-ele prezente în microcontroller-ul Atmega328p. Vom folosi întreruperi externe pentru a detecta apăsarea unui buton, independent de programul principal. Folosind semnale PWM vom controla un LED RGB și poziția unui servomotor. Acest laborator are ca scop familiarizarea voastră cu lucrul cu întreruperile externe și cu modul de generare a semnalelor PWM folosind timer-ele prezente în microcontroller-ul Atmega328p. Vom folosi întreruperi externe pentru a detecta apăsarea unui buton, independent de programul principal. Folosind semnale PWM vom controla un LED RGB și poziția unui servomotor.
Line 271: Line 277:
 } }
 </​file>​ </​file>​
- 
  
  
Line 285: Line 290:
  
 {{:​pm:​lab:​lab3_task0.png?​direct&​600|}} {{:​pm:​lab:​lab3_task0.png?​direct&​600|}}
- 
-<​hidden>​ 
-**Soluția** se găsește pe [[https://​github.com/​cs-pub-ro/​laborator-pm/​tree/​master/​laborator/​lab3/​task0|Github PM Task 0]] 
-</​hidden>​ 
  
 === Task 1 (LED RGB) === === Task 1 (LED RGB) ===
Line 305: Line 306:
   * Pentru a urmări corespondența dintre cele 2 reprezentări (RGB și HSV) există selectoare de culori precum [[https://​colorpicker.me/#​3237b9|Online Color Picker]]   * Pentru a urmări corespondența dintre cele 2 reprezentări (RGB și HSV) există selectoare de culori precum [[https://​colorpicker.me/#​3237b9|Online Color Picker]]
 {{ :​pm:​lab:​hue-wheel.png?​direct&​400 |}} {{ :​pm:​lab:​hue-wheel.png?​direct&​400 |}}
- 
-<​hidden>​ 
-**Soluția** se găsește pe [[https://​github.com/​cs-pub-ro/​laborator-pm/​tree/​master/​laborator/​lab3/​task1|Github PM Task 1]] 
-</​hidden>​ 
  
 === Task 2 (Servo / sweep) === === Task 2 (Servo / sweep) ===
Line 349: Line 346:
 } }
 </​file>​ </​file>​
- 
-<​hidden>​ 
-**Soluția** se găsește pe [[https://​github.com/​cs-pub-ro/​laborator-pm/​tree/​master/​laborator/​lab3/​task2|Github PM Task 2]] 
-</​hidden>​ 
  
 === Task 3 (Servo / buton) === === Task 3 (Servo / buton) ===
Line 363: Line 356:
   * Folosiți debouncing pentru a obține o funcționare corectă (o apăsare va incrementa o singură dată poziția)   * Folosiți debouncing pentru a obține o funcționare corectă (o apăsare va incrementa o singură dată poziția)
   * Există și servomotoare care folosesc un alt interval de comenzi (ex. 0.7ms-2.3ms),​ se poate folosi funcția //​writeMicroseconds//​ pentru a controla direct durata pulsului. [[https://​www.arduino.cc/​en/​Reference/​ServoWriteMicroseconds|Servo.writeMicroseconds]]   * Există și servomotoare care folosesc un alt interval de comenzi (ex. 0.7ms-2.3ms),​ se poate folosi funcția //​writeMicroseconds//​ pentru a controla direct durata pulsului. [[https://​www.arduino.cc/​en/​Reference/​ServoWriteMicroseconds|Servo.writeMicroseconds]]
- 
-<​hidden>​ 
-**Soluția** se găsește pe [[https://​github.com/​cs-pub-ro/​laborator-pm/​tree/​master/​laborator/​lab3/​task3|Github PM Task 3]] 
-</​hidden>​ 
- 
  
 ===== 5. Resurse ===== ===== 5. Resurse =====
Line 375: Line 363:
 {{:​pm:​lab:​uno.jpg?​direct&​200|pinout Arduino UNO}} {{:​pm:​lab:​uno.jpg?​direct&​200|pinout Arduino UNO}}
   * Responsabili:​ [[dragos_mihai.ene@stud.acs.upb.ro | Dragoș Ene ]] | [[sebastian.gherman99@stud.acs.upb.ro | Sebastian Gherman ]]   * Responsabili:​ [[dragos_mihai.ene@stud.acs.upb.ro | Dragoș Ene ]] | [[sebastian.gherman99@stud.acs.upb.ro | Sebastian Gherman ]]
 +
 +<​solution>​
 +<​hidden>​Arhiva cu soluțiile o puteți descărca de aici: {{:​pm:​lab:​lab3_2021:​lab3-solved.zip}}</​hidden>​
 +</​solution>​
 +
 ===== 6. Linkuri utile ===== ===== 6. Linkuri utile =====
  
Line 383: Line 376:
   * [[https://​en.wikipedia.org/​wiki/​Comma-separated_values|CSV]]   * [[https://​en.wikipedia.org/​wiki/​Comma-separated_values|CSV]]
   * [[https://​www.arduino.cc/​en/​Reference/​ServoWriteMicroseconds|Servo.writeMicroseconds]]   * [[https://​www.arduino.cc/​en/​Reference/​ServoWriteMicroseconds|Servo.writeMicroseconds]]
 +
pm/lab/lab3-2022.1648546566.txt.gz · Last modified: 2022/03/29 12:36 by dragos_mihai.ene
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0