Projet ICN robot sonore A.T.A 2017/2018

De Informatique et Création Numérique
(Différences entre les versions)
Aller à : Navigation, rechercher
(2. Montage du micro)
 
(37 révisions intermédiaires par 4 utilisateurs sont masquées)

Version actuelle en date du 6 juin 2018 à 13:42

Bienvenue sur la page de Projet ICN robot sonore A.T.A 2017/2018 robot calmant !!!

Sommaire

[modifier] Participants

  • Antoine BUGNER
  • Alexandre DELAHAYE
  • Tinaël DELZENNE-ZAMPARUTTI


[modifier] Le robot

Donc le but de ce robot est simple : juste détecter les zones où il y a du bruits, et enclencher une enceinte disant à la personne ou à la zone du bruit quelque chose... C'est un robot unique au monde et donc nous sommes heureux de vous le présenter.

[modifier] Circuit imprimé

Voici le circuit imprimé utilisé pour le robot sonore, ou calmant


(thumbnail)
Le circuit imprimé


Voici le fichier .fzz pour ceux qui voudrait voir comment nous avons procéder. Media:Projet ICN A.T.A.fzz

[modifier] Les composants du robot :

[modifier] Le micro


[modifier] Plaquette d'essais et plaquette pololu md08

Plaquette avec pololu md08 et donc plusieurs fils qui permettent le bon fonctionnement de l'appareil.


Bien sur, étant donner que c'est quand même beaucoup plus simple d'enlever les fils, nous avons remplacer tous ça avec une carte arduino ou tous les fils sont remplacés par des circuits gravé sur une plaque de cuivre. On appelle ça "bouclier".


[modifier] Carte Arduino Uno

Voici la carte principale donc l'Arduino Uno qui est donc la base de la commande du robot.

(thumbnail)
Voici la carte Arduino qui permet le bon fonctionnement de l'appareil. Fichier pour plus de précision : Media:Projet ICN A.T.A.fzz


[modifier] Les étapes du montage du robot

[modifier] Première étape : Faire que le robot puisse rouler. 1.

Montage du robot, manque de matériel, nous n'avons pas pus prendre de photos de la construction. Mais après cela, nous avons terminé le montage du robot mais sans la carte arduino et la plaquette avec la pololu md08

[modifier] 1e. 2.

Position des fils sur le logiciel fritzing, puis créations de la carte via informatique : Voici le fichier : Media:Projet ICN A.T.A.fzz

(thumbnail)
donc voici le circuit imprimé finalisé version informatique


[modifier] 1e. 3.

Création du "bouclier" donc de la plaque de cuivre avec tous les systèmes.

(thumbnail)
Donc le "bouclier"


[modifier] 1e. 4. La soudure !


[modifier] 1e. 5. Etape terminée !!!

C'est bon, la carte est terminé, il faut plus que nous la relions sur la base arduino et le moteur pourra être en état fonctionnel.

(thumbnail)
Voici le bouclier terminé avec toutes les soudures.


[modifier] 2. Montage du micro

[modifier] Test du micro

Nous devons mettre le micro sur la plaque d'essai pour le tester.

[modifier] Support micro

Voici les differentes versions de support:

[modifier] 2. fonctionnement du micro

[modifier] Les programmes

