SHOW:
|
|
- or go back to the newest paste.
1 | import gifAnimation.*; | |
2 | import processing.serial.*; | |
3 | ||
4 | int lf = 10; // Linefeed in ASCII | |
5 | String myString = null; | |
6 | Serial myPort; // The serial port | |
7 | PImage imgGreen; | |
8 | PImage imgRed; | |
9 | PImage wallpaper; | |
10 | ||
11 | boolean LimitSwitchVerticalAxisReached = false; | |
12 | boolean LimitSwitchHorizontalAxisReached = false; | |
13 | boolean LimitSwitchRotaryAxisReached = false; | |
14 | boolean jsonFlag = false; | |
15 | ||
16 | void setup() { | |
17 | fullScreen(); | |
18 | myPort = new Serial(this, Serial.list()[0], 9600); | |
19 | myPort.clear(); | |
20 | imgGreen = loadImage("greenEggSmall.png"); | |
21 | imgRed = loadImage("redEggSmall.png"); | |
22 | wallpaper = loadImage("Wallpaper4.jpg"); | |
23 | ||
24 | void draw() { | |
25 | background(wallpaper); | |
26 | ||
27 | // Grey Background for "Home Position Finished" | |
28 | fill(229, 229, 229, 100); | |
29 | stroke(0, 0, 0, 100); | |
30 | rect(90, 955, 520, 70, 20); | |
31 | ||
32 | // Grey Background for "Limit Switch Horizontal Axis" | |
33 | fill(229, 229, 229, 100); | |
34 | stroke(0, 0, 0, 100); | |
35 | rect(90, 855, 520, 70, 20); | |
36 | ||
37 | // Grey Background for "Limit Switch Rotary Axis" | |
38 | fill(229, 229, 229, 100); | |
39 | stroke(0, 0, 0, 100); | |
40 | rect(90, 755, 520, 70, 20); | |
41 | ||
42 | // Grey Background for "Limit Switch Vertical Axis" | |
43 | fill(229, 229, 229, 100); | |
44 | stroke(0, 0, 0, 100); | |
45 | rect(90, 655, 520, 70, 20); | |
46 | ||
47 | // Grey Background for "Motor-X Running" | |
48 | fill(229, 229, 229, 100); | |
49 | stroke(0, 0, 0, 100); | |
50 | rect(700, 655, 390, 70, 20); | |
51 | ||
52 | // Grey Background for "Motor-Y Running" | |
53 | fill(229, 229, 229, 100); | |
54 | stroke(0, 0, 0, 100); | |
55 | rect(700, 755, 390, 70, 20); | |
56 | ||
57 | // Grey Background for "Motor-Z Running" | |
58 | fill(229, 229, 229, 100); | |
59 | stroke(0, 0, 0, 100); | |
60 | rect(700, 855, 390, 70, 20); | |
61 | ||
62 | while (myPort.available() > 0) { | |
63 | String myString = myPort.readStringUntil('}'); | |
64 | ||
65 | if (myString != null) { | |
66 | println(myString); | |
67 | String subString = null; | |
68 | ||
69 | if (myString.length() > 8) { | |
70 | subString = myString.substring(4, 8); | |
71 | } else { | |
72 | subString = "defaultString"; | |
73 | } | |
74 | ||
75 | if (subString.equals("ArdC") == true) { | |
76 | jsonFlag = true; | |
77 | } else { | |
78 | jsonFlag = false; | |
79 | } | |
80 | ||
81 | if (jsonFlag == true) { | |
82 | try { | |
83 | JSONObject json = JSONObject.parse(myString); | |
84 | String vArduinoConnected = json.getString("ArdC"); | |
85 | String btnXForward = json.getString("XF"); | |
86 | String btnXDownward= json.getString("XD"); | |
87 | String btnYLeft= json.getString("YL"); | |
88 | String btnYRight= json.getString("YR"); | |
89 | String btnZUp= json.getString("ZU"); | |
90 | String btnZDown= json.getString("ZD"); | |
91 | String btnInitialise= json.getString("Init"); | |
92 | String LimitSwitchRotary = json.getString("LimR"); | |
93 | String LimitSwitchHorizontal = json.getString("LimH"); | |
94 | String LimitSwitchVertical = json.getString("LimV"); | |
95 | println(btnXForward); | |
96 | ||
97 | if (LimitSwitchHorizontal.equals("1") == true) { | |
98 | image(imgGreen, 550, 865); | |
99 | LimitSwitchHorizontalAxisReached = true; | |
100 | - | } else if (LimitSwitchHorizontal.equals("1") == false) { |
100 | + | } else { |
101 | image(imgRed, 550, 865); | |
102 | LimitSwitchHorizontalAxisReached = false; | |
103 | } | |
104 | ||
105 | if (LimitSwitchRotary.equals("1") == true) { | |
106 | image(imgGreen, 550, 765); | |
107 | LimitSwitchRotaryAxisReached = true; | |
108 | - | } else if (LimitSwitchRotary.equals("1") == false) { |
108 | + | } else { |
109 | image(imgRed, 550, 765); | |
110 | LimitSwitchRotaryAxisReached = false; | |
111 | } | |
112 | ||
113 | if (LimitSwitchVertical.equals("1") == true) { | |
114 | image(imgGreen, 550, 665); | |
115 | LimitSwitchVerticalAxisReached = true; | |
116 | - | } else if(LimitSwitchVertical.equals("1") == false) { |
116 | + | } else { |
117 | image(imgRed, 550, 665); | |
118 | LimitSwitchVerticalAxisReached = false; | |
119 | } | |
120 | ||
121 | if (btnXForward.equals("1") == true || btnXDownward.equals("1") == true) { | |
122 | image(imgGreen, 1030, 665); | |
123 | - | } else if(btnXForward.equals("1") == false || btnXDownward.equals("1") == false) { |
123 | + | } else { |
124 | image(imgRed, 1030, 665); | |
125 | } | |
126 | ||
127 | if (btnYLeft.equals("1") == true || btnYRight.equals("1") == true) { | |
128 | image(imgGreen, 1030, 765); | |
129 | - | } else if(btnYLeft.equals("1") == false || btnYRight.equals("1") == false) { |
129 | + | } else { |
130 | image(imgRed, 1030, 765); | |
131 | } | |
132 | ||
133 | if (btnZUp.equals("1") == true || btnZDown.equals("1") == true) { | |
134 | image(imgGreen, 1030, 865); | |
135 | - | } else if(btnZUp.equals("1") == false || btnZDown.equals("1") == false){ |
135 | + | } else { |
136 | image(imgRed, 1030, 865); | |
137 | } | |
138 | ||
139 | if (LimitSwitchHorizontalAxisReached && LimitSwitchRotaryAxisReached && LimitSwitchVerticalAxisReached) { | |
140 | image(imgGreen, 550, 965); | |
141 | - | } else if(LimitSwitchHorizontalAxisReached == false || LimitSwitchRotaryAxisReached == false || LimitSwitchVerticalAxisReached == false) { |
141 | + | } else { |
142 | image(imgRed, 550, 965); | |
143 | } | |
144 | } | |
145 | ||
146 | catch (Exception e) { | |
147 | println("An error occured, while trying to parse the jSon object."); | |
148 | } | |
149 | } | |
150 | ||
151 | textSize(30); | |
152 | fill(255, 255, 255); | |
153 | text("Home Position Finished", 110, 1000); | |
154 | ||
155 | fill(255, 255, 255); | |
156 | text("Limit Switch Horizontal Axis", 110, 900); | |
157 | ||
158 | fill(255, 255, 255); | |
159 | text("Limit Switch Rotary Axis", 110, 800); | |
160 | ||
161 | fill(255, 255, 255); | |
162 | text("Limit Switch Vertical Axis", 110, 700); | |
163 | ||
164 | fill(255, 255, 255); | |
165 | text("Motor-X Running", 720, 700); | |
166 | ||
167 | fill(255, 255, 255); | |
168 | text("Motor-Y Running", 720, 800); | |
169 | ||
170 | fill(255, 255, 255); | |
171 | text("Motor-Z Running", 720, 900); | |
172 | ||
173 | textSize(40); | |
174 | fill(255, 255, 255); | |
175 | text("Motor Direction", 1200, 600); | |
176 | } | |
177 | } | |
178 | } |