Differences

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

Link to this comparison view

priot:laboratoare:04 [2024/10/15 11:25]
vlad.radulescu2901
priot:laboratoare:04 [2024/11/05 15:26] (current)
alexandru.bala [Bibliografie]
Line 33: Line 33:
 ====Partea II: Configurarea mediului de dezvoltare in VS Code==== ====Partea II: Configurarea mediului de dezvoltare in VS Code====
  
-1. Instalarea si configurarea VS Code cu extensia MicroPico+==Instalarea si configurarea VS Code cu extensia MicroPico== 
 +Pas 1: Descarca si instaleaza VS Code:  
 +  *Acceseaza https://​code.visualstudio.com/​ si descarca Visual Studio Code pentru sistemul tau de operare.
  
-    * Pas 1Descarca si instaleaza VS Code: Acceseaza https://​code.visualstudio.com/​ si descarca Visual Studio Code pentru sistemul tau de operare.+Pas 2Instaleaza extensia MicroPico
  
-    * Pas 2: Instaleaza extensia MicroPico+    * Deschide VS Code.
  
-        ​Deschide VS Code.+    ​Acceseaza Extensions (Ctrl+Shift+X) si cauta MicroPico.
  
-        * Acceseaza Extensions (Ctrl+Shift+X) si cauta MicroPico. +    ​* Instaleaza extensia si urmeaza instructiunile pentru configurarea mediului de dezvoltare pentru Raspberry Pi Pico.
- +
-        ​* Instaleaza extensia si urmeaza instructiunile pentru configurarea mediului de dezvoltare pentru Raspberry Pi Pico.+
  
 Pas 3: Instalarea MicroPython pe Raspberry Pi Pico Pas 3: Instalarea MicroPython pe Raspberry Pi Pico
  
-    ​1. Conecteaza Pico la computer tinand apasat butonul BOOTSEL.+    ​Conecteaza Pico la computer tinand apasat butonul BOOTSEL.
  
-    ​2. Descarca fisierul MicroPython UF2 pentru Raspberry Pi Pico de pe https://​micropython.org/​download/​rp2-pico/​.+    ​Descarca fisierul MicroPython UF2 pentru Raspberry Pi Pico de pe https://​micropython.org/​download/​rp2-pico/​.
  
-    ​3. Copiaza fisierul .uf2 in unitatea USB care apare in sistemul tau dupa conectarea Pico.+    ​Copiaza fisierul .uf2 in unitatea USB care apare in sistemul tau dupa conectarea Pico.
  
-    ​4. Pico va reporni automat cu MicroPython instalat.+    ​Pico va reporni automat cu MicroPython instalat.
  
 Pas 4: Testarea conexiunii in VS Code Pas 4: Testarea conexiunii in VS Code
  
-    ​1. In VS Code, deschide un terminal nou (Ctrl + `) si apasa Ctrl + Shift + P pentru a deschide Command Palette.+    ​In VS Code, deschide un terminal nou (Ctrl + `) si apasa Ctrl + Shift + P pentru a deschide Command Palette.
  
-    ​2. Selecteaza MicroPico: List Serial Ports si asigura-te ca portul corect pentru Pico este selectat.+    ​Selecteaza MicroPico: List Serial Ports si asigura-te ca portul corect pentru Pico este selectat.
  
-    ​3. Daca totul este corect configurat, poti incepe sa rulezi cod pe Raspberry Pi Pico din VS Code.+    ​Daca totul este corect configurat, poti incepe sa rulezi cod pe Raspberry Pi Pico din VS Code.
  
  
-====Tasks====+====Exercitii====
  
-===Task 1: Utilizarea senzorilor BMP280 si LDR===+===Exercitiu ​1: Utilizarea senzorilor BMP280 si LDR===
  
 1. Conectarea senzorilor la Raspberry Pi Pico 1. Conectarea senzorilor la Raspberry Pi Pico
  
-Senzorul BMP280 (I2C): +  * Senzorul BMP280 (I2C):
     * SCL -> pin GP21.     * SCL -> pin GP21.
     * SDA -> pin GP20.     * SDA -> pin GP20.
Line 77: Line 76:
     * GND -> GND.     * GND -> GND.
  
-Senzorul LDR:+  * Senzorul LDR:
     * Un pin al LDR conectat la 3.3V si celalalt la pinul GP26 (ADC0).     * Un pin al LDR conectat la 3.3V si celalalt la pinul GP26 (ADC0).
 +    {{:​priot:​laboratoare:​conexiuni_raspberry_1.jpeg?​600|}}{{:​priot:​laboratoare:​conexiuni_raspberry_2.jpeg?​600|}}
 +    ​
  
