This is an old revision of the document!


Thermostat

Nume: Vintilescu Stefania-Madalina
FILS

Introduction

This project aims to provide a minimal implementation of a thermostat.

  • The initial idea was to create a simple and affordable thermostat using commonly available components and an Arduino board.
  • The purpose of this project is to maintain a consistent temperature in a room by turning on the fan or heating element based on the difference between the current temperature and the desired temperature set by the potentiometer.
  • Using a thermostat can lead to energy savings and more consistent temperature control. Additionally, this type of project can be a great learning experience for beginners who are interested in learning about electronics and programming with an Arduino.

—- UPDATE —-

  • The potentiometer is now utilized to adjust the brightness of the LCD, and the desired temperature value is changed using push buttons. A green led will also light up when the thermostat is in cooling mode. Otherwise, the red led will light up while in heating mode. This feature has been implemented so that the user can observe the current state of the thermostat.

Descriere generală

  • We use a BMP280 temperature sensor to constantly monitor the current temperature of the room. The desired temperature is set using a potentiometer, and the thermostat compares this value to the current temperature.
  • Depending on the difference between the current and desired temperature, the thermostat will activate either a heating element or a fan. These components are connected to a 2-channel relay module, which in turn is connected to the appropriate pins on the Arduino board.
  • The current temperature and the desired temperature are displayed on the I2C LCD, helping us decide whether to increase or decrease it.

=====UPDATED SCHEME=====

Hardware Design

The components used in this project are:

  • 1x 1K Potentiometer
  • 1x Breadboard +2x Mini BreadBoard
  • 1x 16×2 I2C LCD
  • 1x BMP280 temperature and pressure sensor
  • 1x 12V charger(compatible with Arduino UNO R3 - will be used for the alimentation of the fan and the heating element)
  • 1x Arduino UNO R3
  • jumper wires
  • 1x 12V 60x60x15mm fan
  • 1x 12V heating element for 3D printers
  • 1x 2-channel module relay
  • 1x green led, 1x red led
  • 4x resistors, different resistances

I will provide a legend for the wires as follows:

  • red - VCC
  • black - GND
  • yellow - Vin (from the charger + NO- normally open- for both relays)
  • pink - VCC for the fan (C2 of the 2nd relay)
  • purple - VCC for the heating element (C1 of the 1st relay)
  • gray - for the potentiometer (setting the luminosity of the LCD)
  • brown - SCL (analog pin A5, connected for the I2C LCD and for the BMP280 sensor)
  • white - SDA (analog pin A4, used for the same components as SCL)
  • blue - cooling system (digital pins 8 - for the fan and 6 - for the blue push button which decreases the temperature)
  • orange - heating system (digital pins 7 - for the heating element and 5 - red push button which increases the temperature)

I didn't find the same-looking heating element in my design application, but I used an element with similar functionality(red heating pad).

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

  • 27.04 → choosing the theme project
  • 02.05 → ordering the necessary components
  • 05.05 → making the first functional prototype of the software + hardware project
  • 07.05 → ordering other several components for new functionalities
  • 10.05 → making the second functional prototype of the software + hardware project (including new functionalities)
  • 11.05 → solding the pins for the BMP280 sensor at the lab

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/apredescu/termostat.1684616752.txt.gz · Last modified: 2023/05/21 00:05 by stefania.vintilescu
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