اعرض بياناتك

BOOGIE BOX – عفريت العلبة
October 31, 2015
زرار اطلبى تاكسى
November 17, 2015

 انت تقدر تعرض بياناتك علي الكمبيوتر اللي الاردوينو بطريقة منظمة وجميلة تقدر تفهم منها 

Processing وتقدر تعمل حاجات كتيرة كمان عن طريق برنامج اسمه

 بتاعت الاردوينو مبنية عليهIDE وهوا شبه الاردوينو في شكل البرنامج لان ال 

  Python ,Javaوكمان البرنامج دا بيتيح انك تعمل حاجات كتيرة بيه مش مجرد برامج للاردوينو وبس وكمان تقدر تكتب عليه بال

Kinect ,Leap Motion ومن ضمن مميزاته ان البرنامج فيه مكتبات عشان تتعامل مع حاجات كتير زي ال java بس هانكتب 

 GUI  وتقدر تعمل بيه حاجات

: احنا كدا اتكلمنا عن مميزات البرنامج وتقدر تنزل البرنامج من اللينك دا

https://www.processing.org/download/?processing

طبعا اختار نظاما التشغيل بتاعك

واول مينزل فك الضغط و افتح البرنامج وهتلاقيه انوا زي الاردوينو بالظبط

Processingاحنا دلوقتي هنشغل كود لبرنامج ال 

وهوا يقوم مستقبلها وعارضها  Serial بيستلم البيانات اللي بتتبعتلوا من الاردوينو من خلال ال

Serial monitor والكود دا عشان قيمتين من  البيانات بيعرض كل قيمة في مكان مختلف من الشاشة بدل ما كنت تعرضها علي ال

 

/*
This code is written by: Hany Hamed
 to display specific data in colorful way
 that will be sent from arduino 
 */

//include the serial library
import processing.serial.*;

Serial port; //create object for serial 
String tr; // read the string that has been sent from arduino
String r1; //this is the string which will store the first value 
String r2; //this is the string which will store the secong value

void setup() {
  //open the com port that is in my case is COM3 and the baudrate=9600 
  port = new Serial(this, "COM12", 115200);
  //set the size of the window
  size(640, 360);
  //the size of the word
  textSize(25);
  //the grey level of the background color
  background(102);
}

void draw() {
  while (port.available()>0) {  //while the serial port has data
    tr=port.readStringUntil('n'); // read the values until new line
    if (tr!=null) {   //if the tr has not any value 
      Clear();//do the Clear function

      r1 = tr.substring(0, tr.indexOf("V"));  //store part of the input string that it is from 0 element to the V 
      r2 = tr.substring(tr.indexOf("V")+1, tr.indexOf("B")); //and the same thing for the other value
      text(r1, 25, 100); //then type the first value in the x,y
      text(r2, 200, 100);//type the second value
    }
  }
  port.clear(); //clear the buffer of the port
}

void Clear() {
  clear(); // clear the window to refresh the values
  fill(0, 0, 255); //the color of the text in RGB form
  background(0);   //the grey level of the background color
}

ودا كود الاردروينو عشان يبعت قيمتين ايا يكن القيمتين دول بتوع ايه قيم سينسور او اي حاجة فيقوم باعتهم سيريال للبرنامج عشان يعرضهم

///////////////////////////////////////////
//This code is written by: Hany Hamed   //
//to send two value to processing       //
//////////////////////////////////////////
int x = 586;
void setup() {
  Serial.begin(115200); //this is to configure the baud rate of serial communication 
  //you can choose any speed you want but the it must that the baud rate that written in this code it must be as same as the other code
}
void loop() {
  Serial.print("wer");  //send the first value that we use it to make as our first value
  Serial.print("V");    // then send an indicator that show that the first value has been end
  Serial.print(x);      //the second value
  Serial.println("B");  //and send the indicator that the second value has been end
  //and the final value must be the end of the line that is why we write Serial.println
  delay(50);            //then delay for 50 milli second
  //and you can add any number of values to be sent by serial to processing by follow the value with its indicator  

}

وهنجرب تجربة دلوقتي هنستخدم مقاومة متغيرة وحساس ضوئي وهو عبارة عن مقاومة ضوئية

ودا كود الاردوينو

///////////////////////////////////////////
//This code is written by: Hany Hamed   //
//to send two value to processing       //
//////////////////////////////////////////
int x = 586;
int input1=0; // a variable for the first sensor value
int input2=0; // a variable for the second sensor value
void setup() {
  Serial.begin(115200); //this is to configure the baud rate of serial communication 
  //you can choose any speed you want but the it must that the baud rate that written in this code it must be as same as the other code
}
void loop() {
  input1=analogRead(A1);  //read the variable resistance value
  input2=analogRead(A2);  // read the LDR value
  Serial.print(input1);  //send the first value that we use it to make as our first value
  Serial.print("V");    // then send an indicator that show that the first value has been end
  Serial.print(input2);      //the second value
  Serial.println("B");  //and send the indicator that the second value has been end
  //and the final value must be the end of the line that is why we write Serial.println
  delay(100);            //then delay for 50 milli second
  //and you can add any number of values to be sent by serial to processing by follow the value with its indicator  

}

 هوا هواProcessing وكود ال

 ودي التوصيلات

Untitled

ودا فيديو والكود شغال

ملحوظة 

 processingعشان تشغل الكود علي الاردوينو وعلي 

 runللكود الاول علي اردوينو وبعدين  دوس upload اعمل 

المراجع

https://www.processing.org/reference/

https://www.processing.org/reference/libraries/

Facebook
Facebook
Twitter
YouTube