මොකක්ද මේ Processing කියන්නේ ?

Posted on September 25, 2016 · 8 mins read · Sinhala · Nuwan Jaliyagoda

Cover Image

ආර්ඩියුනෝ කියන්නේ මොකක්ද කියලා නොදන්න කෙනෙක් නැති තරම් දැන් ආර්ඩියුනෝ ජනප්‍රියයි. මේ ආර්ඩියුනෝ වල ලගම ඥාතියෙක් කියලා හදුන්වන්න පුළුවන් මෘදුකාංගයක් තමයි Processing කියන්නේ. ලොකු අයියා කිව්වොත් ගොඩක්ම නිවැරදියි. මොකද Processing පලමු සංස්කරණය නිකුත් කරලා තියෙන්නේ 2001 දී.

IDE එක, එහෙමත් නැත්නම් අතුරුමුහුණත ආර්ඩියුනෝ වලට ගොඩක්ම සමානයි.

Processing IDE

මේකත් Arduino වගේම Open Source මෘදුකාංගයක්. Processing වල නිල වෙබ් අඩවිය තමයි processing.org. මෙතනින් ඔයාලටත් නොමිලේම Processing මෘදුකාංගය Download කරගන්න පුලුවන්.

processing.org

Processing කියන වචනයේ තේරුම “සකස් කිරීම” යි. මේ Processing වලින් කෙරෙන්නේත් ඒ වගේම දෙයක් තමයි. මේක වැඩිපුරම පාවිච්චි කරන්නේ ආර්ඩියුනෝ වගේ දෘඩාංග වලින් ලැබෙන දත්ත විශ්ලේෂණය කරන්නයි. ගොඩක් අය දැනටමත් C# වලින් Arduino සදහා පොඩි පොඩි වැඩසටහන් ලියනවා ඇති. එ් වගේ වැඩවලට මේ Processing පහසුවෙන්ම පාවිච්චි කරන්න පුලුවන්.

Communicate with Arduino

Arduino Examples අතර Communication කාණ්ඩයට අයිති Example කිහිපයකදිම මේ Processing භාවිතා වෙනවා.

මේ තියෙන්නේ ඒ වගේ උදාහරණයක්.

File > Examples > Communication > Physical Pixel

( වැඩි විස්තර : http://www.arduino.cc/en/Tutorial/PhysicalPixel)

Arduino Code
const int ledPin = 13; // the pin that the LED is attached to
int incomingByte;      // a variable to read incoming serial data into

void setup() {
    // initialize serial communication:
    Serial.begin(9600);
    // initialize the LED pin as an output:
    pinMode(ledPin, OUTPUT);
}

void loop() {
    // see if there's incoming serial data:
    if (Serial.available() > 0) {
        // read the oldest byte in the serial buffer:
        incomingByte = Serial.read();
        // if it's a capital H (ASCII 72), turn on the LED:
        if (incomingByte == 'H') {
            digitalWrite(ledPin, HIGH);
        }
        // if it's an L (ASCII 76) turn off the LED:
        if (incomingByte == 'L') {
            digitalWrite(ledPin, LOW);
        }
    }
}
Processing Code
import processing.serial.*;

float boxX;
float boxY;
int boxSize = 20;
boolean mouseOverBox = false;

Serial port;

void setup() {
    size(200, 200);
    boxX = width/2.0;
    boxY = height/2.0;
    rectMode(RADIUS);

    // List all the available serial ports in the output pane.
    // You will need to choose the port that the Arduino board is
    // connected to from this list. The first port in the list is
    // port #0 and the third port in the list is port #2.
    // if using Processing 2.1 or later, use Serial.printArray()
    println(Serial.list());

    // Open the port that the Arduino board is connected to (in this case #0)
    // Make sure to open the port at the same speed Arduino is using (9600bps)
    port = new Serial(this, Serial.list()[0], 9600);

}

void draw(){
    background(0);

    // Test if the cursor is over the box
    if (mouseX > boxX-boxSize && mouseX < boxX+boxSize && mouseY > boxY-boxSize && mouseY < boxY+boxSize) {
        mouseOverBox = true;
        // draw a line around the box and change its color:
        stroke(255);
        fill(153);
        // send an 'H' to indicate mouse is over square:
        port.write('H');
    }else {
        // return the box to it's inactive state:
        stroke(153);
        fill(153);
        // send an 'L' to turn the LED off:
        port.write('L');
        mouseOverBox = false;
    }

    // Draw the box
    rect(boxX, boxY, boxSize, boxSize);
}

Control Arduino from PC

Arduino Board එක USB Cable එක හරහා පරිගණකයට සම්බන්ධ කරලා පරිගණකයේ ඉදලා Processing වලින් Arduino Board එක කෙලින්ම මෙහෙයවන්නත් පුලුවන්.

Link : http://playground.arduino.cc/Interfacing/Processing

Android App Developing

Processing අළුත්ම සංස්කරණයේ (Processing 3.2.1) Android app නිර්මාණය කිරීමේ පහසුකමත් ලබාදීලා තියෙනවා. Android SDK එක තියෙන ඕනම පරිගණකයකින් මේ Processing භාවිතා කරලා Android Apps හදන්න පුළුවන්. හැබැයි තාම මේ පහසුකම Beta අවස්ථාවෙයි තියෙන්නේ.

මේ ලිපියේ අරමුණ වුණේ Processing කියන්නේ මොකක්ද කියන එක ගැන කෙටි අදහසක් ලබාදීමයි. මෙතන සදහන් නොවුණ තව ගොඩක් දේවල් වලට Processing භාවිතයෙන් කරන්න පුළුවන්. Arduino වල වගේම Processing මෘදුකාංගයේත් File > Examples කොටසේ ගොඩක් උදාහරණ තියෙනවා. ඔයාලත් ඒවා කීපයක් උත්සාහ කරලා බලන්න.