Voici le programme arduino qui permet de faire marcher les moteurs du robot et donc pouvoir le contrôler et faire bouger ce robot


 int pwmB = 11;
 int bin2 = 13;
 int bin1 = 12;
 int stby = 8;
 int ain1 = 7;
 int ain2 = 4;
 int pwmA = 3;
 void avancer(void)//Déclare la fonction qui fait avancer le robot
 {
   Serial.println("Avant");
   digitalWrite(ain1, HIGH);//Lance le courant
   digitalWrite(ain2, LOW);
   digitalWrite(stby, HIGH);
   digitalWrite(bin1, HIGH);
   digitalWrite(bin2, LOW);
   analogWrite(pwmA, 131.125);//Donne la puissance du moteur 1
   analogWrite(pwmB, 125);//Donne la puissance du moteur 2 (pour qu'il aille droit)
 }

 void tour(void) //Déclare la fonction qui fait effectuer un tour au robot
 {
   Serial.println("Tour");
   digitalWrite(ain1, LOW);//Lance le courant...
   digitalWrite(ain2, HIGH);//et fait en sorte qu'un des moteurs tourne a l'envers pour que le robot tourne sur lui-même
   digitalWrite(stby, HIGH);
   digitalWrite(bin1, HIGH);
   digitalWrite(bin2, LOW);
   analogWrite(pwmA, 131.125);//Donne la puissance du moteur 1
   analogWrite(pwmB, 125);//Donne la puissance du moteur 2 
   delay(3750);//Donne le temps durant lequel le robot va tourner sur lui-même
   digitalWrite(stby, LOW);//arrête les moteurs
 }

 void demitour(void)
 {
   Serial.println("Tour");
   digitalWrite(ain1, LOW);
   digitalWrite(ain2, HIGH);
   digitalWrite(stby, HIGH);
   digitalWrite(bin1, HIGH);
   digitalWrite(bin2, LOW);
   analogWrite(pwmA, 131.125);
   analogWrite(pwmB, 125);
   delay(890);
   digitalWrite(stby, LOW);
 }

 void quarttour(void)
 {
   Serial.println("Tour");
   digitalWrite(ain1, LOW);
   digitalWrite(ain2, HIGH);
   digitalWrite(stby, HIGH);
   digitalWrite(bin1, HIGH);
   digitalWrite(bin2, LOW);
   analogWrite(pwmA, 131.125);
   analogWrite(pwmB, 125);
   delay(450);
   digitalWrite(stby, LOW);
 }

 void setup()
 {
   Serial.begin(9600);
   pinMode(pwmB, OUTPUT);
   pinMode(bin2, OUTPUT);
   pinMode(bin1, OUTPUT);
   pinMode(stby, OUTPUT);
   pinMode(ain1, OUTPUT);
   pinMode(ain2, OUTPUT);
   pinMode(pwmA, OUTPUT);
   tour(); // Exécute la fonction du tour
   avancer();
   demitour();
   avancer(); 
   tour();
 }

 void loop()
 {
 }

Voici le programme arduino qui permet de faire marcher les moteurs du robot et donc pouvoir le contrôler et faire bouger ce robot

const int capteur1 =A0;// pin connecté à la sortie digital du micro L
const int capteur2 =A1;// pin connecté à la sortie digital du micro R
const int LED1 =12;// pin connecté à la LED RED + resistance
const int LED2 =13;// pin connecté à la LED GREEN + resistance

void setup()
{
  pinMode(capteur1, INPUT);//Déclare le micro 1
  pinMode(capteur2, INPUT);//Déclare le micro 2
  pinMode(LED1, OUTPUT);//Déclare la led 1
  pinMode(LED2, OUTPUT);//Déclare la led 2
  Serial.begin (9600);
}

void loop()
 int v1 = analogRead(capteur1);//Déclare la variable du volume capté et met cette variable au niveau du volume capté par le micro 1
 int v2 = analogRead(capteur2);//Déclare la variable du volume capté et met cette variable au niveau du volume capté par le micro 2
 if (v1>8)//si le volume est superieur a 8, la led s'allume
 {
   Serial.println(v1);
   digitalWrite(LED1, HIGH);// Eteindre la LED
   delay(100);// Temps de traitement
   digitalWrite(LED1, LOW);
   delay(100);
 }
 if (v2>10)
 {
   Serial.println(v2);
   digitalWrite(LED2, HIGH);// Eteindre la LED
   delay(100);// Temps de traitement
   digitalWrite(LED2, LOW);
   delay(100);
 }
}
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Outils