mercredi 8 juillet 2015

Comment réaliser un radar avec arduino et processing


  • List des partie utilisée dans le projet:  


arduino UNO
Une carte arduino(je vous recommande une  uno);

ultrasonic sensor hc-sr04
Un Ultrason


Résultat de recherche d'images pour "servomoteur"
Un servomoteur


Une plaque d'essaie
Résultat de recherche d'images pour "fils electrique arduino"
Des fils électrique mâle mâle &mâle femelle
Du contre plaqué pour l’assemblage
Résultat de recherche d'images pour "vis"
Des vis pour l'attachement

  • Schéma de principe:

wiring diagram

  • Code pour Arduino et pour processing:

  • Code arduino:(ci-dessous )


#define ECHOPIN 7        // Pin pour recevoir impulsion d'écho
#define TRIGPIN 8
#include <Servo.h>

Servo myservo; // Créer un objet d'asservissement pour contrôler un servomoteur
int pos = 0; /
void setup() {
 Serial.begin(9600); 

  myservo.attach(9);
  pinMode(3,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(13,INPUT);
  pinMode(ECHOPIN, INPUT); 
  pinMode(TRIGPIN, OUTPUT); 
}

void Print (int R , int T)
{
   Serial.print(R);Serial.print(", ");
   Serial.print(T);Serial.println(".");
   delay(100);
}

float Distance () {
  
  digitalWrite(TRIGPIN, LOW); 
  delayMicroseconds(2); 
  digitalWrite(TRIGPIN, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(TRIGPIN, LOW);
  // Distance Calculation
  
  float distance = pulseIn(ECHOPIN, HIGH); 
  distance= distance/58; 
  return(distance);
}

void loop() {
  
      myservo.write(45); 
 
  delay(2000);
  
  
  for(pos = 45; pos <= 135; pos += 3) 
  { // in steps of 1 degree
    myservo.write(pos); 
  Print(Distance() , pos);    
    delay(10); 
  }
  delay(1000);
    
    
  for(pos = 135; pos>=45; pos-=3) 
  {
    myservo.write(pos); 
      Print(Distance() , pos);    

    delay(10); // waits 15ms for the servo to reach the position
  }  
  

  
}


  • Code processing:(ci-dessous)

import processing.serial.*;
Serial port;
Serial port2;
String data = "";
String Radius = "";
String Theta = "";
int index = 0;
float distance = 0;
float angle = 0;
float pi = 22.0/7;

void setup() 
{
 
 size(1000,1000);
 background(255,255,255);
  ellipse(500,500,1000,1000);
 line(500,0,500,1000);
 line(0,500,1000,500);
 line(500,500,1000,0);
 line(500,500,0,0);

port = new Serial(this, "COM6", 9600);
port.bufferUntil('.');
}

void draw()

{


}

void serialEvent(Serial port)
{

  data = port.readStringUntil('.');
  data = data.substring(0, data.length() - 1);  
  index = data.indexOf(",");
  Radius = data.substring(0, index);
  Theta = data.substring (index+1 , data.length());
  
   translate(500,500);
   point (0,0);
   
      distance = float(Radius); 
      angle = float(Theta) /180 * pi; 
      fill(30,200,30);
      ellipse(distance * cos(angle) ,  -1 * distance * sin(angle) , 5,5);


}




3 commentaires:

  1. C'est quoi le code "processing" ? Ou le met-on ? Ou le coller ? Faut-il un autre logiciel ?
    Et avec quoi peut-on avoir le retour graphique du radar ( image sur moniteur avec ligne vas et viens de 180° rotation avec distance et objects détecté ? Merci l'ami ;)

    RépondreSupprimer
    Réponses
    1. Bonjour et désolé pour le grand retard ;)

      ‘Processing’ est une application que vous pouvez installer facilement par internet, et puis, vous pourrez y mettre le code. La même application vous donnera « le retour graphique » quand vous aurez branché votre ordinateur à votre carte arduino ou le code arduino a déjà été téléchargé.

      Ce projet est très cool et je vous recommande vivement de l’essayer !
      Je l’avais appris en 2eme année scolaire du collège et partagé sur le web quand j’avais seulement 13 ans, et je suis sincèrement désolé pour la réponse retardée.

      Vous pouvez également trouver le Project sur YouTube refait plus récemment si vous trouvez mon blog difficile à suivre ^^

      Amusez-vous bien ^_^

      Supprimer
  2. Casino Site Review 2021 - LuckyClub.live
    Casino Site Review 2021. This online casino luckyclub has an assortment of casino games and a lot of options to choose from. The most important thing about  Rating: 3 · ‎Review by LuckyClub.live

    RépondreSupprimer