Engineer
ITALY • + Follow
Edit Project
Components
|
Arduino UNO R3 development sensor expansion board |
x 1 | |
|
TMP36Analog Devices
|
x 1 | |
|
PTV09A-4225F-B203Bourns Inc.
|
x 2 | |
|
NHD-0216XZ-FSW-GBWNewhaven Display Intl
|
x 1 |
Tools, APP Software Used etc.
|
TinkerCad |
|
|
arduino IDEArduino
|
Description
A thermostat made with arduino
a potentiometer is used to set the temperature and one to adjust the contrast of the LCD display. The sensor sends its values ??to the system, which reports them on the display.
P.s. the project is written in Italian
Link to project on tinkercad: https://www.tinkercad.com/things/amvYOwL7Arc?sharecode=QphMeV2895zfUBXDt0Ugjx3k83XbGaxDgQxdCmvUGE8
Code
Code
C/C++
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
// costanti
const int tSens= A5; // linea analogica sensore di temperatura
const int tSet = A0; // linea analogica potenziometro Temp desiderata
const int Cald = 8;
// variabili
unsigned int tSensVal=0; // temperatura ambiente letta dal sens
unsigned int tSetVal=0; // temperatura impostata dal potenziometro
boolean statoCald=0; // stato caldaia on off
int pot;
void setup() {
lcd.begin(16,2);
// inizializza la linea cald come output (attivazione caldaia)
pinMode(Cald, OUTPUT);
// inizializza seriale per l'invio dei dati al PC
Serial.begin(9600);
lcd.print("T. Impos.:");
lcd.setCursor(0,1);
lcd.print("T. Amb.:");
}
void loop() {
delay (200);
tSetVal=analogRead(tSet); //legge Tset del potenziometro
tSetVal=map(tSetVal,0,1023,0,50); // trasforma in Temp tra 0 e 50 T
tSensVal=analogRead(tSens); // acquisisce Tamb
tSensVal=map(tSensVal,0,1023,0,110);
if(tSensVal>tSetVal+1) statoCald=LOW; // verifica le soglie e statoCald
else if(tSensVal<tSetVal-1) statoCald=HIGH;
// aggiorna l'uscita digitale
digitalWrite(Cald, statoCald);
// invia dati via seriale
Serial.print("T ambiente = ");
Serial.println(tSensVal);
Serial.print("T set = ");
Serial.println(tSetVal);
Serial.print("Caldaia = ");
Serial.println(statoCald);
lcd.clear();
lcd.setCursor (10,0);
lcd.print(tSetVal);
lcd.setCursor(8,1);
lcd.print(tSensVal);
lcd.setCursor(13,0);
lcd.print ("C");
lcd.setCursor(11,1);
lcd.print ("C");
lcd.setCursor(0,0);
lcd.print("T. Impos.:");
lcd.setCursor(0,1);
lcd.print("T. Amb.:");
delay(5000);
}
Schematic and Layout
Oct 16,2022
1,155 views
A thermostat made with arduino
A small thermostat made with arduino! Forgive any inaccuracies, but I'm just a guy who is studying arduino and trying to learn, even just ha
1155
0
0
10.00 (1)
Published: Oct 16,2022
Purchase
Donation Received ($)
PCBWay Donate 10% cost To Author
Copy this HTML into your page to embed a link to order this shared project
Copy
Under the
Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)
License.
Topic
- Comments(0)
- Likes(0)
Upload photo
You can only upload 5 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
0 / 10000
It looks like you have not written anything. Please add a comment and try again.
You can upload up to 5 images!
Image size should not exceed 2MB!
File format not supported!
View More
View More
VOTING
1 votes
- 1 USER VOTES
10.00
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Design
1/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Usability
2/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Creativity
3/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Content
4/4
-
10design
-
10usability
-
10creativity
-
10content
10.00
More by Engineer
You may also like
-
Build a Walking Robot: Theo Jansen Style 3D Printed Octopod
145 0 4 -
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
141 0 0 -
DIY Laser Power Meter with Arduino
218 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
189 0 2