Arduino - AYUDA POR FAVOOOR

 
Vista:

AYUDA POR FAVOOOR

Publicado por carla31797 (1 intervención) el 11/06/2017 12:52:53
Buenas chicos, soy nueva tanto en Arduino como en Processing. Lo que necesito es que Processing interactúe con Arduino de forma que cuando un sensor ultrasónico detecte una distancia de 100 cm, suene un buzzer. A su vez que el buzzer, deje de sonar cuando se descuelga un teléfono analógico( que el interruptor no esté presionado). Por último cuando se descuelga el teléfono (interruptor no presionado) debe suceder algo en Processing (conjunto de líneas y formas). No tengo ni idea de comunicación serial. Si alguien me puede ayudar.
Tengo los siguientes códigos que funcionan por separado.

ARDUINO (SENSOR E INTERRUPTOR)


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
const int Trigger=5;
const int Echo= 12;
int timbre=10;
int interruptor=8;
 
 
void setup() {
 
Serial.begin(9600);
pinMode(Trigger,OUTPUT);
pinMode(Echo,INPUT);
pinMode(timbre,OUTPUT);
pinMode(interruptor,INPUT);
}
void loop() {
long tiempo, distancia;
digitalWrite(Trigger,LOW);
delayMicroseconds(2);
digitalWrite(Trigger,HIGH);
delayMicroseconds(10);
digitalWrite(Trigger,LOW);
digitalWrite(timbre,LOW);
digitalWrite(interruptor,HIGH);
 
tiempo=pulseIn(Echo, HIGH);
distancia= (tiempo/2) /29;
 
Serial.print(distancia);
Serial.println("cn");
delay(500);
 
int tlf=digitalRead(interruptor);
 
if((distancia<100 && tlf==1)){
timbre==HIGH;
tone(timbre,600);
delay(100);
tone(timbre,300);
delay(100);
tone(timbre,600);
delay(100);
tone(timbre,300);
delay(100);
tone(timbre,600);
delay(100);
tone(timbre,400);
delay(300);
noTone(timbre);
delay(1000);
}
else{
digitalWrite(timbre,LOW);
}
 
 
}



PROCESSING (CONJUNTO DE FORMAS)




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
float angulo=0;
float angle=0;
float a=0;
float b=0;
 
void setup(){
  size(1000,1000);
  background(0);
}
 
void draw(){
 fill(0,70);
  noStroke();
  rect(0,0,height,width);
  noFill();
  stroke(255);
 translate(300,300);
 
 
    if(mousePressed){
 
 
 
  for(float i=0; i<width; i=i+10){
 stroke(255);
translate(500,500);
angulo=angulo+0.000005;
rotate(angulo+0.000005);
ellipse(i,0,3,3);
line(i,0,0,0);
 
  }
  resetMatrix();
 
 
for(float a=0; a<height; a=a+10){
  translate(600,600);
angle=angle-0.000005;
rotate(angle-0.000005);
ellipse(a,0,3,3);
line(a,0,0,0);
}
 
  resetMatrix();
 
  for(float t=0; t<height; t=t+10){
  translate(500,500);
angle=angle-0.000006;
rotate(angle-0.000006);
stroke(255,133,78);
ellipse(t,0,3,3);
line(t,0,0,0);
  }
 
  }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder