Temperature Display System with GSM & EEPROM
අද අපි කතා කරන්න යන්නෙ Temperature Display System එකක් හදාගන්න විදිහ ගැන. මේකෙ තියන විශේෂත්වය තමයි ඔයාගෙ 4n එකෙන් ලෝකෙ ඕනෙම තැනක ඉදන් මේ System එක On/Off කරන්න පුලුවන් එක. ඒ වගේම ප්රධානම විශේෂත්වය තමයි උෂ්ණත්වය සෙල්සියස් අංශක 100ට වැඩි උනොත් ඒ බව ඔයාගෙ 4න් එකට Message එකකින් දන්වන එක. ඒ වගේම LCD Display එකක උෂ්ණත්වය Display කරගන්නත් අපිට පුලුවන්.හරි අපි බලමු මේක හදාගන්නෙ කොහොමද කියල.
මන් මීට කලින් කිව්වෙ මේ Post එක අරන් එන්නෙ LM35 Temperature Sensor එක භාවිතා කරල කියල. ඒත් මේ Tutorial එක හදන අතරෙ ඒ Sensor එක පිච්චුනා.. ඉතින් ඒ නිසා MX6675 K-Type Thermocouple Sensor එක් තමයි මන් මේකට පාවිච්චි කලේ... හරි අපි බලමු මේක හදාගන්න අපිට ඕනෙ වෙන්නෙ මොනවද කියලා...
1) Arduino Uno :- http://scionelectronics.com/product/arduino-uno-r3-with-cable/ - රු.970/=
2) SIM900A Module :- http://scionelectronics.com/product/sim900a-v4-0-kit-wireless-extension-module-gsm-gprs-board-antenna/ - රු.3460/=
3) MAX6675 Module K Type Thermocouple Sensor * 1 :- http://scionelectronics.com/product/max6675-module-k-type-thermocouple-sensor/ - Rs.910/=
4) 20*4 LCD Display :- http://scionelectronics.com/product/lcd-2004-20-x-04-character-display-blue-screen/ - රු.790/=
5) I2C Adapter :- http://scionelectronics.com/product/io-expander-serial-iic-i2c-adapter-1602-1604-2002-lcd-module-board/ - රු.195/=
6) Jumper Wires
මේ බඩු ටික ගැන කෙටියෙන් කිව්වොත්...
දැනටමත් ඔයා Arduino Uno එක ගැන නම් දන්නවා. ඒ නිසා ඒ ගැන නම් කියන්න යන්නෙ නෑ..
MAX6675 K-type Thermocouple Sensor එක ගැන කිව්වොත් මේ Sensor එක යොදාගෙන අපිට සෙල්සියස් අංශක 0 ඉදල සෙල්සියස් අංශක 1024 දක්වා උශ්නත්වයක් මැනගැනීමේ හැකියාව තිබෙනවා.
ඒ වගේම GSM Module එක් හරහා තමයි අපේ Mobile Phone එකත් එක්ක මේ System එක Connect කරන්නෙ.
LCD Display එක හරහ අපි කරන්නෙ ඒ වෙලාවෙ තියන Temperature එක Display කරන එක.
ඒ වගේම I2C Adapter එක යොදාගෙන Display එකෙන් Arduino Board එකට එන Wire ප්රමාණය අඩු කරගන්න ඔයාට පුලුවන්.
හරි අපි මුලින්ම බලමු Thermocouple Sensor එකෙන් Temperature එක Read කරගන්නෙ කොහොමද කියල. ඒ සදහා පහළ රූපයේ ආකාරයට 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
VCC 5V
SCK D6
CS D5
SO D4
Code එකේ තියන Comment වලින් Code එක විස්තර කරල තියනව. අපිට මේ සදහා නම් විශේෂ Library එකක් අවශ්ය කරනව.
ඊලගට අපි බලමු 20*04 LCD Display එක I2C Adapter එක හරහා Arduino Board එකත් එක්ක Use කරන්නෙ කොහොමද කියල. ඒ සදහා පහළ රූපයේ ආකාරයට Display එක Arduino Board එකත් එක්ක Connect කරගෙන පහල තියන Code එක Upload කරගෙන බලන්න.
මේ සදහාත් අපිට විශේෂ වූ Library එකක් අවශ්ය කරනව.
Liquidcrystal_I2c Library :- https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library?_e_pi_=7%2CPAGE_ID10%2C9347635550
අපි දැන් බලමු මේ 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
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/file/d/1OFuZq2WV-3H06gvT0n694RDzDwTuSMHc/view?usp=drivesdk
හරි අපි ඊලගට අපේ GSM Module එක Check කරගෙන ඉමු. ඒකට මේ Post එක බලල එන්න. මීට කාලෙකට කලින් මන් කරපු එකක්.
මේකෙදි මතක තියාගන්න ඕනෙ දෙයක් තමයි අපි මේකදි භාවිතා කරන GSM Module එකට Arduino Board එකෙන් Power දුන්නට නම් මදි. ඒ නිසා 5V 2A වගේ Power එකක් භාවිතා කරන්න වෙනව. ඒ වගේම පහළ රූපයේ තියන විදිහට GSM Module එක Arduino Board එකත් එක්ක සම්බන්ධ කරගන්න.
හරි එහෙනම් අපි අපේ Project එක පටන් ගමු. Device ටික වගේම Sensor එකත් Arduino Board එකත් එක්ක සම්බන්ධ කරගත්තට පස්සෙ මේ Code එක Upload කරගන්න. Code එකේ Comment වලින් Code එක විස්තර කරල තියන්ව.
ඉතින් මේකෙදි මුලින්ම "On" කියල SMS එකක් GSM Module ව්කට ඔයාගෙ 4n එකෙන් යැව්වම මේ System එක On වෙනව. ඒ වෙලාවෙම ඔයාගෙ 4n එකට GSM Module එකෙන් SMS එකක් එවනව System එක On උනා කියල.ඊට පස්සෙ ඒ වෙලාවෙ තියන Temperature එක LCD Display එකේ Display වෙනව. ඒ අතරෙ උෂ්ණත්වය සෙල්සියස් 100 ට වඩා වැඩි උනොත් ඒ වැඩි උන උෂ්ණත්වය SMS එකක් මගින් ඔයාට දන්වනව. ඊට පස්සෙ ඔයා "Ok" කියල SMS එකක් යැව්වම ආයෙත් System එක Continue වෙනව. ඒ වගේම ඔයා "Off" කියල SMS එකක් යැව්වොත් System එක Off වෙලා ඒ බව ඔයාගෙ 4n එකට SMS එකකින් දන්වනව.
ඒ වගේම මේ System එකේ තියන තවත් විශේෂත්වයක් තමයි System එක On එකේ තියෙද්දී Power Cut එකක් වෙලා ආයෙ On වෙද්දිනුත් System එක On State එකේම තියන එක. ඒ වගේම System එක Off අවස්ථාවෙ තියෙද්දී Power Loss උනොත් ආයෙ On වෙද්දිනුත් System එක තියෙන්නෙ Off State එකේ. ඒ කියන්නෙ දැනට අපේ System එක තියන State එක EEPROM එකක Save වෙනව. මේ EEPROM එකක තියන දෙයක් Power නැති උනා කියල මැකිල යන්නෙ නැහැ.
මන් හිතන මේක ගොඩක් දෙනෙක්ට ප්රයෝජනවත් වෙයි කියල. ඒ වගේම තවත් දෙයක් කියන්නම්. ඔයාට ඕනෙම Arduino Component එකක් ලංකාවෙ ඕනෙම තැනක ඉන්න කෙනෙකුට One Day Delivery Service එකකින් ගෙදරටම ගෙන්නගන්න පුලුවන්. එහෙම නැත්නම් මාලබේ SLIT Campus එක ඉස්සරහ (071-2452926) වගේම මොරටුව Campus එක ඉස්සරහත් (071-2452696) මෙයාලගෙ Shop තියනව. ඔයාට Warranty එකක් එක්කම අපි කතා කරපු GSM Module එක වගේම Arduino Uno Board එක, Temperature Sensor එක සහ LCD Display එකත් වගකීමක් සහිතව මිළදීගන්න පුලුවන්. ඒ විතරක් නෙමෙයි ඔයාට අවශ්ය කරන ඕනෙම Arduino Component එකක් වගකීමක් එක්කම ගන්න පුලුවන් එකම තැන Scion Electronics (scionelectronics.com)
Comments
Post a Comment