Voor een project op school moet ik een programma maken dat processing en arduino koppelt. Ik wil dat mijn processing sketch een signaal naar de arduino code stuurt wanneer de vallende cirkels(nu nog een lijn?) de ellipses onderaan raken. Guitar Hero zeg maar.
Sorry dat de code niet in zo'n venster zit maar heb geen idee hoe dat werkt
Arduino code:
Processing code:
Sorry dat de code niet in zo'n venster zit maar heb geen idee hoe dat werkt
Arduino code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| float incoming;
int ledPin8 = 8;
int ledPin9 = 9;
int ledPin10 = 10;
int ledPin11 = 11;
int ledPin12 = 12;
int buttonState2 = 2;
int buttonState3 = 3;
int buttonState4 = 4;
int buttonState5 = 5;
int buttonState6 = 6;
const int buttonPin2 = 2;
const int buttonPin3 = 3;
const int buttonPin4 = 4;
const int buttonPin5 = 5;
const int buttonPin6 = 6;
void setup() {
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(buttonState2, INPUT);
pinMode(buttonState3, INPUT);
pinMode(buttonState4, INPUT);
pinMode(buttonState5, INPUT);
pinMode(buttonState6, INPUT);
Serial.begin(9600);
}
void loop(){
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin2);
buttonState4 = digitalRead(buttonPin2);
buttonState5 = digitalRead(buttonPin2);
buttonState6 = digitalRead(buttonPin3);
if(Serial.available() > 0){
incoming = Serial.read();
Serial.print(incoming,DEC);
if (buttonState2 == HIGH && incoming == 1) {
digitalWrite(ledPin8, HIGH);
}
if (buttonState3 == HIGH && incoming == 1) {
digitalWrite(ledPin9, HIGH);
}
if (buttonState4 == HIGH && incoming == 1) {
digitalWrite(ledPin10, HIGH);
}
if (buttonState5 == HIGH && incoming == 1) {
digitalWrite(ledPin11, HIGH);
}
if (buttonState6 == HIGH && incoming == 1) {
digitalWrite(ledPin12, HIGH);
}
}
} |
Processing code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
| import processing.serial.*;
int[] sphereYCoords = { 0, 0, 0, 0, 0 };
import processing.serial.*;
Serial port;
int val = 0;
float sphere1Dropper;
float sphere2Dropper;
float sphere3Dropper;
float sphere4Dropper;
float sphere5Dropper;
void setup(){
size(450,1000);
background(0);
smooth();
String portName = Serial.list()[0];
port = new Serial(this, portName, 9600);
}
void draw(){
beginShape();
stroke(255);
strokeWeight(1);
line(90, 0, 90, 1900);
line(180, 0, 180, 1900);
line(270, 0, 270, 1900);
line(360, 0, 360, 1900);
line(0, 250, 450, 250);
line(0, 500, 450, 500);
line(0, 750, 450, 750);
line(0, 1000, 450, 1000);
endShape();
sphere1Dropper();
sphere2Dropper();
sphere3Dropper();
sphere4Dropper();
sphere5Dropper();
beginShape();
fill(255);
strokeWeight(2);
stroke(51,204,0);
ellipse(45, 875, 45, 45);
stroke(255,0,0);
ellipse(135, 875, 45, 45);
stroke(255,255,0);
ellipse(225, 875, 45, 45);
stroke(0,0,255);
ellipse(315, 875, 45, 45);
stroke(153,102,0);
ellipse(405, 875, 45, 45);
endShape();
}
void sphere1Dropper()
{
stroke(51,204,0);
fill(51,204,0);
for (int i=0; i<5; i++)
{
ellipse(45, sphereYCoords[i]++, 30, 30);
}
}
void sphere2Dropper()
{
stroke(255,0,0);
fill(255,0,0);
for (int i=0; i<5; i++)
{
ellipse(135, sphereYCoords[i]++, 30, 30);
}
}
void sphere3Dropper()
{
stroke(255,255,0);
fill(255,255,0);
for (int i=0; i<5; i++)
{
ellipse(225, sphereYCoords[i]++, 30, 30);
}
}
void sphere4Dropper()
{
stroke(0,0,255);
fill(0,0,255);
for (int i=0; i<5; i++)
{
ellipse(315, sphereYCoords[i]++, 30, 30);
}
}
void sphere5Dropper()
{
stroke(153,102,0);
fill(153,102,0);
for (int i=0; i<5; i++)
{
ellipse(405, sphereYCoords[i]++, 30, 30);
}
} |