Saturday, October 15, 2016

Arduino සිංහලෙන් - උෂ්ණත්වමානයක් හඳමු 3



අද අපි උෂ්ණත්වමාණයේ coding කොහොමද කරන්නේ කියල බලමු. මේ සඳහා අපිට Arduino IDE එක අවශ්‍ය වෙනවා, එය ඔබට නොමිලේම Arduino වෙබ් අඩවියෙන් download කරගත හැකියි.
දැන් මේ IDE එක සාමාන්‍ය software එකක් install කරන ආකාරයට install කර ගන්න. අපි දැන් coding part එක කරන්න සූදානම්.

Arduino IDE

මුලින්ම අපි අපේ code file එක save කර ගෙන ඉමු. ඔයාල කැමති තැනක කැමති නමකින් save කර ගන්න. මම Thermometer 1 කියල නම් කලා. අපිට Arduino library 2ක් ඕන වෙනවා ඒ දෙකම ඔයාලට Arduino IDE එක හරහා install කරගන්න පුළුවන්.

මීලගට අපි බලමු මේ download කර ගත්ත Libraries Arduino IDE එකට add කර ගන්න විදිහ. මුලින්ම IDE එකේ sketch menu එක හරහා පහත රූපයේ ආකාරයට manage libraries click කරන්න.

Manage Libraries

එවිට ලැබෙන popup window එකේදී DS18B20 ලෙස search කරන්න, එහිදී පහත රූපයේ දැක්වෙන ආකාරයට 3.7.6 හෝ ඊට වඩා අළුත් version එකක් install කරගන්න.

Arduino Library Manager

එලෙසම one wire library එකේ 2.3.2 හෝ ඊට වඩා අළුත් version එකක් install කරගන්න.

One Wire Library

දැන් අපි coding පටන් ගන්න සූදානම්. thermometer 1 file එකේ දැනටමත් method දෙකක් තිබෙන බව ඔබට පෙනේවි, ඒ සියල්ල මකල දාල අපි මුල ඉදලම අපි පටන් ගමු.

මුලින්ම කරන්න තියෙන්නේ අපි මීට සුළු වෙලාවකට පෙර install කර ගත්ත library දෙක අපේ code එකට add කර ගන්න ඒක. ඒක හරිම ලේසියෙන්ම, sketch menu එකේ include library sub menu එක හරහා අපිට කරගන්න පුළුවන්. 

Include Library
පහත දැක්වෙන්නේ උෂ්ණත්ව මානයේ Arduino code එක.


#include <onewire.h>

#include <dallastemperature.h>

// Data wire is plugged into pin 2 on the Arduino
define ONE_WIRE_BUS 2
 
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
 
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
 
void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Thermometer Demo");

  // Start up the library
  sensors.begin();
}
 
void loop(void)
{
  // call sensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print(" Requesting temperatures...");
// Send the command to get temperatures
sensors.requestTemperatures(); 
  Serial.println("DONE");

  Serial.print("Temperature for Device 1 is: ");
  Serial.print(sensors.getTempCByIndex(0));
  // You can have more than one IC on the same bus. 
  // 0 refers to the first IC on the wire
}



දැන් ඔබේ Arduino board එක computer එක හා සම්බන්ද කර ගන්න. එවිට Arduino IDE එකේ එය නිවැරදිව හඳුනාගෙන පහත රූපයේ ආකාරයට ඔබට දැක ගත හැකි වනු ඇත.

Arduino board in IDE

මීලගට Upload button එක click කර ඔබගේ code එක Arduino board එකට Upload කර ගන්න. දැන් උෂ්ණත්වය මනින්න සියල්ල සූදානම්. උෂ්ණත්වට කියවා ගන්න Arduino IDE එකේ serial monitor එක පහත රූපයේ පරිදි on කර ගන්න.

Serial Monitor


එහි මෙලෙස උෂ්ණත්වය සඳහන් වනු ඇති.

Serial Monitor

