Differences

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

Link to this comparison view

pm:lab:lab4-2022 [2023/04/02 20:43]
dumitru.tranca [4. Exercitii]
pm:lab:lab4-2022 [2023/04/04 08:02] (current)
florin.stancu [5. Resurse]
Line 151: Line 151:
 /* wait until conversion is complete */ /* wait until conversion is complete */
 while (!(ADCSRA & (1 << ADIF))); while (!(ADCSRA & (1 << ADIF)));
-uint32_t ​result = ADC;+uint16_t ​result = ADC;
 </​code>​ </​code>​
  
Line 171: Line 171:
 ===== 4. Exercitii ===== ===== 4. Exercitii =====
 **Task 0**  Folositi cod Arduino pentru a citi valoarea unui potentiometru si a unui senzor de temperatura si apoi trimiteti valorile pe seriala. **Task 0**  Folositi cod Arduino pentru a citi valoarea unui potentiometru si a unui senzor de temperatura si apoi trimiteti valorile pe seriala.
-    - Transmiteți către consolă, folosind seriala disponibilă,​ tensiunea (calculată pe microcontroller) de la ieșirea potențiometrului.  +    - Transmiteți către consolă, folosind seriala disponibilă,​ tensiunea (calculată pe microcontroller) de la ieșirea potențiometrului ​și valoarea returnată de ADC (0-1023).  
-    - Valoarea ​citita ​pentru senzorul de temperatura ​trebuie sa fie exprimata ​in grade Celsius. Tensiunea de iesire a senzorului variaza liniar cu temperatura. Puteti sa faceti conversia experimental sau folosindu-va de datasheet ([[https://​www.analog.com/​media/​en/​technical-documentation/​data-sheets/​TMP35_36_37.pdf|Datasheet TMP36]]).+    - Valoarea ​citită ​pentru senzorul de temperatură ​trebuie sa fie exprimată ​in grade Celsius. Tensiunea de iesire a senzorului variaza liniar cu temperatura. Puteti sa faceti conversia experimental sau folosindu-vă de datasheet ([[https://​www.analog.com/​media/​en/​technical-documentation/​data-sheets/​TMP35_36_37.pdf|Datasheet TMP36]] / [[https://​www.ti.com/​lit/​ds/​symlink/​lm35.pdf|Datasheet LM35]]).
  
 {{ pm:​lab:​PB1.png?​500 | PB1 }} {{ pm:​lab:​PB1.png?​500 | PB1 }}
  
 +<​solution>​
 <​hidden>​ <​hidden>​
 +
 **Soluția** se găsește pe [[https://​www.tinkercad.com/​things/​b2Yra0sAu2J-brilliant-lappi-habbi/​editel?​sharecode=LfeWdU6ojyT1VzyOCdjwU3ieYR6u4bV2-lEko5iVrTc|Tinkercad TMP36]] **Soluția** se găsește pe [[https://​www.tinkercad.com/​things/​b2Yra0sAu2J-brilliant-lappi-habbi/​editel?​sharecode=LfeWdU6ojyT1VzyOCdjwU3ieYR6u4bV2-lEko5iVrTc|Tinkercad TMP36]]
 </​hidden>​ </​hidden>​
 +</​solution>​
  
 **Task 1** Folosind cod specific AVR, cititi valoarea potentiometrului doar atunci cand se apasa un buton. ​ **Task 1** Folosind cod specific AVR, cititi valoarea potentiometrului doar atunci cand se apasa un buton. ​
  
 {{ pm:​lab:​PB2.png?​500 | PB2 }} {{ pm:​lab:​PB2.png?​500 | PB2 }}
 +
 +<​solution>​
 <​hidden>​ <​hidden>​
 **Soluția** se găsește pe [[https://​www.tinkercad.com/​things/​b2Yra0sAu2J-brilliant-lappi-habbi/​editel?​sharecode=LfeWdU6ojyT1VzyOCdjwU3ieYR6u4bV2-lEko5iVrTc|Tinkercad Interrupt]] **Soluția** se găsește pe [[https://​www.tinkercad.com/​things/​b2Yra0sAu2J-brilliant-lappi-habbi/​editel?​sharecode=LfeWdU6ojyT1VzyOCdjwU3ieYR6u4bV2-lEko5iVrTc|Tinkercad Interrupt]]
Line 211: Line 216:
   EIMSK |= (1 << INT0);   EIMSK |= (1 << INT0);
 } }
- 
  
 void setup() void setup()
Line 264: Line 268:
 } }
 </​code>​ </​code>​
 +
 </​hidden>​ </​hidden>​
 +</​solution>​
  
 **Task 2** Folosind cod specific AVR, cititi valoarea potentiometrului o data la 10ms. Pentru acest exercitiu trebuie sa folositi ADC-ul sa porneasca o conversie automat in functie de un timer. ​ **Task 2** Folosind cod specific AVR, cititi valoarea potentiometrului o data la 10ms. Pentru acest exercitiu trebuie sa folositi ADC-ul sa porneasca o conversie automat in functie de un timer. ​
  
 +<​solution>​
 <​hidden>​ <​hidden>​
 **Soluția** se găsește pe [[https://​www.tinkercad.com/​things/​grYhoajb3sd-exquisite-hango-waasa/​editel?​sharecode=gNPGmOuI6oZBx3bp-q-S7NlxWoz_wRwWZm9LJK4DHbI|Tinkercad Potentiometer]] **Soluția** se găsește pe [[https://​www.tinkercad.com/​things/​grYhoajb3sd-exquisite-hango-waasa/​editel?​sharecode=gNPGmOuI6oZBx3bp-q-S7NlxWoz_wRwWZm9LJK4DHbI|Tinkercad Potentiometer]]
Line 274: Line 281:
  
 </​hidden>​ </​hidden>​
 +</​solution>​
  
 ===== 5. Resurse ===== ===== 5. Resurse =====
Line 280: Line 288:
   * Arduino UNO pinout   * Arduino UNO pinout
 {{:​pm:​lab:​uno.jpg?​200|pinout Arduino UNO}} {{:​pm:​lab:​uno.jpg?​200|pinout Arduino UNO}}
-  * Responsabili:​ [[razvan.stanescu1903@stud.acs.upb.ro | Razvan Stanescu ​]]+  * Responsabili:​ [[florin.stancu@upb.ro | Florin Stancu ​]]
  
 <​solution>​ <​solution>​
Line 289: Line 297:
   * [[https://​www.arduino.cc/​reference/​en/​language/​functions/​analog-io/​analogread/​|Arduino Analog Read]]   * [[https://​www.arduino.cc/​reference/​en/​language/​functions/​analog-io/​analogread/​|Arduino Analog Read]]
   * [[https://​www.analog.com/​media/​en/​technical-documentation/​data-sheets/​TMP35_36_37.pdf|Datasheet TMP36 ]]   * [[https://​www.analog.com/​media/​en/​technical-documentation/​data-sheets/​TMP35_36_37.pdf|Datasheet TMP36 ]]
 +  * [[https://​www.ti.com/​lit/​ds/​symlink/​lm35.pdf|Datasheet LM35]]
   * [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328p]]   * [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328p]]
   * [[https://​www.tinkercad.com/​things/​cl7vDLkEZwF?​sharecode=Ve7hoj8NLhZ_JSmV2jcoruc8lzp35D1E-pg1nTFhrgE|Tinkercad TMP36]]   * [[https://​www.tinkercad.com/​things/​cl7vDLkEZwF?​sharecode=Ve7hoj8NLhZ_JSmV2jcoruc8lzp35D1E-pg1nTFhrgE|Tinkercad TMP36]]
  
pm/lab/lab4-2022.1680457438.txt.gz · Last modified: 2023/04/02 20:43 by dumitru.tranca
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