Código
- Código de sonar para IDE arduino
- Código de sonar para processamento de IDE
Código de sonar para arduino IDE C / C ++
#include const int trigPin =12; const int echoPin =11; longa duração; distância interna; Servo s1; void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); s1.attach (9);} void loop () {for (int i =0; i <180; i =i + 1) {s1.write (i); atraso (30); distância =calDist (); Serial.print (i); Serial.print (","); Serial.print (distância); Serial.print ("."); } para (int i =180; i> 0; i =i-1) {s1.write (i); atraso (30); distância =calDist (); Serial.print (i); Serial.print (","); Serial.print (distância); Serial.print ("."); }} int calDist () {digitalWrite (trigPin, LOW); atrasoMicrosegundos (2); digitalWrite (trigPin, HIGH); atrasoMicrosegundos (10); digitalWrite (trigPin, LOW); duração =pulseIn (echoPin, HIGH); distância =duração * 0,034 / 2; distância de retorno;}
Código de sonar para processamento de IDE Java
import processing.serial. *; Serial myPort; String ang =""; String distance =""; String data =""; ângulo interno, dist; void setup () {size (2000.800); myPort =novo Serial (este, "COM3", 9600); myPort.bufferUntil ('.'); background (0);} void draw () {fill (0,5); noStroke (); rect (0, 0, largura, altura * 0,93); noStroke (); encher (0,255); rect (0, altura * 0,93, largura, altura); drawRadar (); desenhar linha(); drawObject (); drawText ();} void serialEvent (Serial myPort) {data =myPort.readStringUntil ('.'); data =data.substring (0, data.length () - 1); int index1 =data.indexOf (","); ang =data.substring (0, índice1); distance =data.substring (index1 + 1, data.length ()); ângulo =int (ang); dist =int (distância); System.out.println (ângulo);} void drawRadar () {pushMatrix (); Sem preenchimento(); strokeWeight (0,5); curso (10,255,10); traduzir (largura / 2, altura-altura * 0,06); linha (-largura / 2,0, largura / 2,0); arco (0,0, (largura * 0,5), (largura * 0,5), PI, TWO_PI); arco (0,0, (largura * 0,25), (largura * 0,25), PI, TWO_PI); arco (0,0, (largura * 0,75), (largura * 0,75), PI, TWO_PI); arco (0,0, (largura * 0,95), (largura * 0,95), PI, TWO_PI); linha (0,0, (- largura / 2) * cos (radianos (30)), (- largura / 2) * sin (radianos (30))); linha (0,0, (- largura / 2) * cos (radianos (60)), (- largura / 2) * sen (radianos (60))); linha (0,0, (- largura / 2) * cos (radianos (90)), (- largura / 2) * sin (radianos (90))); linha (0,0, (- largura / 2) * cos (radianos (120)), (- largura / 2) * sen (radianos (120))); linha (0,0, (- largura / 2) * cos (radianos (150)), (- largura / 2) * sin (radianos (150))); curso (175,255,175); linha (0,0, (- largura / 2) * cos (radianos (15)), (- largura / 2) * sin (radianos (15))); linha (0,0, (- largura / 2) * cos (radianos (45)), (- largura / 2) * sin (radianos (45))); linha (0,0, (- largura / 2) * cos (radianos (75)), (- largura / 2) * sin (radianos (75))); linha (0,0, (- largura / 2) * cos (radianos (105)), (- largura / 2) * sin (radianos (105))); linha (0,0, (- largura / 2) * cos (radianos (135)), (- largura / 2) * sen (radianos (135))); linha (0,0, (- largura / 2) * cos (radianos (165)), (- largura / 2) * sen (radianos (165))); popMatrix ();} void drawLine () {pushMatrix (); strokeWeight (9); curso (0,255,0); traduzir (largura / 2, altura-altura * 0,06); linha (0,0, (largura / 2) * cos (radianos (ângulo)), (- largura / 2) * sin (radianos (ângulo))); popMatrix ();} void drawObject () {pushMatrix (); strokeWeight (9); curso (255,0,0); traduzir (largura / 2, altura-altura * 0,06); float pixleDist =(dist / 40,0) * (largura / 2,0); float pd =(largura / 2) -pixleDist; float x =-pixleDist * cos (radianos (ângulo)); float y =-pixleDist * sin (radianos (ângulo)); if (dist <=40) {linha (-x, y, -x + (pd * cos (radianos (ângulo))), y- (pd * sin (radianos (ângulo)))); } popMatrix ();} void drawText () {pushMatrix (); preencher (100.200.255); textSize (25); texto ("10 cm", (largura / 2) + (largura * 0,115), altura * 0,93); texto ("20 cm", (largura / 2) + (largura * 0,24), altura * 0,93); texto ("30 cm", (largura / 2) + (largura * 0,365), altura * 0,93); texto ("40cm", (largura / 2) + (largura * 0,45), altura * 0,93); if (dist <=40) {text ("Distância:" + dist, largura * 0,7, altura * 0,99); } traduzir (largura / 2, altura-altura * 0,06); textSize (25); texto ("30", (largura / 2) * cos (radianos (30)), (- largura / 2) * sin (radianos (30))); texto ("60", (largura / 2) * cos (radianos (60)), (- largura / 2) * sin (radianos (60))); texto ("90", (largura / 2) * cos (radianos (91)), (- largura / 2) * sin (radianos (90))); texto ("120", (largura / 2) * cos (radianos (123)), (- largura / 2) * sin (radianos (118))); texto ("150", (largura / 2) * cos (radianos (160)), (- largura / 2) * sin (radianos (150))); popMatrix (); }