අපි සාර්ථකව digital උෂ්ණත්වමානයක් සදාගෙන අවසානයි, මේය අපිට අවශ්‍ය විදිහට වැඩි දියුණු කර ගත හැකියි ඒ ඔබේ අවශ්‍යතාවය අනුව තීරණය වේවි. මීලග අපියේන් උෂ්ණත්වමානය සඳහා යොදා ගත් code එක සවිස්තරාත්මකව පැහැදිලි කරගමු.


Read More

Sunday, October 9, 2016

Arduino සිංහලෙන් - උෂ්ණත්වමානයක් හඳමු 2



කාලෙකට පස්සේ අද පොඩි ඉඩක් ලැබුනා උෂ්ණත්වමානයක් හඳමු ලිපි පෙලේ දෙවෙනි ලිපිය ඉදිරිපත් කරන්න. පලවෙනි ලිපිය පල කරල දැන් ගොඩක් කල්, ඒ වගේම ඒකට හොඳ ප්‍රතිචාරත් ලැබිය තිබුනා. දැන් නම් කට්ටිය DS18B20 සෙන්සර් එක ගෙන්න ගෙන ඇති නේද?. වැඩි ගානකුත් නැති නිසා දෙක තුනක්ම අරගන්න.

අපි අද බලමු මේ sensor එක අපේ Arduino UNO board එකත් එකක් සම්බන්ද කරගන්න ආකාරය හා උෂ්ණත්වය කියවන්න ඕන කරන programming code එක ලියන ආකාරය. මුලින්ම මම ඔයාලට අවශ්‍ය උපාංග හඳුනාගනිමු 2 ලිපියේදී සඳහන් කරපු Project board එකයි Jumper wires ටිකයි, ඔයාල මිලදී ගත්ත DS18B20 temperature sensor එකයි ගන්න. දැන් Female to Male Jumper wires 3ක් අරගෙන පහත ආකාරයට අපේ temperature sensor හා සම්බන්ද කර ගන්න එවිට එය Project board එක හා පහසුවෙන් සම්බන්ද කර ගත හැකි වෙනවා වගේම පහසුවෙන් එහා මෙහා කිරීම හැකියාවද ලැබෙනවා.

 


දැන් Project board එක අරගෙන ඒකට මේ sensor එක සම්බන්ද කර ගන්න. (ඔයාල Project board එකක වයර් සම්බන්ද කරන විදහ දන්නව කියල හිතනවා මම, දන්නෙ නැත්තම් අහන්න කියල දෙන්නම්) 

දැන් Arduino board එක හා පහත රූපයේ ආකාරයට සම්බන්ද කර ගන්න.




DS18B20 temperature sensor එක wire කර ගන්න ඕන විදිහ මම කලින් ලිපියේදී කියල දුන්නා මතක නැත්තම් මේ රූපය බලන්න. 




අපි මෙතනදී DS18B20 temperature sensor එකේ දෙවැනි pin එකේ එහෙමත් නැත්තම් data in/out pin එකේ වෝල්ටීයතා මට්ටම ඉහල දමා ගැනීමට එයට 4.7K resister එකක් හරහා 5V විදුලි සැපයුමට සම්බන්ද කරනු ලැබ ඇත. නොමැති නම් Arduino board එකට මෙම sensor එක සමග සම්බන්දතාවය පහත්වා ගැනීම අපහසු වේ.

DS18B20 temperature sensor එකෙහි පළමු වෙනි අග්‍රය Arduino board එකේ GND (Ground) අග්‍රය සමගද, දෙවැනි අග්‍රය Arduino board එකේ දෙවැනි digital අග්‍රය (D2) සමගදල තෙවැනි අග්‍රය Arduino board එකේ 5V output අග්‍රය සමගින්ද සම්බන්ද කරන්න. දැන් අපි DS18B20 temperature sensor සාර්ථකව Arduino board සමග සම්බන්ද කරගෙන අවසන්. 

මීලග ලිපියෙන් අපි programming code එක ගැන කතා කරමු.


Read More