Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Processing --> Arduino

Pagina: 1
Acties:

  • Tommmm15
  • Registratie: September 2011
  • Laatst online: 07-05 21:21
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 :F

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);
    }
  }

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Wat is je vraag? En hoe je die lap code in zo'n "venster" krijgt staat gewoon in de uitleg die je kunt krijgen bij het plaatsen van een nieuw topic: Overzicht van UBB-codes

  • Tommmm15
  • Registratie: September 2011
  • Laatst online: 07-05 21:21
Ik heb nu een processing sketch die ervoor zorgt dat er ballen (wat nu nog een lijn is) naar beneden vallen. Ik wil dat er een signaal naar de arduino code wordt gestuurd als een bal die valt de ellipse raakt die ik getekend heb. Dus iets met if collision sphere1Dropper met ellipse(45, 875, 45, 45) dan serial.write(1).

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
En dat moeten wij voor je uitzoeken?

Engineering is like Tetris. Succes disappears and errors accumulate.


  • Tommmm15
  • Registratie: September 2011
  • Laatst online: 07-05 21:21
Ja nou ja ik kon op internet niets vinden en kwam er maar niet uit. Ik dacht misschien dat een van jullie die syntax weet..

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Als uitzoeken hoe de [code] tag werkt al teveel werk voor je is ga je het ver schoppen in de IT.

https://niels.nu


  • Devilly
  • Registratie: Januari 2009
  • Niet online
Hydra schreef op woensdag 09 januari 2013 @ 11:39:
Als uitzoeken hoe de [code] tag werkt al teveel werk voor je is ga je het ver schoppen in de IT.
Afbeeldingslocatie: http://www.humordevil.com/wp-content/uploads/2012/06/sheldon.png

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Een beetje dimmen mag wel, jongens.

Tommmm15, laten we even bij het begin beginnen. Ik weet dat je code hebt gepost, maar daarmee leg je niet uit wat jou precies niet lukt. Ik neem aan dat je niet meer nodig hebt dan een controle op de y-positie van elke sphere en wanneer die binnen een bepaalde range zit, je je code in een speciale state wil laten komen. Dan ben je er toch met een if (i < x && i > y) waarbij x en y de ranges zijn waarbinnen je event moet optreden?

Overigens, wat betreft je numerieke functienamen: DRY. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1