- +===Exercitiu ​2: Citirea senzorului de lumina (LDR)===
-===Task 2: Citirea senzorului de lumina (LDR)===+
  
 Pentru senzorul LDR, trebuie sa citesti o valoare analogica folosind ADC-ul de pe Raspberry Pi Pico. Urmatorii pasi te vor ajuta sa construiesti codul: Pentru senzorul LDR, trebuie sa citesti o valoare analogica folosind ADC-ul de pe Raspberry Pi Pico. Urmatorii pasi te vor ajuta sa construiesti codul:
  
 Ce trebuie sa stii: Ce trebuie sa stii:
-1. ADC (Analog to Digital Converter) este folosit pentru a converti semnalele analogice in valori numerice pe care Pico le poate procesa. +  * ADC (Analog to Digital Converter) este folosit pentru a converti semnalele analogice in valori numerice pe care Pico le poate procesa. 
-2. In cazul unui LDR, poti citi intensitatea luminii prin intermediul unui pin ADC de pe Pico.+  ​* ​In cazul unui LDR, poti citi intensitatea luminii prin intermediul unui pin ADC de pe Pico.
  
  
-===Task 3: Gasirea adresei senzorului I2C===+===Exercitiu ​3: Gasirea adresei senzorului I2C===
  
 Inainte de a putea citi date de la senzorul BMP280, trebuie sa afli adresa I2C a acestuia. Adresele I2C sunt unice pentru fiecare dispozitiv si pot varia. Procesul de a gasi adresa este esential pentru a comunica corect cu senzorul. Inainte de a putea citi date de la senzorul BMP280, trebuie sa afli adresa I2C a acestuia. Adresele I2C sunt unice pentru fiecare dispozitiv si pot varia. Procesul de a gasi adresa este esential pentru a comunica corect cu senzorul.
  
 Pasul 1: Scrierea codului pentru scanarea dispozitivelor I2C Pasul 1: Scrierea codului pentru scanarea dispozitivelor I2C
-Pentru a gasi adresa senzorului, trebuie sa scrii un cod care sa scaneze dispozitivele I2C conectate la Raspberry Pi Pico.+ 
 +Pentru a gasi adresa senzorului, trebuie sa scrii un cod care sa scaneze dispozitivele I2C conectate la Raspberry Pi Pico.
  
 Ce trebuie sa stii: Ce trebuie sa stii:
-1. I2C este un protocol de comunicatie utilizat pentru a conecta senzori si alte componente la un microcontroler. +  * I2C este un protocol de comunicatie utilizat pentru a conecta senzori si alte componente la un microcontroler. 
-2. In Raspberry Pi Pico, poti utiliza biblioteca machine din MicroPython pentru a comunica cu dispozitivele I2C. +  ​* ​In Raspberry Pi Pico, poti utiliza biblioteca machine din MicroPython pentru a comunica cu dispozitivele I2C. 
-3. Pinul SCL (Serial Clock) si pinul SDA (Serial Data) sunt necesare pentru comunicatia I2C. In acest laborator, vei folosi GP21 pentru SCL si GP20 pentru SDA.+  ​* ​Pinul SCL (Serial Clock) si pinul SDA (Serial Data) sunt necesare pentru comunicatia I2C. In acest laborator, vei folosi GP21 pentru SCL si GP20 pentru SDA.
  
 Informatia necesara pentru a scrie codul: Informatia necesara pentru a scrie codul:
-Foloseste functia scan() din obiectul I2C pentru a obtine o lista cu adresele dispozitivelor conectate.+  * Foloseste functia scan() din obiectul I2C pentru a obtine o lista cu adresele dispozitivelor conectate.
  
-===Task 4: Citirea senzorului de temperatura===+===Exercitiu ​4: Citirea senzorului de temperatura===
  
 Acum ca ai gasit adresa senzorului BMP280, este timpul sa scrii codul care citeste datele de temperatura si presiune de la acesta. Pentru a face asta, trebuie sa intelegi urmatoarele concepte: Acum ca ai gasit adresa senzorului BMP280, este timpul sa scrii codul care citeste datele de temperatura si presiune de la acesta. Pentru a face asta, trebuie sa intelegi urmatoarele concepte:
  
 1. Structura registrului BMP280 1. Structura registrului BMP280
