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 එක සවිස්තරාත්මකව පැහැදිලි කරගමු.


6 comments:

  1. නියමයි සහෝ. ලිපි පෙල බැලුවා නියමයි.
    පඩි 20ක් තියෙන පඩිපෙලකට 3528 led strip එකක් කොටස් විස්සකට කපලා ardunio uno එකකින් program කරලා හදා ගන්නේ කොහොමද? (ardunio uno එකේ තියෙන්නේ digital pin 14ක් නිසා) පහල තියෙන වීඩියෝ එකේ වගේ කරන්නේ කොහොමද?

    ReplyDelete
    Replies
    1. ඔයා මේ ලිපි ටික පොඩ්ඩක් බලනවද? අපැහැදිලි තැනක් තිබුනොත් අහන්න.

      https://www.arduino.cc/en/Tutorial/ShiftOut
      https://learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/the-74hc595-shift-register
      https://www.youtube.com/watch?v=bqfPZXEuyuc

      ස්තූතියි.

      Delete
  2. Meka godak wadagath lipi tikak..

    ReplyDelete
  3. Meka ta lcd ekak daganne kohomada cod monada

    ReplyDelete