Arduino Programming Part 26 – Temperature Controlled Fan With MAX6675 Module + K Type Thermocouple Sensor

අද අපි කතා කරන්න යන්නෙ temperature එකට අනුව control වෙන fan එකක් හදන්නෙ සහ දැනට තියන temperature එක LCD display එකක display කරන්නෙ කොහොමද කියල. ඊට අමතරව LCD display එකක custom characters display කරගන්නෙ කොහොමද කියලත් අපි කතා කරනව.

මේකෙදි temperature එක සෙල්සියස් අංශක 30 ට වැඩි වෙද්දී fan එක on වෙනව වගේම උෂ්ණත්වය සෙල්සියස් අංශක 100 ට යන තෙක් ක්‍රමයෙන් fan එකේ speed එක වැඩි වෙනව. මේ 30 සහ 100 කියන values ඔයාට කැමති විදිහට වෙනස් කරගන්න පුලුවන්. මේ sensor එක යොදාගෙන අපිට සෙල්සියස් අංශක 0 ඉදල සෙල්සියස් අංශක 1024 දක්වා උශ්නත්වයක් මැනගැනීමේ හැකියාව තිබෙනවා. නැවත උෂ්ණත්වය අඩු වන විට fan එකේ speed එක ක්‍රමයෙන් අඩු වෙනව. ඒ වගේම දැනට තියන temperature එක I2C LCD Display එකක display කරනව. මේ විදිහට temperature එක display කරන අතරම අපිට අවශ්‍ය කරන characters කීපයකුත් display කරනව.

මේකට අපිට අවශ්‍ය කරනව,

1) MAX6675 Module K Type Thermocouple Sensor * 1 :- https://scionelectronics.com/…/max6675-module-k-type-thermo…/ – Rs.910/=

2) L298N Motor Drive Module * 1 :- https://scionelectronics.com/…/l298n-dual-bridge-dc-motor-c…/ – Rs.350/=

3) 20 * 04 LCD Display * 1 :- https://scionelectronics.com/…/lcd-2004-20-x-04-character-d…/ – Rs.690/=

4) I2C Adapter *1 :- https://scionelectronics.com/product/io-expander-serial-iic-i2c-adapter-1602-1604-2002-lcd-module-board/ – Rs.195/=

5) 12V DC Fan *1 :- https://scionelectronics.com/…/12v-dc-fan-120mmx120mmx25mm-…/ – Rs.300/=

6) Arduino Uno *1 :- https://scionelectronics.com/prod…/arduino-uno-r3-with-cable/ – Rs.970/=

හරි අපි මුලින්ම බලමු thermocouple sensor එකෙන් temperature එක read කරගන්නෙ කොහොමද කියල. ඒ සදහා 3 රූපයේ ආකාරයට sensor එක Arduino board එකත් එක්ක සම්බන්ධ කරගෙන පහල තියන code එක upload කරල බලන්න. රූපයේ D8, D9, D10 pin වලට Max6675 module එක සම්බන්ධ කරල තිබුනත් මන් code එකේදි Pin config කලේ,

Max6675 Arduino

GND GND
VCC 5V
SCK D6
CS D5
SO D4

Code එකේ තියන comments වලින් code එක විස්තර කරල තියනව. අපිට මේ සදහා නම් විශේෂ library එකක් අවශ්‍ය කරනව.

Max6675 library :- https://github.com/adafruit/MAX6675-library…

Arduino code :- https://drive.google.com/…/1eiufGze-JA66WjJyQ5CLwqsjJ…/view…

ඊලගට අපි බලමු 20*04 LCD Ddisplay එක I2C adapter එක හරහා Arduino board එකත් එක්ක use කරන්නෙ කොහොමද කියල. ඒ සදහා 4 රූපයේ ආකාරයට display එක Arduino Bboard එකත් එක්ක connect කරගෙන පහල තියන code එක upload කරගෙන බලන්න. මේ සදහාත් අපිට විශේෂ වූ library එකක් අවශ්‍ය කරනව.

Liquidcrystal_I2c Library :- https://github.com/fdebr…/Arduino-LiquidCrystal-I2C-library…

Arduino Code :- https://drive.google.com/…/1MoCLgCXIeniCyFSkdAMqVVdjB…/view…

අපි දැන් බලමු මේ LCD display එකේ custom characters display කරගන්නෙ කොහොමද කියල. මේකෙදි කරන්නෙ LCD display එකේ තියන cell එක ඇතුලෙ තියන pixel 40 වෙන වෙනම control කරන එක.

මේ එක cell එකක තියෙන්නෙ දික් අතට pixel 5ක් සහ උස අතට pixel 8ක්. ඉතින් අපි මේ pixel 5 ගානෙ පේළි 8ක් address කරන්න ඕනෙ. මෙහෙම හිතන්න. මේ pixel 40 පත්තු කරන්න ඕනෙ pixel “1” විදිහටත් off වෙලා තියෙන්න ඕනෙ pixel “0” විදිහටත් ගත්තොත් අපිට මේ පහල තියන විදිහ්ට address කරගන්න පුලුවන්.

11111 – 0x1f
01111 – 0xf
00111 – 0x7
00011 – 0x3
00001 – 0x1
00000 – 0x0
10000 – 0x10
11000 – 0x18
11100 – 0x1c
11110 – 0x1e

ඒ කියන්නෙ ඔයාට ඕනෙ pixel ටික bit pattern එකක් විදිහට ලිව්වම. ඒ කියන්නෙ bit 5 ගානෙ ලියල ඒ binary value එක hexadecimal value එකක් බවට convert කරල ලියාගෙන ඒ hexadecimal value එකට ඉස්සරහින් 0x කියන කොටස එකතු කරගෙන අපිට address එක හදාගන්න පුලුවන්.

Example Arduino Code :- https://drive.google.com/…/1OFuZq2WV-3H06gvT0n694RDzD…/view…

හරි එහෙනම් අපි දැන් අපේ project එක පටන්ගමු. කලින් රූපවල ආකාරයට උපකරණ ටික එකතු කරගෙන L298N motor driver module එකත් සම්බන්ධ කරගන්න.එහිදී fan එක motor drive එකට සම්බන්ධ කර PWM input එක ලබා දීම සදහා Arduino board එකේ D9 Pin එක භාවිතා කරන්න. දැන් පහල code එක upload කරගන්න. Code එකේ comment වලින් code එක විස්තර කරල තියනව. ගැටලුවක් තිබුනොත් comment Section එකේදි කියන්න.

Full Arduino code :- https://drive.google.com/…/1p92SD7Qi1HnUx2E05c8F848W1…/view…

Video :- https://youtu.be/Y5itE5Ia-QA

ඒ වගේම තවත් දෙයක් කියන්නම්. ඔයාට ඕනෙම Arduino component එකක් ලන්කාවෙ ඕනෙම තැනක ඉන්න කෙනෙකුට One Day Delivery Service එකකින් ගෙදරටම ගෙන්නගන්න පුලුවන්. එහෙම නැත්නම් මාලබේ SLIIT Campus එක ඉස්සරහ (071-2452926) වගේම මොරටුව Campus එක ඉස්සරහත් (071-2452696) මෙයාලගෙ shop තියනව. ඔයාට warranty එකක් එක්කම Arduino components ගන්න පුලුවන් එකම තැන Scion Electronics (scionelectronics.com)

Arduino Programming Part 27 තුළින් නැවත හමුවෙමු.

Compiled by: Yasas Sadeepa

Leave a Reply

Your email address will not be published. Required fields are marked *