-BMP280 comunica printr-un set de registre. Datele de temperatura si presiune sunt stocate in aceste registre si trebuie citite in format brut. +  * BMP280 comunica printr-un set de registre. Datele de temperatura si presiune sunt stocate in aceste registre si trebuie citite in format brut. 
-Registrele importante pentru acest proiect sunt: +  ​* ​Registrele importante pentru acest proiect sunt: 
-    ​0xFA pana la 0xFC: Temperatura. +    ​0xFA pana la 0xFC: Temperatura. 
-    ​0xF7 pana la 0xF9: Presiune.+    ​0xF7 pana la 0xF9: Presiune.
  
 2. Citirea coeficientilor de calibrare 2. Citirea coeficientilor de calibrare
-Senzorul BMP280 furnizeaza coeficienti de calibrare care sunt esentiali pentru a converti datele brute in valori corecte de temperatura si presiune. +  * Senzorul BMP280 furnizeaza coeficienti de calibrare care sunt esentiali pentru a converti datele brute in valori corecte de temperatura si presiune. 
-Acesti coeficienti se gasesc in registrele de calibrare care incep de la 0x88.+  ​* ​Acesti coeficienti se gasesc in registrele de calibrare care incep de la 0x88.
  
 3. Cum sa scrii functii pentru a citi datele 3. Cum sa scrii functii pentru a citi datele
-- Pasul 1: Citeste datele brute din registre. +  * Citeste datele brute din registre. 
-- Pasul 2: Foloseste coeficientii de calibrare pentru a compensa valorile brute. +  ​* ​Foloseste coeficientii de calibrare pentru a compensa valorile brute. 
-- Pasul 3: Afiseaza rezultatele finale.+  ​* ​Afiseaza rezultatele finale.
  
 Etape: Etape:
-1. Initiaza senzorul: Scrie o functie pentru a seta senzorul in modul de operare normal. Acest lucru se face prin scrierea unei valori in registrul de control al senzorului. +  * Initiaza senzorul: Scrie o functie pentru a seta senzorul in modul de operare normal. Acest lucru se face prin scrierea unei valori in registrul de control al senzorului. 
-2. Citeste coeficientii de calibrare: Aceasta este o alta functie care citeste datele de calibrare de la senzor. Foloseste functia readfrom_mem() pentru a citi din registrele respective. +  ​* ​Citeste coeficientii de calibrare: Aceasta este o alta functie care citeste datele de calibrare de la senzor. Foloseste functia readfrom_mem() pentru a citi din registrele respective. 
-3. Citeste valorile brute de temperatura si presiune: Scrie functii pentru a citi datele brute din registrele 0xF7-0xFC. +  ​* ​Citeste valorile brute de temperatura si presiune: Scrie functii pentru a citi datele brute din registrele 0xF7-0xFC. 
-4. Compenseaza datele: Foloseste formulele de calibrare specificate in documentatia BMP280 pentru a corecta valorile brute.+  ​* ​Compenseaza datele: Foloseste formulele de calibrare specificate in documentatia BMP280 pentru a corecta valorile brute.
  
 ==== Bibliografie ==== ==== Bibliografie ====
Line 134: Line 135:
   - [[https://​datasheets.raspberrypi.com/​rp2040/​rp2040-datasheet.pdf|Datasheet microcontroller RP2040]]   - [[https://​datasheets.raspberrypi.com/​rp2040/​rp2040-datasheet.pdf|Datasheet microcontroller RP2040]]
   - [[https://​datasheets.raspberrypi.com/​pico/​pico-datasheet.pdf|Datasheet Raspberry Pi Pico]]   - [[https://​datasheets.raspberrypi.com/​pico/​pico-datasheet.pdf|Datasheet Raspberry Pi Pico]]
 +  - [[https://​www.mouser.com/​datasheet/​2/​783/​BST-BME280-DS002-1509607.pdf?​srsltid=AfmBOooMjmGwE224Ybw2eDvbuBsEsAHlDV7tL5KBk68xMOQx-3LOMppJ| Datasheet BME280]]
   - [[https://​www.raspberrypi.com/​documentation/​microcontrollers/​c_sdk.html|Pico-SDK]]   - [[https://​www.raspberrypi.com/​documentation/​microcontrollers/​c_sdk.html|Pico-SDK]]
   - [[https://​www.raspberrypi.com/​documentation/​pico-sdk/​hardware.html#​ga71d35b29e897b9bb4fc881b587b08cab|Documentatie Pico-SDK]]   - [[https://​www.raspberrypi.com/​documentation/​pico-sdk/​hardware.html#​ga71d35b29e897b9bb4fc881b587b08cab|Documentatie Pico-SDK]]
priot/laboratoare/04.1728980754.txt.gz · Last modified: 2024/10/15 11:25 by vlad.radulescu2901
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