Mouse+Arduino+Processing GU Interface


अपने computer के mouse से servo motor को graphical user interface create कर के control करना

Friends में एक simple सा project जिसे Servo motor को computer mouse से control करने के लिए में ये post लिख रहा हूँ इसमें भी मेने Arduino uno का use किया है Arduino uno की pwm pin 11 से एक servo motor को connect करके मेने उस servo motor को अपने computer के mouse से control कर  30°,60°,90°,120° के angle से rotate करवाया में कुछ दिनों से graphical user interface(GUI) का मज़ा ले रहा हूँ इस post में भी मेने GU Interface का use किया है अपनी servo motor को mouse से control करने के लिए

मेने mouse से servo motor को control करने के लिए मैंने पहले mouse को समझा और बहुत सारे program बनाये gui create करने के लिए problem ये थी की मेरे programs servo को तो control कर रहे थे पर मेरी gui window पर कोई result show नहीं हो रहा था इस लिए मेने सिर्फ इस हिसाब से मेने processing gui window में चार coordinates create किये पहला x-axis पर 100 के अंदर दूसरा भी x-axis पर 200 के अंदर एसे ही 300,400 के लिए इनका मतलब है की यदि में mouse के cursor को program से create हुई window में X-100 के अंदर रखेंगे तो first condition true होते ही servo 30° पर पहुँच जाएगी जैसे ही mouse cursor 100 के आगे 200 के बीच होगा तो servo 60° पर पहुँच जाएगी इसी प्रकार mouse का cursor 200 और 300 के बीच पहुंचेगा तो 90° और mouse cursor 300 और 400 के बीच ले जायेंगे तो servo की position 120° होगी 
Arduino Arduino Arduino Arduino Arduino Arduino Arduino Arduino Arduino Arduino Arduino Arduino Arduino Arduino

Material-Software&Hardware-
  • Arduino uno
  • Computer with IDE
  • 1xservo 
  • Arduino software
  • Processing software(GUI create करने के लिए)

Servo motor Control-


mouse को processing से बनी gui window पर x-axis पर right-left करने पर servo के position बदलेगी gui window में mouse cursor को X-100 के अंदर रखेंगे तो first condition true होते ही servo 30° पर पहुँच जाएगी जैसे ही mouse cursor 100 के आगे 200 के बीच होगा तो servo 60° पर पहुँच जाएगी इसी प्रकार mouse का cursor 200 और 300 के बीच पहुंचेगा तो 90° और mouse cursor 300 और 400 के बीच ले जायेंगे तो servo की position 120° होगी 

Circuit-Servo को हमेशा pwm pin के साथ ही connect करें 

  • servo motor की yallow pin को arduino uno की pwm pin 11 से connect करें
  • servo motor की  red pin Arduino uno की 5v pin से connect करें 
  • servo motor की black या brown pin को Arduino uno की Gnd pin से connect करें  



Arduino&Processing GUI programming (Gui servo control)


 arduino की programming पहले है जिसे अपने arduino में upload करें और इसके नीचे Mouse Gui create करने के लिए processing का program दिया है 

Arduino Programming-



/*created by mechanic37
 servo control-GUI
 www.mechanic37.com
 attach servo to pwm pin 11 */
#include<Servo.h>
Servo m1servo;
void setup()
{
Serial.begin(9600); // Initialize Serial Communitication
m1servo.attach(11);
 }
 void loop()
 {
 if (Serial.available() > 0) { int data = Serial.read();
 switch (data) {
 case '1': //Number 1 is received
 m1servo.write(30);
 break;
 case '2' : //Number 2 is received,
 m1servo.write(60);
 break;
 case '3' : //Number 3 is received,
 m1servo.write(90);
 break;
case '4' : //Number 4 is received,
 m1servo.write(120);
 break;
 default :

 break; } } }


processing GUI Programming-

Mouse के लिए GU Interface create करने के लिए processing में इस code को paste करें और play icon पर click करें तो ऐसीं gui window create होंगी 











*created by mechanic37
 servo control-GUI
 www.mechanic37.com
 */
import processing.serial.*; 
Serial port;                      
 int r,g,b;
void setup() { 
  size(400,150); 
  r = 0; 
  g = 0;
  b = 0;
  
  frameRate(10); 
  port = new Serial(this, 9600); 
  int a,b;

  void draw() {
  stroke(0);
  rect(0,0,300,100);
  background(#FFFFFF);
 if (mouseX < 100) {
    fill(#8DD652);
     rect(0,0,100,100);
     port.write('1');

  else if(mouseX < 200) {
    fill(#8DD652);
    rect(100,0,100,100);
    port.write('2');
}
  else if(mouseX <300 ){
    fill(#8DD652);
    rect(200,0,100,100);
    port.write('3');
}
 else if(mouseX <400){
   fill(#8DD652);
   rect(300,0,100,100);
   port.write('4');
}
rect(80,100,200,60);
textSize(25);
fill(#26460D);
text("30°",30,60);
text("60°",130,60);
text("90°",230,60);
text("120°",330,60);
text("Mechaic37GUI",100,140);

}

Comments

  1. I really liked the writings.It's very appreciable,I must say. Have you heard about best ergonomic mouse pad for efficiency ? I recently came to know about it from a social communication site.I came to know that it makes your time and work more fast, efficient and provides you an effective time.

    ReplyDelete
  2. No doubt this is an excellent post I got a lot of knowledge after reading good luck. Theme of blog is excellent there is almost everything to read, Brilliant post. custom mouse pads

    ReplyDelete

Post a Comment

1.जिस language में Page है उसी में Comment या Question करें जिससे सभी Users की help हो
2.Page के Title से Related Question करें
3.Page को अच्छी तरह Read करें उसके बाद Question करें
4.एक ही comment एक से ज्यादा बार न करें