BotronikS - Final code for all types of Arduino and PC users: -- HOME -- CONTACT

Nano
Uno
Mega

- 7 Segment TM1637 display: (link) 1--2--3
- DS18B20 temp. sensor: (link) 1--2--3
- Push Button: (link) 1--2--3
- RelayModule 2way: (link) 1--2--3
- PS9V/1A Power supply unit: (links) 1--2--3
misc: Wires: (link) 1--2--3 -- Resistors: (link) 1--2--3
 
Arduinos
connections (click to enlarge)
- Need additional accessories:

LDP211208: LED Thermostat for sensor DS18B20 (-50/+120 Cels.) with 2 outputs (heating + cooling) - TryHex
The offered code enables: Temperature control with hysteresis at 2 outputs
For Arduino boards:: NANO -- UNO -- MEGA
Arduino pins are used: see connections (used Sensor(s)=DS18B20 - Lnk1 - Lnk2 )

Electrical and practical notes:
Uses 9V/1A external power supply (VIN/GND) on DC plug (or external 5V/1A on 5V/GND pin).
If you want to use a longer length of the sensor connection cable, use a Shielded cable (shield connect to GND).
The Display of the measured value is in the form of one decimal digit.
Use the specified type of 7 segments display with decimal points only (not with Clock dots).
Each output can also drive other types of loads (instead of relay module as shown on connections) up to 5V/20mA (small or medium power SSR or similar)

Download the FreeHEX codes below, unpack and upload to the proper Arduino board (Use a free net tool for example XLoader - how)
uC ATmega328 (Nano, Uno(ATmega328)...): LDP211208try-m328 - Time-limited version to 5h operating - then need to be restarted!
uC ATMEGA2560 (Mega(ATMEGA2560)......): LDP211208try-M2560 - Time-limited version to 5h operating - then need to be restarted!
Try HEX is fully functional code but time limited.
 
Final (no limit) Hex Code: Make a Donation and then send us an Email with next content: LDP211208 (FHC=FinalHexCode)

User guide manual:
After applying to the power (or reset), the display shows (----) about 3 sec. During that time:
DEFAULT reset settings: Press both buttons (PB1+PB2) and when the screen turns off release. Be sure to do it (only once) after uploading the hex code in Arduino!
PRESET values settings: Press the PB1 button and when the screen turns off release:
P10: Display brightness intensity (0-7)
P12: The lower limit for settings value SV1 (range -50/+120 default=-50.0) - Defining settings range limits
P14: The upper limit for settings value SV1 (range -50/+120 default=120.0) - Defining settings range limits
Additional preset values have no function in this project!
 
SETtings (during normal operating - all changes stay memorized):
SET Temperature (SV1): Press the PB1(+) button (until the display goes off then release). The set temperature that can be changed on the buttons (PB1/PB2=+/-) is displayed. After 2 seconds of inactivity, the value on the display is stored.
SET Hysteresis (SV2): Press the PB2(-) button (until the display goes off then release). The set hysteresis that can be changed on the buttons (+/-) is displayed. After 2 seconds of inactivity, the value is stored.
Status of outputs:
Out1: If the measuring temperature is equal to or higher than the set value (SV1) then: Out1=0(0V=off). When the temperature drops below the set temperature for the set hysteresis value (SV2) then: Out1=1(5V=on) - (for example - heating function).
Out2: Inverse of Out1 (for example - cooling function).