Universitatea Tehnica Iasi - Fac. Automatica si Calculatoare
Sisteme cu Microprocesoare

Experiment nr. 3+

  • E3+.1 Denumire:


  • Embedded Linux Machine - extensii I2C


  • E3+.2 Prezentare generala, scop.


  • Experimentul de laborator isi propune sa exploreze posibilitatile de realizare a extensiilor pentru platformle RPi utilizind protocolul de comunicatie I2C. Sunt introduse principalele specificatii ale acestuia precum si integrarea in sensori de tip MEMS (acceleratie, compas). Exemplul este centrat pe sensorul de acceleratie ADXL345 conectatla Rpi zero 2 W prevazut cu un modul de biblioteca ce poate fi accesat intr-un program aplicativ. La sfarsitul laboratorului se vor detine informatii detaliate despre interconectarea la platformele Raspberry Pi a sistemlor care comunica prin protocol I2C.



  • E3.3 Resurse:

  • Platforma Raspberry Pi zero2 W, extensie LED-uri RGB, extensie optotriac, extensie tranzistor MOSFET , modul releu.




  • E3.4 Sursa programe exemplu:

  • Vizualizare date sensor acceleratie

    Generator evenimente prin inclinare sensor

  • E3+.5 Mod de desfasurare/urmarire experiment:
  • Protocolul I2C utilizeaza o transmisie seriala a datelor utilizand liniile SDA si SCL. Secventa de start/stop este reperzentata in figura urmatoare:



    Datele sunt precedate de adresa dispozitivului , un ciclu de transfer generic pentru operatii de lectura specifice sensorilor I2C este reprezentata astfel:



    Modulul cu sensorul de acceleratie ADXL345 are urmatoare schema :

    Activarea interfetei I2C se realizeaza utilitarul Raspi-config iar instalarea modulelor software pentru I2C se realizeaza astfel:

    > sudo apt-get update
    > sudo apt-get install -y python-smbus i2c-tools

    Dupa conectarea sensorului ADXL345 la liniile SDA si SCL poate fi vizualizata adresa acestuia astfel:

    > i2cdetect -y 1

    In situatie corecta, comanda anterioare va furniza urmatoarele informatii:

    Un nivel de abstractizare al sensorului il ofera um modul software adecvat care se poate instala astfel:

    > pip3 install adafruit-circuitpython-adxl34x

    La acesta etapa se pot analiza si rula cele 2 programe prototip care permit vizualizarea datelor livrate de sensor precum si utilizarea acestora pentru generarea unor evenimente prin miscarea sensorului.
    Rezolvati problemele propuse;

  • E3.6 Probleme propuse:

  • 1. Realizati un program care va permite vizualizarea cu osciloscopul a semnalelor SDA si SCL. .
    2. Compleati exemplul 2 cu LED-uri pentru miscare pe axele Y si Z.
    3. Realizati un script Python care va activa LED la inclinare Y de 90 grade
    4. Realizati un script Python care va permite detectia "tremuratului" de mana;
    5. Realizati un script Python care va activa un LED la inclinare pe axa Z cu 45 grade.



  • E3+.7 Experimentul poate fi extins pentru:

  • - Dezvoltare Cyber Physical System ;
    - Realizarea actuatoare pentru Internet of Things ;
    - Dezvoltarea modulelor acive pentru servere APACHE ;
    - Control actuatoare digitale de la distante foarte mari;



  • E3+.8 Referinte documentare:


  • © 2024 - Florin Pantilimonescu , Fac. Automatica si Calculatoare