This is an old revision of the document!


Smart Thermometer System

Introducere

  • Proiectul constă într-un sistem embedded ce măsoară temperatura ambientală folosind senzorul analogic LM35 și afișează valoarea citită pe un LCD 16×2.
  • Scopul este dezvoltarea unui sistem embedded complet funcțional, cu integrare hardware și software, folosind periferice standard ale microcontrollerului STM32F103CBTx.
  • Ideea proiectului a plecat de la necesitatea unui instrument simplu și eficient de măsurare a temperaturii ambientale, integrabil ușor în aplicații casnice sau industriale.
  • Este un proiect util atât educațional cât și practic, exersând concepte embedded precum GPIO, ADC, LCD, UART, întreruperi, temporizatoare și PWM.

Descriere generală

Schemă bloc cu modulele hardware și software + descrierea interacțiunii dintre ele.

Schema bloc a proiectului

  • LM35 convertește temperatura în semnal analogic
  • ADC0804 convertește semnalul analogic în valoare digitală
  • STM32F103 primește datele convertite prin GPIO
  • LCD 16×2 afișează temperatura măsurată
  • Buzzerul pornește dacă temperatura depășește un prag critic
  • UART trimite valorile către un PC pentru monitorizare
  • Butonul permite calibrare sau reset prin întrerupere externă

Hardware Design

  • Listă de piese
  • Scheme electrice (urmează)
  • Diagrame de semnal (PWM, ADC)

Bill of Materials (BOM)

Componentă Model Interfață Link / Datasheet
Microcontroller STM32F103CBTx GPIO, UART [STM32F103CBT6 datasheet](https://www.st.com/resource/en/datasheet/stm32f103c8.pdf)
Senzor temperatură LM35DZ Analog [LM35 Datasheet](https://www.ti.com/lit/ds/symlink/lm35.pdf)
Convertor ADC ADC0804 Paralel (8b) [ADC0804 Datasheet](https://www.ti.com/lit/ds/symlink/adc0804.pdf)
LCD 16×2 HD44780 GPIO 4-bit [HD44780 LCD](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf)
Buzzer - PWM -
Ventilator DC - PWM (motor) -
Buton calibrate - GPIO (EXTI) -

Pini utilizați:

Componentă Pini STM32 Funcție
LCD PB0–PB7 GPIO (D4–D7 + RS, E)
ADC0804 PA0–PA7 GPIO input
LM35 ADC0804 IN Analog
UART PA9 (TX), PA10(RX) Comunicație PC
Buzzer PA8 PWM
Motor DC TIM PWM (ex. PA1) Răcire activă
Buton PC13 EXTI13

Software Design

  • PlatformIO (STM32 + libopencm3)
  • Biblioteci proprii pentru LCD, ADC, UART
  • Algoritmi: citire ADC, afișare LCD, transmitere UART, PWM buzzer/motor, întrerupere buton

Mediu dezvoltare:

  • Visual Studio Code + PlatformIO
  • Framework: libopencm3

Funcționalități implementate:

  • Inițializare periferice: GPIO, ADC, PWM, UART, EXTI
  • Afișare continuă temperatură pe LCD
  • Transmitere serială (UART) pentru logging
  • Pornire buzzer și ventilator dacă temperatura depășește pragul
  • Întrerupere externă de la buton pentru calibrare/reset

Rezultate Obţinute

  • Proiectul este în stadiu de dezvoltare. Codul software este implementat și testat parțial în simulare. Urmează integrarea fizică a componentelor.

Concluzii

Toate funcționalitățile software au fost definite și implementate modular. Integrarea fizică se va face în săptămânile următoare. Proiectul include concepte din minim 5 laboratoare (GPIO, ADC, UART, PWM, întreruperi).

Download

Codul sursă este disponibil în repository GitHub (urmează publicarea).

Jurnal

  • 25.05 – Finalizare arhitectură software și generare cod de bază
  • 26.05 – Creare documentație wiki și schemă bloc

Bibliografie/Resurse

pm/prj2025/avaduva/andrei_vlad.iancu.1748202676.txt.gz · Last modified: 2025/05/25 22:51 by andrei_vlad.iancu
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