<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wikigeii.iut-troyes.univ-reims.fr//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Troyesgeii</id>
		<title>troyesGEII - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://wikigeii.iut-troyes.univ-reims.fr//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Troyesgeii"/>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Sp%C3%A9cial:Contributions/Troyesgeii"/>
		<updated>2026-05-11T10:33:40Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capture21.png&amp;diff=6337</id>
		<title>Fichier:Capture21.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capture21.png&amp;diff=6337"/>
				<updated>2015-06-22T23:17:54Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : [mise a jour] doublon a supprimer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[mise a jour] doublon a supprimer&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6336</id>
		<title>Arexx SUPERHEROS</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6336"/>
				<updated>2015-06-22T23:15:55Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Introduction-Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
Au cours du précédent semestre, nous avons eu à concevoir un robot suiveur de ligne sur un châssis Arexx constitué d'une carte capteur et d'une carte gestion. Nous avons également dû réaliser une carte d’adaptation afin de relier directement la carte capteur à une carte ARDUINO. Nous avons aussi écrit des programmes pour tester les capteurs et les LEDs, suite à cela notre projet actuel consiste à écrire un programme permettant de détecter les pannes sur la carte capteur du robot Arexx.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du cahier des charges}}=&lt;br /&gt;
&lt;br /&gt;
♦Créer deux algorithmes permettant de tester le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
♦Possibilité de modification de la carte d'adaptation.&lt;br /&gt;
&lt;br /&gt;
♦Fabrication de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♦ Réalisation des programmes permettant le fonctionnement de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♣ Suite à des imprévus, nous avons dû abandonner la fabrication de la carte gestion et des programmes correspondant.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Planning }}=&lt;br /&gt;
=={{Bleu|Planning prévisionnel }}==&lt;br /&gt;
&lt;br /&gt;
[[Image:taches image.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt image.JPG]]&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Planning de la semaine d’inter-semestre}}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:planning2.JPG]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Carte capteur}}=&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Procédure des tests }}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure manuelle }}==&lt;br /&gt;
Ces tests sont basés sur les programmes réalisés lors du projet inter-semestre précédent, en testant le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[4] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char  ledv[4]={&lt;br /&gt;
  6,7,9,8};  &lt;br /&gt;
char  ledc[4]={&lt;br /&gt;
  4,3,2,5};&lt;br /&gt;
int i;&lt;br /&gt;
void setup(){&lt;br /&gt;
  for (char i = 0; i &amp;lt; 8; i++) pinMode(i+2, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlv(){&lt;br /&gt;
   Serial.println(&amp;quot;Parametrer le moniteur serie en 'Pas de fin de ligne'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledv[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char l=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledv[i],0);&lt;br /&gt;
    if(l==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(l==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlc(){&lt;br /&gt;
  Serial.println(&amp;quot;Utiliser l'objectif de votre smartphone pour voir les capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledc[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char m=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledc[i],0);&lt;br /&gt;
    if(m==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(m==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void tcapteur(){&lt;br /&gt;
  char led[4]={&lt;br /&gt;
    4,3,2,5          };&lt;br /&gt;
  char capt[4]={&lt;br /&gt;
    A2,A3,A1,A0          };&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  analogReference(DEFAULT);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(led[i],0);&lt;br /&gt;
    int mes=analogRead(capt[i]);&lt;br /&gt;
    digitalWrite(led[i],1);&lt;br /&gt;
    delay(5);&lt;br /&gt;
    int mea=analogRead(capt[i]);&lt;br /&gt;
    if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    delay(1000);    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  testlv();&lt;br /&gt;
  testlc();&lt;br /&gt;
  Serial.println(&amp;quot;Verification des capteurs...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  tcapteur();&lt;br /&gt;
   Serial.println(&amp;quot;Appuyer sur une touche pour recommencer les tests&amp;quot;);&lt;br /&gt;
   OK();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure optimisée }}==&lt;br /&gt;
&lt;br /&gt;
Avec cette procédure, les courts-circuits sont détectés, les LEDs et les capteurs sont testés de façon semi-automatique par le programmes ci dessous réalisés lors de notre projet tutorés de ce semestre. l'utilisateur doit seulement déplacer la carte sur différentes surfaces afin de diminuer ou augmenter l'impact des capteurs sur les mesures suivant les besoins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Modification de la carte d'adaptation-Choix de la résistance}}===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:resistancebakir.png]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi une résistance la plus grande possible laissant un courant d'environ 4mA traverser une LED, afin de perturber le moins possible le fonctionnement des LEDs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si Vd=2V&amp;lt;br /&amp;gt;&lt;br /&gt;
U=((5V-Vd)*R)/R+R1 &lt;br /&gt;
= 3R/R+680 = (3*120)/800 &lt;br /&gt;
= 360/800= 0.45V&amp;lt;br /&amp;gt;&lt;br /&gt;
R=U/I = 0.45/4*10^-3=112.5 Ohm.&lt;br /&gt;
On prendra la résistance normalisée 120 Ohm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié la carte d'adaptation en mettant une résistance de 120ohm entre la masse de la carte capteur et la masse de la carte arduino, nous mesurons la tension aux bornes de cette résistance avec l'entrée analogique A4.&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture22.png|cadre|gauche|carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture21.png|cadre|gauche|schéma de la carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Sous-programmes }}===&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des courts-circuits }}====&lt;br /&gt;
Ce test permet de détecter les courts-circuits entre Vcc et la masse.&lt;br /&gt;
&lt;br /&gt;
Si aucune LED n'est allumée et que les capteurs ne sont pas exposés à la lumière, aucun courant ne circule, donc il n'y a aucune tension aux bornes de la résistance de test, si il y a une tension importante, cela signifie qu'il y a un court-circuit entre la masse et l'alimentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  void test_cc(){&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des LEDs }}====&lt;br /&gt;
Ce test permet de détecter un problème ente 2 bornes de la LED , ou si une piste est coupée sur le circuit alimentant la LED . &lt;br /&gt;
&lt;br /&gt;
Pour les LEDs : en fonctionnement normal, la tension aux bornes des LEDs est d'environ 2V, donc la tension aux bornes de notre résistance de test est de ((5-Vd)*Rtest)/(Rtest+R)=(3*120)/(120+680)=0.45V.&lt;br /&gt;
Après la conversion analogique, 0.45V donne la valeur 92.&lt;br /&gt;
&lt;br /&gt;
Pour  les LEDs infrarouges des capteurs : les récepteurs des capteurs créent une tension lorsqu'on allume les LEDs donc la tension aux bornes dépend aussi de la tension aux bornes des photo-transistors. Nous avons observé les variations des 2 tensions en faisant varier la luminosité, afin de trouver une équation linéaire approximant le fonctionnement des capteurs.&lt;br /&gt;
Nous obtenons : U=413 -(20/307) * u2     avec u2 la tension moyenne des capteurs.&lt;br /&gt;
&lt;br /&gt;
Pour limiter l'impact des tensions des capteurs dans les mesures nous placerons les capteurs sur une surface sombre.&lt;br /&gt;
Nous prenons une marge de 25 % dans nos calculs afin d’éviter les problèmes de variations de tensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   char * pos[] = {&amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
  char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
  char ledCNY[4]={ 4,3,2,5 };&lt;br /&gt;
  char capt[4]={ A2,A3,A1,A0};&lt;br /&gt;
  char led[] = {6, 7, 9, 8 };&lt;br /&gt;
&lt;br /&gt;
  void test_led()&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
    OK();&lt;br /&gt;
  &lt;br /&gt;
    //partie LED presence ligne&lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(led[i], HIGH);&lt;br /&gt;
      int val = analogRead(A4);&lt;br /&gt;
      digitalWrite(led[i], LOW);&lt;br /&gt;
      if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    //partie LED CNY&lt;br /&gt;
    &lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      unsigned int u2=0;&lt;br /&gt;
      char an[] = {&lt;br /&gt;
        A0, A1, A2, A3                };&lt;br /&gt;
      digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
      unsigned int u1 = analogRead(A4);&lt;br /&gt;
      for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
      {&lt;br /&gt;
        u2 += analogRead(an[j]);&lt;br /&gt;
      }&lt;br /&gt;
      u2 /= 4;&lt;br /&gt;
      digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
      if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des capteurs }}====&lt;br /&gt;
Permet de détecter un problème dans les capteurs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur fonctionne&lt;br /&gt;
&lt;br /&gt;
Si la LED fonctionne, nous pouvons vérifier le fonctionnement en effectuant une mesure avec la LED allumée et une avec la LED éteinte. Si la mesure avec la LED allumée est supérieure à celle de la LED éteinte, cela signifie que le récepteur fonctionne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la LED ne fonctionne pas, nous remplaçons la LED allumée par un éclairage fort, pour la LED éteinte, nous plaçons les capteurs sur une surface sombre.&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur ne fonctionne pas &lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
   char void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Programme final }}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5}; //adresse des leds des capteurs de gauche à droite &lt;br /&gt;
char capt[4]={A2,A3,A1,A0}; //adresse des capteurs de gauche à droite&lt;br /&gt;
char led[] = {6, 7, 9, 8 }; //adresse des leds de gauche à droite&lt;br /&gt;
&lt;br /&gt;
boolean err=false; //flag passant à l’état vrai si il y'a un disfonctionnement &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot; Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  test_cc(); //test court-circuit&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt(); &lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3])) test_capt_led_HS(); //si au moins une led de capteur ne fonctionne pas on utilise  cette fonction&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  if(err==false) Serial.println(&amp;quot;Aucun probleme&amp;quot;);&lt;br /&gt;
  err==false;&lt;br /&gt;
  Serial.println(&amp;quot;Test termine&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper sur entrer pour recommencer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK() //fonction attendant le caractère retour chariot comme confirmation que l'utilisateur à compris la consigne &lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Amélioration du programme de la procédure optimisée }}==&lt;br /&gt;
Nous avons dévellopé à l'aide de Processing une interface graphique qui faciliterai la recherche de la panne par l'utilisateur, cette interface affiche les problèmes et les consignes comme le moniteur série dans le précédent code, mais elle affiche aussi sur l'image du routage les pistes à vérifier en surbrillance. &lt;br /&gt;
De plus, le programme ne nécessite pas de changement de paramètre, donc peut être utilisé indépendamment &lt;br /&gt;
de Processing. Pour cela nous utilisons la fonction d'exportation de Processing afin de générer une application utilisable sur tout ordinateur.&lt;br /&gt;
Cependant cette methode serait réellement éfficace si toutes les cartes possèdaient le même routage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Partie Arduino&lt;br /&gt;
&lt;br /&gt;
Pour faciliter la communication, le texte envoyé à la liaison série est remplacé par un nombre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5};&lt;br /&gt;
char capt[4]={A2,A3,A1,A0};&lt;br /&gt;
char led[] = { 6, 7, 9, 8};&lt;br /&gt;
&lt;br /&gt;
boolean err=false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  test_cc();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for(int i=0; i&amp;lt;4;i++) led_HS[i]=0;&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt();&lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3]))  test_capt_led_HS();&lt;br /&gt;
&lt;br /&gt;
  if(err==false) Serial.println(26);&lt;br /&gt;
  err=false;&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(25);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;02&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+3);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+7);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+11);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+15);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(23);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(24);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Partie Processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
PImage board;&lt;br /&gt;
PImage cc;&lt;br /&gt;
PImage ledcg;&lt;br /&gt;
PImage ledmg;&lt;br /&gt;
PImage ledmd;&lt;br /&gt;
PImage ledcd;&lt;br /&gt;
PImage CNYcg;&lt;br /&gt;
PImage CNYmg;&lt;br /&gt;
PImage CNYmd;&lt;br /&gt;
PImage CNYcd;&lt;br /&gt;
PImage captcg;&lt;br /&gt;
PImage captmg;&lt;br /&gt;
PImage captmd;&lt;br /&gt;
PImage captcd;&lt;br /&gt;
&lt;br /&gt;
Serial myPort;&lt;br /&gt;
volatile char data[]= new char[255];&lt;br /&gt;
volatile int lecture;&lt;br /&gt;
volatile int i;&lt;br /&gt;
volatile boolean Sel=true;  //flag autorisant le mode de fonctionnement sélection du port série &lt;br /&gt;
volatile boolean Init=false;  //flag autorisant le mode de fonctionnement initialisation du port série &lt;br /&gt;
boolean fct=false;  //flag autorisant le mode de fonctionnement normal &lt;br /&gt;
boolean fin=false;  //flag indiquant la fin du test &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  size(1000, 800);&lt;br /&gt;
  background(100);&lt;br /&gt;
  textSize(20);&lt;br /&gt;
  text(&amp;quot;la touche maj est considérée comme un caractère, pour passer en majuscule, tapez ver.maj. puis backspace&amp;quot;,10,50,1000,100);&lt;br /&gt;
  textSize(32);&lt;br /&gt;
  text(&amp;quot;indiquez le port de la carte&amp;quot;, 10, 150);&lt;br /&gt;
&lt;br /&gt;
  board=loadImage(&amp;quot;imgboard.png&amp;quot;);// sélection et chargement des images&lt;br /&gt;
  cc=loadImage(&amp;quot;cc.png&amp;quot;);&lt;br /&gt;
  ledcg=loadImage(&amp;quot;ledcg.png&amp;quot;);&lt;br /&gt;
  ledmg=loadImage(&amp;quot;ledmg.png&amp;quot;);&lt;br /&gt;
  ledmd=loadImage(&amp;quot;ledmd.png&amp;quot;);&lt;br /&gt;
  ledcd=loadImage(&amp;quot;ledcd.png&amp;quot;);&lt;br /&gt;
  CNYcg=loadImage(&amp;quot;CNYcg.png&amp;quot;);&lt;br /&gt;
  CNYmg=loadImage(&amp;quot;CNYmg.png&amp;quot;);&lt;br /&gt;
  CNYmd=loadImage(&amp;quot;CNYmd.png&amp;quot;);&lt;br /&gt;
  CNYcd=loadImage(&amp;quot;CNYcd.png&amp;quot;);&lt;br /&gt;
  captcg=loadImage(&amp;quot;captcg.png&amp;quot;);&lt;br /&gt;
  captmg=loadImage(&amp;quot;captmg.png&amp;quot;);&lt;br /&gt;
  captmd=loadImage(&amp;quot;captmd.png&amp;quot;);&lt;br /&gt;
  captcd=loadImage(&amp;quot;captcd.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  imageMode(CORNERS);&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fonctionnement()&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 600, 1000, 200);//efface le précédent texte &lt;br /&gt;
  fill(255);&lt;br /&gt;
  switch(lecture) {&lt;br /&gt;
  //affichage des informations correspondant au code transmis par Arduino&lt;br /&gt;
  case 1:&lt;br /&gt;
    text(&amp;quot;Placez la carte sur une surface sombre, puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 2:&lt;br /&gt;
    image(cc, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre VCC et la masse!!!&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 3:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 4:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 5:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 6:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 7:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 8:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 9:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 10:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 11:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 12:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 13:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 14:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 15:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 16:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 17:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu droit &amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 18:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 19:&lt;br /&gt;
    image(captcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 20:&lt;br /&gt;
    image(captmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 21:&lt;br /&gt;
    image(captmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 22:&lt;br /&gt;
    image(captcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 23:&lt;br /&gt;
    text(&amp;quot;posez la carte sur une surface claire puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 24:&lt;br /&gt;
    text(&amp;quot;exposez la carte à une  lumière forte puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 25:&lt;br /&gt;
    text(&amp;quot;Test terminé\n appuyer sur une touche pour recommencer&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    fin=true;&lt;br /&gt;
    break;&lt;br /&gt;
  case 26:&lt;br /&gt;
    text(&amp;quot;Aucun problème&amp;quot;,150 ,550, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //partie initialisation du port série &lt;br /&gt;
  if (Init==true) &lt;br /&gt;
  {&lt;br /&gt;
    char nom[]=new char[i];&lt;br /&gt;
    for (char j=0; j&amp;lt;i; j++) nom[j]=data[j];//stockage des caractères choisi par l'utilisateur dans un tableau &lt;br /&gt;
    String name = new String(nom);//création d'une chaîne de caractère à partir du tableau&lt;br /&gt;
    myPort = new Serial(this, name, 9600);//initialisation du port série &lt;br /&gt;
    myPort.bufferUntil('\n');&lt;br /&gt;
    background(0);&lt;br /&gt;
    Init=false;&lt;br /&gt;
    fct=true;&lt;br /&gt;
    image(board, 0, 0, 1000, 600);&lt;br /&gt;
  }&lt;br /&gt;
  if (fct==true) fonctionnement();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed() {&lt;br /&gt;
&lt;br /&gt;
  //partie utilisée seulement en mode sélection du port série&lt;br /&gt;
  if (Sel==true) {&lt;br /&gt;
    if ((key==ENTER)||(key==RETURN)) //validation du choix du port série&lt;br /&gt;
    {&lt;br /&gt;
      Init=true;&lt;br /&gt;
      Sel=false;&lt;br /&gt;
    } else&lt;br /&gt;
    {&lt;br /&gt;
      if (key==BACKSPACE) //efface un caractère&lt;br /&gt;
      {&lt;br /&gt;
        data[i]=0;&lt;br /&gt;
        fill(100);&lt;br /&gt;
        noStroke();&lt;br /&gt;
        rect(10+40*(i-1), 168, 32, 140);&lt;br /&gt;
        fill(255);&lt;br /&gt;
        i--;&lt;br /&gt;
      } else {&lt;br /&gt;
        data[i]=key;&lt;br /&gt;
        text(data[i], 10+40*i, 200);&lt;br /&gt;
        i++;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  //partie utilisée seulement en fonctionnement normal&lt;br /&gt;
  if (fct==true)&lt;br /&gt;
  {&lt;br /&gt;
    myPort.write(0x0d);  //envoie confirmation à Arduino si on appui sur une touche&lt;br /&gt;
    if (fin==true)       //si le test est fini, efface l'écran avant de recommencer&lt;br /&gt;
    {&lt;br /&gt;
      image(board, 0, 0, 1000, 600);&lt;br /&gt;
      fin=false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void serialEvent(Serial myPort)&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 0, 200, 100);&lt;br /&gt;
  fill(255);&lt;br /&gt;
  byte l[]=myPort.readBytesUntil('\n');&lt;br /&gt;
  lecture=(l[0]-48)*10+(l[1]-48);  //conversion de la chaîne de caractère envoyé en un nombre de 2 chiffre&lt;br /&gt;
  text(lecture, 50, 50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour l'affichage dans l'interface, nous utilisons les images ci-dessous que nous superposons afin d'indiquer toutes les pistes qui nécessitent une vérification d'après le test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || [[Fichier:imgboard.png|200px|thumb|left|imgboard.png]] || [[Fichier:court-circuit.png|200px|thumb|left|cc.png]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:captcg.png|200px|thumb|left|captcg.png]] || [[Fichier:captmg.png|200px|thumb|left|captmg.png]] || [[Fichier:captmd.png|200px|thumb|left|captmd.png]] || [[Fichier:captcd.png|200px|thumb|left|captcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:CNYcg.png|200px|thumb|left|CNYcg.png]] || [[Fichier:CNYmg.png|200px|thumb|left|CNYmg.png]] || [[Fichier:CNYmd.png|200px|thumb|left|CNYmd.png]] || [[Fichier:CNYcd.png|200px|thumb|left|CNYcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:ledcg.png|200px|thumb|left|ledcg.png]] || [[Fichier:ledmg.png|200px|thumb|left|ledmg.png]] || [[Fichier:ledmd.png|200px|thumb|left|ledmd.png]] || [[Fichier:ledcd.png|200px|thumb|left|ledcd.png]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capture11.png&amp;diff=6335</id>
		<title>Fichier:Capture11.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capture11.png&amp;diff=6335"/>
				<updated>2015-06-22T23:14:00Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : Superheros a importé une nouvelle version de « Fichier:Capture11.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capture11.png&amp;diff=6334</id>
		<title>Fichier:Capture11.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capture11.png&amp;diff=6334"/>
				<updated>2015-06-22T23:12:03Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : Superheros a importé une nouvelle version de « Fichier:Capture11.png » : [mise a jour] ajout de la liaison manquante a la patte A4 de la carte Arduino&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6333</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6333"/>
				<updated>2015-06-22T21:50:55Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Explications}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Explications}}===&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, le programme de test en langage Arduino. Branchez simplement votre carte capteur Arexx sur une carte Arduino (reliez à votre PC) grâce à la carte adaptatrice prévue à cette effet puis téléverser ce programme grâce à l'IDE Arduino. Assurez-vous préalablement d'être sur le bon port série avant de téléverser.&lt;br /&gt;
&lt;br /&gt;
Une fois le programme téléversée, ouvrez le moniteur série, choisissez 9600 baud puis laissez vous guider.&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Programme}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6332</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6332"/>
				<updated>2015-06-22T21:49:16Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Explications}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Explications}}===&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, le programme de test en langage Arduino. Branchez simplement votre carte capteur Arexx sur une carte Arduino (reliez à votre PC) grâce à la carte adaptatrice prévue à cette effet puis téléverser ce programme grâce à l'IDE Arduino. Assurez-vous préalablement d'être sur le bon port série avant de téléverser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:Port série.png&lt;br /&gt;
Fichier:Téléverser.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois le programme téléversée, ouvrez le moniteur série, choisissez 9600 baud puis laissez vous guider.&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Programme}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6331</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6331"/>
				<updated>2015-06-22T21:40:29Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Explications}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Explications}}===&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, le programme de test en langage Arduino. Branchez simplement votre carte capteur Arexx sur une carte Arduino (reliez à votre PC) grâce à la carte adaptatrice prévue à cette effet puis téléverser ce programme grâce à l'IDE Arduino. Assurez-vous préalablement d'être sur le bon port série avant de téléverser.&lt;br /&gt;
&lt;br /&gt;
Une fois le programme téléversée, ouvrez le moniteur série, choisissez 9600 baud puis laissez vous guider.&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Programme}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6330</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6330"/>
				<updated>2015-06-22T21:38:41Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Explications}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Explications}}===&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, le programme de test en langage Arduino. Branchez simplement votre carte capteur Arexx sur une carte Arduino (reliez à votre PC) grâce à la carte adaptatrice prévue à cette effet puis téléverser ce programme grâce à l'IDE Arduino. Assurez-vous préalablement d'être sur le bon port série avant de téléverser.&lt;br /&gt;
&lt;br /&gt;
Une fois le programme téléversée, ouvrez la console du port série, choisissez 9600 baud puis laissez vous guider.&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Programme}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6329</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6329"/>
				<updated>2015-06-22T21:38:26Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Explications}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Explications}}===&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, le programme de test en langage Arduino. Branchez simplement votre carte capteur Arexx sur une carte Arduino (reliez à votre PC) grâce à la carte adaptatrice prévue à cette effet puis téléverser ce programme grâce à l'IDE Arduino. Assurez-vous préalablement d'être sur le bon port série avant de téléverser.&lt;br /&gt;
&lt;br /&gt;
Une fois le programme téléversée, ouvrez la console du port série, choisissez 9600 baud puis laissez vous guider par le programme.&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Programme}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6328</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6328"/>
				<updated>2015-06-22T21:36:26Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Programme de test et explications}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Explications}}===&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, le programme de test en langage Arduino. Branchez simplement votre carte capteur Arexx sur une carte Arduino (reliez à votre PC) grâce à la carte adaptatrice prévue à cette effet puis téléverser ce programme grâce à l'IDE Arduino. Assurez-vous préalablement d'être sur le bon port série avant de téléverser.&lt;br /&gt;
&lt;br /&gt;
Une fois le programme téléversée, ouvrez la console du port série, choisissez 9600 bauds puis laissez vous guider par le programme.&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Programme}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;Taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Gantt.jpg&amp;diff=6327</id>
		<title>Fichier:Gantt.jpg</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Gantt.jpg&amp;diff=6327"/>
				<updated>2015-06-22T15:58:00Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6326</id>
		<title>Arexx SUPERHEROS</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6326"/>
				<updated>2015-06-22T13:15:21Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Bleu|Amélioration du programme de la procédure optimisée }} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Introduction-Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
Au cours du précédent semestre, nous avons eu à concevoir un robot suiveur de ligne sur un châssis Arexx constitué d'une carte capteur et d'une carte gestion. Nous avons également dû réaliser une carte d’adaptation afin de relier directement la carte capteur à une carte ARDUINO. Nous avons aussi écrit des programmes pour tester les capteurs et les LEDs, suite à cela notre projet actuel consiste à écrire un programme permettant de détecter les pannes sur la carte capteur du robot Arexx.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du cahier des charges}}=&lt;br /&gt;
&lt;br /&gt;
♦Créer deux algorithmes permettant de tester le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
♦Possibilité de modification de la carte d'adaptation.&lt;br /&gt;
&lt;br /&gt;
♦Fabrication de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♦ Réalisation des programmes permettant le fonctionnement de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♣ Suite à des imprévus, nous avons dû abandonner la fabrication de la carte gestion et des programmes correspondant.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Planning }}=&lt;br /&gt;
=={{Bleu|Planning prévisionnel }}==&lt;br /&gt;
&lt;br /&gt;
[[Image:taches image.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt image.JPG]]&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Planning de la semaine d’inter-semestre}}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:planning2.JPG]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Carte capteur}}=&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Procédure des tests }}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure manuelle }}==&lt;br /&gt;
Ces tests sont basés sur les programmes réalisés lors du projet inter-semestre précédent, en testant le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[4] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char  ledv[4]={&lt;br /&gt;
  6,7,9,8};  &lt;br /&gt;
char  ledc[4]={&lt;br /&gt;
  4,3,2,5};&lt;br /&gt;
int i;&lt;br /&gt;
void setup(){&lt;br /&gt;
  for (char i = 0; i &amp;lt; 8; i++) pinMode(i+2, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlv(){&lt;br /&gt;
   Serial.println(&amp;quot;Parametrer le moniteur serie en 'Pas de fin de ligne'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledv[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char l=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledv[i],0);&lt;br /&gt;
    if(l==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(l==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlc(){&lt;br /&gt;
  Serial.println(&amp;quot;Utiliser l'objectif de votre smartphone pour voir les capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledc[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char m=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledc[i],0);&lt;br /&gt;
    if(m==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(m==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void tcapteur(){&lt;br /&gt;
  char led[4]={&lt;br /&gt;
    4,3,2,5          };&lt;br /&gt;
  char capt[4]={&lt;br /&gt;
    A2,A3,A1,A0          };&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  analogReference(DEFAULT);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(led[i],0);&lt;br /&gt;
    int mes=analogRead(capt[i]);&lt;br /&gt;
    digitalWrite(led[i],1);&lt;br /&gt;
    delay(5);&lt;br /&gt;
    int mea=analogRead(capt[i]);&lt;br /&gt;
    if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    delay(1000);    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  testlv();&lt;br /&gt;
  testlc();&lt;br /&gt;
  Serial.println(&amp;quot;Verification des capteurs...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  tcapteur();&lt;br /&gt;
   Serial.println(&amp;quot;Appuyer sur une touche pour recommencer les tests&amp;quot;);&lt;br /&gt;
   OK();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure optimisée }}==&lt;br /&gt;
&lt;br /&gt;
Avec cette procédure, les courts-circuits sont détectés, les LEDs et les capteurs sont testés de façon semi-automatique par le programmes ci dessous réalisés lors de notre projet tutorés de ce semestre. l'utilisateur doit seulement déplacer la carte sur différentes surfaces afin de diminuer ou augmenter l'impact des capteurs sur les mesures suivant les besoins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Modification de la carte d'adaptation-Choix de la résistance}}===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:resistancebakir.png]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi une résistance la plus grande possible laissant un courant d'environ 4mA traverser une LED, afin de perturber le moins possible le fonctionnement des LEDs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si Vd=2V&amp;lt;br /&amp;gt;&lt;br /&gt;
U=((5V-Vd)*R)/R+R1 &lt;br /&gt;
= 3R/R+680 = (3*120)/800 &lt;br /&gt;
= 360/800= 0.45V&amp;lt;br /&amp;gt;&lt;br /&gt;
R=U/I = 0.45/4*10^-3=112.5 Ohm.&lt;br /&gt;
On prendra la résistance normalisée 120 Ohm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié la carte d'adaptation en mettant une résistance de 120ohm entre la masse de la carte capteur et la masse de la carte arduino, nous mesurons la tension aux bornes de cette résistance avec l'entrée analogique A4.&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture22.png|cadre|gauche|carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture11.png|cadre|gauche|schéma de la carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Sous-programmes }}===&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des courts-circuits }}====&lt;br /&gt;
Ce test permet de détecter les courts-circuits entre Vcc et la masse.&lt;br /&gt;
&lt;br /&gt;
Si aucune LED n'est allumée et que les capteurs ne sont pas exposés à la lumière, aucun courant ne circule, donc il n'y a aucune tension aux bornes de la résistance de test, si il y a une tension importante, cela signifie qu'il y a un court-circuit entre la masse et l'alimentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  void test_cc(){&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des LEDs }}====&lt;br /&gt;
Ce test permet de détecter un problème ente 2 bornes de la LED , ou si une piste est coupée sur le circuit alimentant la LED . &lt;br /&gt;
&lt;br /&gt;
Pour les LEDs : en fonctionnement normal, la tension aux bornes des LEDs est d'environ 2V, donc la tension aux bornes de notre résistance de test est de ((5-Vd)*Rtest)/(Rtest+R)=(3*120)/(120+680)=0.45V.&lt;br /&gt;
Après la conversion analogique, 0.45V donne la valeur 92.&lt;br /&gt;
&lt;br /&gt;
Pour  les LEDs infrarouges des capteurs : les récepteurs des capteurs créent une tension lorsqu'on allume les LEDs donc la tension aux bornes dépend aussi de la tension aux bornes des photo-transistors. Nous avons observé les variations des 2 tensions en faisant varier la luminosité, afin de trouver une équation linéaire approximant le fonctionnement des capteurs.&lt;br /&gt;
Nous obtenons : U=413 -(20/307) * u2     avec u2 la tension moyenne des capteurs.&lt;br /&gt;
&lt;br /&gt;
Pour limiter l'impact des tensions des capteurs dans les mesures nous placerons les capteurs sur une surface sombre.&lt;br /&gt;
Nous prenons une marge de 25 % dans nos calculs afin d’éviter les problèmes de variations de tensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   char * pos[] = {&amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
  char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
  char ledCNY[4]={ 4,3,2,5 };&lt;br /&gt;
  char capt[4]={ A2,A3,A1,A0};&lt;br /&gt;
  char led[] = {6, 7, 9, 8 };&lt;br /&gt;
&lt;br /&gt;
  void test_led()&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
    OK();&lt;br /&gt;
  &lt;br /&gt;
    //partie LED presence ligne&lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(led[i], HIGH);&lt;br /&gt;
      int val = analogRead(A4);&lt;br /&gt;
      digitalWrite(led[i], LOW);&lt;br /&gt;
      if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    //partie LED CNY&lt;br /&gt;
    &lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      unsigned int u2=0;&lt;br /&gt;
      char an[] = {&lt;br /&gt;
        A0, A1, A2, A3                };&lt;br /&gt;
      digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
      unsigned int u1 = analogRead(A4);&lt;br /&gt;
      for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
      {&lt;br /&gt;
        u2 += analogRead(an[j]);&lt;br /&gt;
      }&lt;br /&gt;
      u2 /= 4;&lt;br /&gt;
      digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
      if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des capteurs }}====&lt;br /&gt;
Permet de détecter un problème dans les capteurs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur fonctionne&lt;br /&gt;
&lt;br /&gt;
Si la LED fonctionne, nous pouvons vérifier le fonctionnement en effectuant une mesure avec la LED allumée et une avec la LED éteinte. Si la mesure avec la LED allumée est supérieure à celle de la LED éteinte, cela signifie que le récepteur fonctionne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la LED ne fonctionne pas, nous remplaçons la LED allumée par un éclairage fort, pour la LED éteinte, nous plaçons les capteurs sur une surface sombre.&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur ne fonctionne pas &lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
   char void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Programme final }}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5}; //adresse des leds des capteurs de gauche à droite &lt;br /&gt;
char capt[4]={A2,A3,A1,A0}; //adresse des capteurs de gauche à droite&lt;br /&gt;
char led[] = {6, 7, 9, 8 }; //adresse des leds de gauche à droite&lt;br /&gt;
&lt;br /&gt;
boolean err=false; //flag passant à l’état vrai si il y'a un disfonctionnement &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot; Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  test_cc(); //test court-circuit&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt(); &lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3])) test_capt_led_HS(); //si au moins une led de capteur ne fonctionne pas on utilise  cette fonction&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  if(err==false) Serial.println(&amp;quot;Aucun probleme&amp;quot;);&lt;br /&gt;
  err==false;&lt;br /&gt;
  Serial.println(&amp;quot;Test termine&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper sur entrer pour recommencer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK() //fonction attendant le caractère retour chariot comme confirmation que l'utilisateur à compris la consigne &lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Amélioration du programme de la procédure optimisée }}==&lt;br /&gt;
Nous avons dévellopé à l'aide de Processing une interface graphique qui faciliterai la recherche de la panne par l'utilisateur, cette interface affiche les problèmes et les consignes comme le moniteur série dans le précédent code, mais elle affiche aussi sur l'image du routage les pistes à vérifier en surbrillance. &lt;br /&gt;
De plus, le programme ne nécessite pas de changement de paramètre, donc peut être utilisé indépendamment &lt;br /&gt;
de Processing. Pour cela nous utilisons la fonction d'exportation de Processing afin de générer une application utilisable sur tout ordinateur.&lt;br /&gt;
Cependant cette methode serait réellement éfficace si toutes les cartes possèdaient le même routage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Partie Arduino&lt;br /&gt;
&lt;br /&gt;
Pour faciliter la communication, le texte envoyé à la liaison série est remplacé par un nombre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5};&lt;br /&gt;
char capt[4]={A2,A3,A1,A0};&lt;br /&gt;
char led[] = { 6, 7, 9, 8};&lt;br /&gt;
&lt;br /&gt;
boolean err=false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  test_cc();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for(int i=0; i&amp;lt;4;i++) led_HS[i]=0;&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt();&lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3]))  test_capt_led_HS();&lt;br /&gt;
&lt;br /&gt;
  if(err==false) Serial.println(26);&lt;br /&gt;
  err=false;&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(25);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;02&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+3);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+7);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+11);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+15);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(23);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(24);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Partie Processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
PImage board;&lt;br /&gt;
PImage cc;&lt;br /&gt;
PImage ledcg;&lt;br /&gt;
PImage ledmg;&lt;br /&gt;
PImage ledmd;&lt;br /&gt;
PImage ledcd;&lt;br /&gt;
PImage CNYcg;&lt;br /&gt;
PImage CNYmg;&lt;br /&gt;
PImage CNYmd;&lt;br /&gt;
PImage CNYcd;&lt;br /&gt;
PImage captcg;&lt;br /&gt;
PImage captmg;&lt;br /&gt;
PImage captmd;&lt;br /&gt;
PImage captcd;&lt;br /&gt;
&lt;br /&gt;
Serial myPort;&lt;br /&gt;
volatile char data[]= new char[255];&lt;br /&gt;
volatile int lecture;&lt;br /&gt;
volatile int i;&lt;br /&gt;
volatile boolean Sel=true;  //flag autorisant le mode de fonctionnement sélection du port série &lt;br /&gt;
volatile boolean Init=false;  //flag autorisant le mode de fonctionnement initialisation du port série &lt;br /&gt;
boolean fct=false;  //flag autorisant le mode de fonctionnement normal &lt;br /&gt;
boolean fin=false;  //flag indiquant la fin du test &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  size(1000, 800);&lt;br /&gt;
  background(100);&lt;br /&gt;
  textSize(20);&lt;br /&gt;
  text(&amp;quot;la touche maj est considérée comme un caractère, pour passer en majuscule, tapez ver.maj. puis backspace&amp;quot;,10,50,1000,100);&lt;br /&gt;
  textSize(32);&lt;br /&gt;
  text(&amp;quot;indiquez le port de la carte&amp;quot;, 10, 150);&lt;br /&gt;
&lt;br /&gt;
  board=loadImage(&amp;quot;imgboard.png&amp;quot;);// sélection et chargement des images&lt;br /&gt;
  cc=loadImage(&amp;quot;cc.png&amp;quot;);&lt;br /&gt;
  ledcg=loadImage(&amp;quot;ledcg.png&amp;quot;);&lt;br /&gt;
  ledmg=loadImage(&amp;quot;ledmg.png&amp;quot;);&lt;br /&gt;
  ledmd=loadImage(&amp;quot;ledmd.png&amp;quot;);&lt;br /&gt;
  ledcd=loadImage(&amp;quot;ledcd.png&amp;quot;);&lt;br /&gt;
  CNYcg=loadImage(&amp;quot;CNYcg.png&amp;quot;);&lt;br /&gt;
  CNYmg=loadImage(&amp;quot;CNYmg.png&amp;quot;);&lt;br /&gt;
  CNYmd=loadImage(&amp;quot;CNYmd.png&amp;quot;);&lt;br /&gt;
  CNYcd=loadImage(&amp;quot;CNYcd.png&amp;quot;);&lt;br /&gt;
  captcg=loadImage(&amp;quot;captcg.png&amp;quot;);&lt;br /&gt;
  captmg=loadImage(&amp;quot;captmg.png&amp;quot;);&lt;br /&gt;
  captmd=loadImage(&amp;quot;captmd.png&amp;quot;);&lt;br /&gt;
  captcd=loadImage(&amp;quot;captcd.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  imageMode(CORNERS);&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fonctionnement()&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 600, 1000, 200);//efface le précédent texte &lt;br /&gt;
  fill(255);&lt;br /&gt;
  switch(lecture) {&lt;br /&gt;
  //affichage des informations correspondant au code transmis par Arduino&lt;br /&gt;
  case 1:&lt;br /&gt;
    text(&amp;quot;Placez la carte sur une surface sombre, puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 2:&lt;br /&gt;
    image(cc, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre VCC et la masse!!!&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 3:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 4:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 5:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 6:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 7:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 8:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 9:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 10:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 11:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 12:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 13:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 14:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 15:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 16:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 17:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu droit &amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 18:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 19:&lt;br /&gt;
    image(captcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 20:&lt;br /&gt;
    image(captmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 21:&lt;br /&gt;
    image(captmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 22:&lt;br /&gt;
    image(captcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 23:&lt;br /&gt;
    text(&amp;quot;posez la carte sur une surface claire puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 24:&lt;br /&gt;
    text(&amp;quot;exposez la carte à une  lumière forte puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 25:&lt;br /&gt;
    text(&amp;quot;Test terminé\n appuyer sur une touche pour recommencer&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    fin=true;&lt;br /&gt;
    break;&lt;br /&gt;
  case 26:&lt;br /&gt;
    text(&amp;quot;Aucun problème&amp;quot;,150 ,550, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //partie initialisation du port série &lt;br /&gt;
  if (Init==true) &lt;br /&gt;
  {&lt;br /&gt;
    char nom[]=new char[i];&lt;br /&gt;
    for (char j=0; j&amp;lt;i; j++) nom[j]=data[j];//stockage des caractères choisi par l'utilisateur dans un tableau &lt;br /&gt;
    String name = new String(nom);//création d'une chaîne de caractère à partir du tableau&lt;br /&gt;
    myPort = new Serial(this, name, 9600);//initialisation du port série &lt;br /&gt;
    myPort.bufferUntil('\n');&lt;br /&gt;
    background(0);&lt;br /&gt;
    Init=false;&lt;br /&gt;
    fct=true;&lt;br /&gt;
    image(board, 0, 0, 1000, 600);&lt;br /&gt;
  }&lt;br /&gt;
  if (fct==true) fonctionnement();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed() {&lt;br /&gt;
&lt;br /&gt;
  //partie utilisée seulement en mode sélection du port série&lt;br /&gt;
  if (Sel==true) {&lt;br /&gt;
    if ((key==ENTER)||(key==RETURN)) //validation du choix du port série&lt;br /&gt;
    {&lt;br /&gt;
      Init=true;&lt;br /&gt;
      Sel=false;&lt;br /&gt;
    } else&lt;br /&gt;
    {&lt;br /&gt;
      if (key==BACKSPACE) //efface un caractère&lt;br /&gt;
      {&lt;br /&gt;
        data[i]=0;&lt;br /&gt;
        fill(100);&lt;br /&gt;
        noStroke();&lt;br /&gt;
        rect(10+40*(i-1), 168, 32, 140);&lt;br /&gt;
        fill(255);&lt;br /&gt;
        i--;&lt;br /&gt;
      } else {&lt;br /&gt;
        data[i]=key;&lt;br /&gt;
        text(data[i], 10+40*i, 200);&lt;br /&gt;
        i++;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  //partie utilisée seulement en fonctionnement normal&lt;br /&gt;
  if (fct==true)&lt;br /&gt;
  {&lt;br /&gt;
    myPort.write(0x0d);  //envoie confirmation à Arduino si on appui sur une touche&lt;br /&gt;
    if (fin==true)       //si le test est fini, efface l'écran avant de recommencer&lt;br /&gt;
    {&lt;br /&gt;
      image(board, 0, 0, 1000, 600);&lt;br /&gt;
      fin=false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void serialEvent(Serial myPort)&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 0, 200, 100);&lt;br /&gt;
  fill(255);&lt;br /&gt;
  byte l[]=myPort.readBytesUntil('\n');&lt;br /&gt;
  lecture=(l[0]-48)*10+(l[1]-48);  //conversion de la chaîne de caractère envoyé en un nombre de 2 chiffre&lt;br /&gt;
  text(lecture, 50, 50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour l'affichage dans l'interface, nous utilisons les images ci-dessous que nous superposons afin d'indiquer toutes les pistes qui nécessitent une vérification d'après le test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || [[Fichier:imgboard.png|200px|thumb|left|imgboard.png]] || [[Fichier:court-circuit.png|200px|thumb|left|cc.png]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:captcg.png|200px|thumb|left|captcg.png]] || [[Fichier:captmg.png|200px|thumb|left|captmg.png]] || [[Fichier:captmd.png|200px|thumb|left|captmd.png]] || [[Fichier:captcd.png|200px|thumb|left|captcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:CNYcg.png|200px|thumb|left|CNYcg.png]] || [[Fichier:CNYmg.png|200px|thumb|left|CNYmg.png]] || [[Fichier:CNYmd.png|200px|thumb|left|CNYmd.png]] || [[Fichier:CNYcd.png|200px|thumb|left|CNYcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:ledcg.png|200px|thumb|left|ledcg.png]] || [[Fichier:ledmg.png|200px|thumb|left|ledmg.png]] || [[Fichier:ledmd.png|200px|thumb|left|ledmd.png]] || [[Fichier:ledcd.png|200px|thumb|left|ledcd.png]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6325</id>
		<title>Arexx SUPERHEROS</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6325"/>
				<updated>2015-06-21T19:26:47Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Introduction-Présentation du projet}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Introduction-Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
Au cours du précédent semestre, nous avons eu à concevoir un robot suiveur de ligne sur un châssis Arexx constitué d'une carte capteur et d'une carte gestion. Nous avons également dû réaliser une carte d’adaptation afin de relier directement la carte capteur à une carte ARDUINO. Nous avons aussi écrit des programmes pour tester les capteurs et les LEDs, suite à cela notre projet actuel consiste à écrire un programme permettant de détecter les pannes sur la carte capteur du robot Arexx.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du cahier des charges}}=&lt;br /&gt;
&lt;br /&gt;
♦Créer deux algorithmes permettant de tester le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
♦Possibilité de modification de la carte d'adaptation.&lt;br /&gt;
&lt;br /&gt;
♦Fabrication de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♦ Réalisation des programmes permettant le fonctionnement de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♣ Suite à des imprévus, nous avons dû abandonner la fabrication de la carte gestion et des programmes correspondant.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Planning }}=&lt;br /&gt;
=={{Bleu|Planning prévisionnel }}==&lt;br /&gt;
&lt;br /&gt;
[[Image:taches image.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt image.JPG]]&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Planning de la semaine d’inter-semestre}}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:planning2.JPG]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Carte capteur}}=&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Procédure des tests }}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure manuelle }}==&lt;br /&gt;
Ces tests sont basés sur les programmes réalisés lors du projet inter-semestre précédent, en testant le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[4] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char  ledv[4]={&lt;br /&gt;
  6,7,9,8};  &lt;br /&gt;
char  ledc[4]={&lt;br /&gt;
  4,3,2,5};&lt;br /&gt;
int i;&lt;br /&gt;
void setup(){&lt;br /&gt;
  for (char i = 0; i &amp;lt; 8; i++) pinMode(i+2, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlv(){&lt;br /&gt;
   Serial.println(&amp;quot;Parametrer le moniteur serie en 'Pas de fin de ligne'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledv[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char l=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledv[i],0);&lt;br /&gt;
    if(l==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(l==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlc(){&lt;br /&gt;
  Serial.println(&amp;quot;Utiliser l'objectif de votre smartphone pour voir les capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledc[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char m=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledc[i],0);&lt;br /&gt;
    if(m==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(m==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void tcapteur(){&lt;br /&gt;
  char led[4]={&lt;br /&gt;
    4,3,2,5          };&lt;br /&gt;
  char capt[4]={&lt;br /&gt;
    A2,A3,A1,A0          };&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  analogReference(DEFAULT);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(led[i],0);&lt;br /&gt;
    int mes=analogRead(capt[i]);&lt;br /&gt;
    digitalWrite(led[i],1);&lt;br /&gt;
    delay(5);&lt;br /&gt;
    int mea=analogRead(capt[i]);&lt;br /&gt;
    if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    delay(1000);    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  testlv();&lt;br /&gt;
  testlc();&lt;br /&gt;
  Serial.println(&amp;quot;Verification des capteurs...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  tcapteur();&lt;br /&gt;
   Serial.println(&amp;quot;Appuyer sur une touche pour recommencer les tests&amp;quot;);&lt;br /&gt;
   OK();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure optimisée }}==&lt;br /&gt;
&lt;br /&gt;
Avec cette procédure, les courts-circuits sont détectés, les LEDs et les capteurs sont testés de façon semi-automatique par le programmes ci dessous réalisés lors de notre projet tutorés de ce semestre. l'utilisateur doit seulement déplacer la carte sur différentes surfaces afin de diminuer ou augmenter l'impact des capteurs sur les mesures suivant les besoins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Modification de la carte d'adaptation-Choix de la résistance}}===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:resistancebakir.png]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi une résistance la plus grande possible laissant un courant d'environ 4mA traverser une LED, afin de perturber le moins possible le fonctionnement des LEDs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si Vd=2V&amp;lt;br /&amp;gt;&lt;br /&gt;
U=((5V-Vd)*R)/R+R1 &lt;br /&gt;
= 3R/R+680 = (3*120)/800 &lt;br /&gt;
= 360/800= 0.45V&amp;lt;br /&amp;gt;&lt;br /&gt;
R=U/I = 0.45/4*10^-3=112.5 Ohm.&lt;br /&gt;
On prendra la résistance normalisée 120 Ohm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié la carte d'adaptation en mettant une résistance de 120ohm entre la masse de la carte capteur et la masse de la carte arduino, nous mesurons la tension aux bornes de cette résistance avec l'entrée analogique A4.&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture22.png|cadre|gauche|carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture11.png|cadre|gauche|schéma de la carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Sous-programmes }}===&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des courts-circuits }}====&lt;br /&gt;
Ce test permet de détecter les courts-circuits entre Vcc et la masse.&lt;br /&gt;
&lt;br /&gt;
Si aucune LED n'est allumée et que les capteurs ne sont pas exposés à la lumière, aucun courant ne circule, donc il n'y a aucune tension aux bornes de la résistance de test, si il y a une tension importante, cela signifie qu'il y a un court-circuit entre la masse et l'alimentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  void test_cc(){&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des LEDs }}====&lt;br /&gt;
Ce test permet de détecter un problème ente 2 bornes de la LED , ou si une piste est coupée sur le circuit alimentant la LED . &lt;br /&gt;
&lt;br /&gt;
Pour les LEDs : en fonctionnement normal, la tension aux bornes des LEDs est d'environ 2V, donc la tension aux bornes de notre résistance de test est de ((5-Vd)*Rtest)/(Rtest+R)=(3*120)/(120+680)=0.45V.&lt;br /&gt;
Après la conversion analogique, 0.45V donne la valeur 92.&lt;br /&gt;
&lt;br /&gt;
Pour  les LEDs infrarouges des capteurs : les récepteurs des capteurs créent une tension lorsqu'on allume les LEDs donc la tension aux bornes dépend aussi de la tension aux bornes des photo-transistors. Nous avons observé les variations des 2 tensions en faisant varier la luminosité, afin de trouver une équation linéaire approximant le fonctionnement des capteurs.&lt;br /&gt;
Nous obtenons : U=413 -(20/307) * u2     avec u2 la tension moyenne des capteurs.&lt;br /&gt;
&lt;br /&gt;
Pour limiter l'impact des tensions des capteurs dans les mesures nous placerons les capteurs sur une surface sombre.&lt;br /&gt;
Nous prenons une marge de 25 % dans nos calculs afin d’éviter les problèmes de variations de tensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   char * pos[] = {&amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
  char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
  char ledCNY[4]={ 4,3,2,5 };&lt;br /&gt;
  char capt[4]={ A2,A3,A1,A0};&lt;br /&gt;
  char led[] = {6, 7, 9, 8 };&lt;br /&gt;
&lt;br /&gt;
  void test_led()&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
    OK();&lt;br /&gt;
  &lt;br /&gt;
    //partie LED presence ligne&lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(led[i], HIGH);&lt;br /&gt;
      int val = analogRead(A4);&lt;br /&gt;
      digitalWrite(led[i], LOW);&lt;br /&gt;
      if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    //partie LED CNY&lt;br /&gt;
    &lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      unsigned int u2=0;&lt;br /&gt;
      char an[] = {&lt;br /&gt;
        A0, A1, A2, A3                };&lt;br /&gt;
      digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
      unsigned int u1 = analogRead(A4);&lt;br /&gt;
      for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
      {&lt;br /&gt;
        u2 += analogRead(an[j]);&lt;br /&gt;
      }&lt;br /&gt;
      u2 /= 4;&lt;br /&gt;
      digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
      if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des capteurs }}====&lt;br /&gt;
Permet de détecter un problème dans les capteurs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur fonctionne&lt;br /&gt;
&lt;br /&gt;
Si la LED fonctionne, nous pouvons vérifier le fonctionnement en effectuant une mesure avec la LED allumée et une avec la LED éteinte. Si la mesure avec la LED allumée est supérieure à celle de la LED éteinte, cela signifie que le récepteur fonctionne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la LED ne fonctionne pas, nous remplaçons la LED allumée par un éclairage fort, pour la LED éteinte, nous plaçons les capteurs sur une surface sombre.&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur ne fonctionne pas &lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
   char void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Programme final }}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5}; //adresse des leds des capteurs de gauche à droite &lt;br /&gt;
char capt[4]={A2,A3,A1,A0}; //adresse des capteurs de gauche à droite&lt;br /&gt;
char led[] = {6, 7, 9, 8 }; //adresse des leds de gauche à droite&lt;br /&gt;
&lt;br /&gt;
boolean err=false; //flag passant à l’état vrai si il y'a un disfonctionnement &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot; Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  test_cc(); //test court-circuit&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt(); &lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3])) test_capt_led_HS(); //si au moins une led de capteur ne fonctionne pas on utilise  cette fonction&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  if(err==false) Serial.println(&amp;quot;Aucun probleme&amp;quot;);&lt;br /&gt;
  err==false;&lt;br /&gt;
  Serial.println(&amp;quot;Test termine&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper sur entrer pour recommencer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK() //fonction attendant le caractère retour chariot comme confirmation que l'utilisateur à compris la consigne &lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Amélioration du programme de la procédure optimisée }}==&lt;br /&gt;
Nous avons dévellopé à l'aide de Processing une interface graphique qui faciliterai la recherche de la panne par l'utilisateur, cette interface affiche les problèmes et les consignes comme le moniteur série dans le précédent code, mais elle affiche aussi sur l'image du routage les pistes à vérifier en surbrillance. &lt;br /&gt;
De plus, le programme ne nécessite pas de changement de paramètre, donc peut être utilisé indépendamment &lt;br /&gt;
de Processing. Pour cela nous utilisons la fonction d'exportation de Processing afin de générer une application utilisable sur tout ordinateur.&lt;br /&gt;
Cependant cette methode serait réellement éfficace si toutes les cartes possèdaient le même routage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Partie Arduino&lt;br /&gt;
&lt;br /&gt;
Pour faciliter la communication, le texte envoyé à la liaison série est remplacé par un nombre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5};&lt;br /&gt;
char capt[4]={A2,A3,A1,A0};&lt;br /&gt;
char led[] = { 6, 7, 9, 8};&lt;br /&gt;
&lt;br /&gt;
boolean err=false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  test_cc();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for(int i=0; i&amp;lt;4;i++) led_HS[i]=0;&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt();&lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3]))  test_capt_led_HS();&lt;br /&gt;
&lt;br /&gt;
  if(err==false) Serial.println(26);&lt;br /&gt;
  err=false;&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(25);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;02&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+3);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+7);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+11);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+15);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(23);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(24);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Partie Processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
PImage board;&lt;br /&gt;
PImage cc;&lt;br /&gt;
PImage ledcg;&lt;br /&gt;
PImage ledmg;&lt;br /&gt;
PImage ledmd;&lt;br /&gt;
PImage ledcd;&lt;br /&gt;
PImage CNYcg;&lt;br /&gt;
PImage CNYmg;&lt;br /&gt;
PImage CNYmd;&lt;br /&gt;
PImage CNYcd;&lt;br /&gt;
PImage captcg;&lt;br /&gt;
PImage captmg;&lt;br /&gt;
PImage captmd;&lt;br /&gt;
PImage captcd;&lt;br /&gt;
&lt;br /&gt;
Serial myPort;&lt;br /&gt;
volatile char data[]= new char[255];&lt;br /&gt;
volatile int lecture;&lt;br /&gt;
volatile int i;&lt;br /&gt;
volatile boolean Sel=true;  //flag autorisant le mode de fonctionnement sélection du port série &lt;br /&gt;
volatile boolean Init=false;  //flag autorisant le mode de fonctionnement initialisation du port série &lt;br /&gt;
boolean fct=false;  //flag autorisant le mode de fonctionnement normal &lt;br /&gt;
boolean fin=false;  //flag indiquant la fin du test &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  size(1000, 800);&lt;br /&gt;
  background(100);&lt;br /&gt;
  textSize(20);&lt;br /&gt;
  text(&amp;quot;la touche maj est considérée comme un caractère, pour passer en majuscule, tapez ver.maj. puis backspace&amp;quot;,10,50,1000,100);&lt;br /&gt;
  textSize(32);&lt;br /&gt;
  text(&amp;quot;indiquez le port de la carte&amp;quot;, 10, 150);&lt;br /&gt;
&lt;br /&gt;
  board=loadImage(&amp;quot;imgboard.png&amp;quot;);// sélection et chargement des images&lt;br /&gt;
  cc=loadImage(&amp;quot;cc.png&amp;quot;);&lt;br /&gt;
  ledcg=loadImage(&amp;quot;ledcg.png&amp;quot;);&lt;br /&gt;
  ledmg=loadImage(&amp;quot;ledmg.png&amp;quot;);&lt;br /&gt;
  ledmd=loadImage(&amp;quot;ledmd.png&amp;quot;);&lt;br /&gt;
  ledcd=loadImage(&amp;quot;ledcd.png&amp;quot;);&lt;br /&gt;
  CNYcg=loadImage(&amp;quot;CNYcg.png&amp;quot;);&lt;br /&gt;
  CNYmg=loadImage(&amp;quot;CNYmg.png&amp;quot;);&lt;br /&gt;
  CNYmd=loadImage(&amp;quot;CNYmd.png&amp;quot;);&lt;br /&gt;
  CNYcd=loadImage(&amp;quot;CNYcd.png&amp;quot;);&lt;br /&gt;
  captcg=loadImage(&amp;quot;captcg.png&amp;quot;);&lt;br /&gt;
  captmg=loadImage(&amp;quot;captmg.png&amp;quot;);&lt;br /&gt;
  captmd=loadImage(&amp;quot;captmd.png&amp;quot;);&lt;br /&gt;
  captcd=loadImage(&amp;quot;captcd.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  imageMode(CORNERS);&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fonctionnement()&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 600, 1000, 200);//efface le précédent texte &lt;br /&gt;
  fill(255);&lt;br /&gt;
  switch(lecture) {&lt;br /&gt;
  //affichage des informations correspondant au code transmis par Arduino&lt;br /&gt;
  case 1:&lt;br /&gt;
    text(&amp;quot;Placez la carte sur une surface sombre, puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 2:&lt;br /&gt;
    image(cc, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre VCC et la masse!!!&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 3:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 4:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 5:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 6:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 7:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 8:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 9:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 10:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 11:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 12:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 13:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 14:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 15:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 16:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 17:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu droit &amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 18:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 19:&lt;br /&gt;
    image(captcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 20:&lt;br /&gt;
    image(captmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 21:&lt;br /&gt;
    image(captmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 22:&lt;br /&gt;
    image(captcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 23:&lt;br /&gt;
    text(&amp;quot;posez la carte sur une surface claire puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 24:&lt;br /&gt;
    text(&amp;quot;exposez la carte à une  lumière forte puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 25:&lt;br /&gt;
    text(&amp;quot;Test terminé\n appuyer sur une touche pour recommencer&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    fin=true;&lt;br /&gt;
    break;&lt;br /&gt;
  case 26:&lt;br /&gt;
    text(&amp;quot;Aucun problème&amp;quot;,150 ,550, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //partie initialisation du port série &lt;br /&gt;
  if (Init==true) &lt;br /&gt;
  {&lt;br /&gt;
    char nom[]=new char[i];&lt;br /&gt;
    for (char j=0; j&amp;lt;i; j++) nom[j]=data[j];//stockage des caractères choisi par l'utilisateur dans un tableau &lt;br /&gt;
    String name = new String(nom);//création d'une chaîne de caractère à partir du tableau&lt;br /&gt;
    myPort = new Serial(this, name, 9600);//initialisation du port série &lt;br /&gt;
    myPort.bufferUntil('\n');&lt;br /&gt;
    background(0);&lt;br /&gt;
    Init=false;&lt;br /&gt;
    fct=true;&lt;br /&gt;
    image(board, 0, 0, 1000, 600);&lt;br /&gt;
  }&lt;br /&gt;
  if (fct==true) fonctionnement();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed() {&lt;br /&gt;
&lt;br /&gt;
  //partie utilisée seulement en mode sélection du port série&lt;br /&gt;
  if (Sel==true) {&lt;br /&gt;
    if ((key==ENTER)||(key==RETURN)) //validation du choix du port série&lt;br /&gt;
    {&lt;br /&gt;
      Init=true;&lt;br /&gt;
      Sel=false;&lt;br /&gt;
    } else&lt;br /&gt;
    {&lt;br /&gt;
      if (key==BACKSPACE) //efface un caractère&lt;br /&gt;
      {&lt;br /&gt;
        data[i]=0;&lt;br /&gt;
        fill(100);&lt;br /&gt;
        noStroke();&lt;br /&gt;
        rect(10+40*(i-1), 168, 32, 140);&lt;br /&gt;
        fill(255);&lt;br /&gt;
        i--;&lt;br /&gt;
      } else {&lt;br /&gt;
        data[i]=key;&lt;br /&gt;
        text(data[i], 10+40*i, 200);&lt;br /&gt;
        i++;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  //partie utilisée seulement en fonctionnement normal&lt;br /&gt;
  if (fct==true)&lt;br /&gt;
  {&lt;br /&gt;
    myPort.write(0x0d);  //envoie confirmation à Arduino si on appui sur une touche&lt;br /&gt;
    if (fin==true)       //si le test est fini, efface l'écran avant de recommencer&lt;br /&gt;
    {&lt;br /&gt;
      image(board, 0, 0, 1000, 600);&lt;br /&gt;
      fin=false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void serialEvent(Serial myPort)&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 0, 200, 100);&lt;br /&gt;
  fill(255);&lt;br /&gt;
  byte l[]=myPort.readBytesUntil('\n');&lt;br /&gt;
  lecture=(l[0]-48)*10+(l[1]-48);  //conversion de la chaîne de caractère envoyé en un nombre de 2 chiffre&lt;br /&gt;
  text(lecture, 50, 50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour l'affichage dans l'interface, nous utilisons les images ci-dessous que nous superposons affin d'indiquer toutes les pistes qui nécessitent une vérification d'après le test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || [[Fichier:imgboard.png|200px|thumb|left|imgboard.png]] || [[Fichier:court-circuit.png|200px|thumb|left|cc.png]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:captcg.png|200px|thumb|left|captcg.png]] || [[Fichier:captmg.png|200px|thumb|left|captmg.png]] || [[Fichier:captmd.png|200px|thumb|left|captmd.png]] || [[Fichier:captcd.png|200px|thumb|left|captcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:CNYcg.png|200px|thumb|left|CNYcg.png]] || [[Fichier:CNYmg.png|200px|thumb|left|CNYmg.png]] || [[Fichier:CNYmd.png|200px|thumb|left|CNYmd.png]] || [[Fichier:CNYcd.png|200px|thumb|left|CNYcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:ledcg.png|200px|thumb|left|ledcg.png]] || [[Fichier:ledmg.png|200px|thumb|left|ledmg.png]] || [[Fichier:ledmd.png|200px|thumb|left|ledmd.png]] || [[Fichier:ledcd.png|200px|thumb|left|ledcd.png]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_CONQUERANTS&amp;diff=6324</id>
		<title>Arexx CONQUERANTS</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_CONQUERANTS&amp;diff=6324"/>
				<updated>2015-06-21T18:32:07Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Introduction}}=&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Présentation du projet}}===&lt;br /&gt;
&lt;br /&gt;
Le projet à réaliser consiste à faire une série de test sur une carte capteur, issue du projet Arexx qui est un robot suiveur de ligne, déjà fabriquée à l’inter semestre qui s'est déroulé en janvier 2015. &lt;br /&gt;
Ces tests devront faire en sorte de valider le bon fonctionnement de la carte capteur, de chaque composant qui sont :&lt;br /&gt;
&lt;br /&gt;
* CNY-70&lt;br /&gt;
* LEDS&lt;br /&gt;
&lt;br /&gt;
Pour réaliser ce projet, nous avons formé un groupe de 4 personnes :&lt;br /&gt;
&lt;br /&gt;
* ALZUBAIDI Mahmoud&lt;br /&gt;
* LAGOUTTE Quentin&lt;br /&gt;
* LANDEVILLE Baptiste&lt;br /&gt;
* THOMAS Alexis&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Planning}}=&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Diagramme de Gantt}}===&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt.jpg]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Eagle}}=&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Schématique et Board}}===&lt;br /&gt;
&lt;br /&gt;
'''Voici des images des fichiers Board et Schéma de la carte capteur du robot, qui vont servir pour le dépannage.'''&lt;br /&gt;
[[Image:Schéma_Capteur_Arexx.png]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programmation}}=&lt;br /&gt;
&lt;br /&gt;
==={{Bleu| Tests des LEDS}}===&lt;br /&gt;
&lt;br /&gt;
Ce test consiste à faire allumer la led témoin choisie par l'utilisateur, et donc une fois que l'utilisateur choisi le numéro, allant de 1 à 4 dans l'ordre de la gauche vers la droite.&lt;br /&gt;
&lt;br /&gt;
Si les résultats, qui doivent être observables par l'utilisateur, prouvent que l'une des leds ne fonctionne pas correctement, on se dirige vers la partie 3.3. Tests des Défaillances pour avoir des instructions quant à la réparation.&lt;br /&gt;
&lt;br /&gt;
Si les leds fonctionnent tous correctement, l'utilisateur a le choix de retourner vers le menu principal d'accueil afin de poursuivre les tests de la carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
void led(){  &lt;br /&gt;
Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
Serial.println(&amp;quot;Test des leds&amp;quot;);  &lt;br /&gt;
Serial.println(&amp;quot; &amp;quot;);  &lt;br /&gt;
Serial.println(&amp;quot;Appuyez sur 1 2 3 ou 4 pour tester la led de votre choix ou 5 pour retourner au menu&amp;quot;);&lt;br /&gt;
Serial.println(&amp;quot;Apre s appui, la led choisie devrait s'allumer pour 2s&amp;quot;);  &lt;br /&gt;
Serial.println(&amp;quot; &amp;quot;);  &lt;br /&gt;
reception();  &lt;br /&gt;
switch (rec){  &lt;br /&gt;
case '1':    &lt;br /&gt;
  Serial.println(&amp;quot;led gauche&amp;quot;);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  digitalWrite(6,0);&lt;br /&gt;
  break;&lt;br /&gt;
case '2':    &lt;br /&gt;
  Serial.println(&amp;quot;led milieu gauche&amp;quot;);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  digitalWrite(7,0);&lt;br /&gt;
  break;&lt;br /&gt;
case '3':    &lt;br /&gt;
  Serial.println(&amp;quot;led milieu droite&amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  digitalWrite(5,0);&lt;br /&gt;
  break;  &lt;br /&gt;
case '4':&lt;br /&gt;
  Serial.println(&amp;quot;led droite&amp;quot;);    &lt;br /&gt;
  digitalWrite(4,1);   &lt;br /&gt;
  delay(2000);         &lt;br /&gt;
  digitalWrite(4,0);  &lt;br /&gt;
  break;  &lt;br /&gt;
case '5':    &lt;br /&gt;
  accueil();  &lt;br /&gt;
default:  &lt;br /&gt;
  led();	   &lt;br /&gt;
&lt;br /&gt;
}  &lt;br /&gt;
  led();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu| Tests des CNY-70}}===&lt;br /&gt;
&lt;br /&gt;
Le test des capteurs CNY-70, est assez similaire à celui des leds témoins, d'abord on contrôle le fonctionnement des leds infra-rouges de ces capteurs qui agissent comme émetteurs.&lt;br /&gt;
Ensuite on test la partie récepteur, et cela est fait en lisant la valeur renvoyé par le pin analogique associé au capteur(compris entre 0 et 1023).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
void capteur(){&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);  &lt;br /&gt;
  Serial.println(&amp;quot;Test des capteurs&amp;quot;);  &lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);  &lt;br /&gt;
  Serial.println(&amp;quot;Appuyez sur 1 2 3 ou 4 pour tester le capteur de votre choix ou 5 pour retourner au     menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Placez les capteurs contre une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  reception();&lt;br /&gt;
  digitalWrite(0,1);&lt;br /&gt;
  digitalWrite(1,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  switch (rec){&lt;br /&gt;
  case '1':&lt;br /&gt;
	Serial.println(&amp;quot;capteur gauche&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	digitalWrite(1,1);&lt;br /&gt;
	val = analogRead(A1);&lt;br /&gt;
	if(val &amp;gt; 500)	&lt;br /&gt;
        {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}	&lt;br /&gt;
        else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
  	break;&lt;br /&gt;
  case '2':&lt;br /&gt;
	Serial.println(&amp;quot;capteur milieu gauche&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	val = analogRead(A0);&lt;br /&gt;
	if(val &amp;gt; 500)	&lt;br /&gt;
        {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
	else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	} &lt;br /&gt;
 	break;&lt;br /&gt;
  case '3':&lt;br /&gt;
	Serial.println(&amp;quot;capteur milieu droit&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	val = analogRead(A2);&lt;br /&gt;
	if(val &amp;gt; 500)	&lt;br /&gt;
        {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
	else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
  	break;&lt;br /&gt;
  case '4':&lt;br /&gt;
	Serial.println(&amp;quot;capteur droit&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	val = analogRead(A3);&lt;br /&gt;
	if(val &amp;gt; 500)	&lt;br /&gt;
        {  	&lt;br /&gt;
        Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}	&lt;br /&gt;
        else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	}  	&lt;br /&gt;
        break;&lt;br /&gt;
  case '5':&lt;br /&gt;
	accueil();&lt;br /&gt;
  default:&lt;br /&gt;
	capteur();&lt;br /&gt;
     }&lt;br /&gt;
  capteur();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu| Tests des défaillances}}===&lt;br /&gt;
&lt;br /&gt;
Lors des différents tests, il est probable qu'on rencontre des problèmes avec les capteurs ou les leds témoins du robot Arexx.&lt;br /&gt;
&lt;br /&gt;
Cette section détaille les différentes manipulations à effectuer dans ce cas.&lt;br /&gt;
&lt;br /&gt;
En effet, pour les leds témoins frontales du robot ou les capteurs CNY-70 , si l'un d'entre eux se trouve en panne lors du test :&lt;br /&gt;
&lt;br /&gt;
   - Vérifier que les deux pattes sont bien soudés et touchent bien la piste qui lui est associé(à voir sur le fichier board).&lt;br /&gt;
&lt;br /&gt;
   - Contrôler la validité des pistes auxquelles sont reliés les leds à l'aide d'un multimètre, l'erreur peut être un court-circuit ou que la piste soit coupée.&lt;br /&gt;
&lt;br /&gt;
   - Assurer vous du bon fonctionnement des composants reliés aux leds ou aux capteurs, que ce soit des résistances ou des transistors.&lt;br /&gt;
&lt;br /&gt;
   - Examiner les trois connecteurs présents sur la carte, et tester la connexion des pattes avec les pistes qui leur correspondent.&lt;br /&gt;
&lt;br /&gt;
   - Confirmer si le plan de masse n'empêche pas certaines connexions, surtout au niveau des connecteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin, après avoir effectué toutes les manipulations précédentes, vous trouvez que votre capteur et/ou led ne fonctionne pas, cela peut signifier que le composant lui même est défaillant et qu'il faudra donc le remplacer.&lt;br /&gt;
&lt;br /&gt;
==={{Bleu| Test complet}}===&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int rec;&lt;br /&gt;
int val;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for(int i=0;i&amp;lt;7;i++){&lt;br /&gt;
	pinMode(i,OUTPUT);&lt;br /&gt;
  }&lt;br /&gt;
  DDRC = 0x00;&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
	accueil();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void reception(){&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  if (Serial.available() &amp;gt; 0){&lt;br /&gt;
	rec = Serial.read();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void accueil(){&lt;br /&gt;
  boolean flagaccueil = true;&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Tests de la carte capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyez sur 0 pour les tests des leds&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyez sur 1 pour les test des capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  reception();&lt;br /&gt;
  if((rec == '0')&amp;amp;&amp;amp;(flagaccueil == true)){&lt;br /&gt;
	led();&lt;br /&gt;
	flagaccueil = false;&lt;br /&gt;
  }&lt;br /&gt;
  if((rec == '1')&amp;amp;&amp;amp;(flagaccueil == true)){&lt;br /&gt;
	capteur();&lt;br /&gt;
	flagaccueil = false;&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
&lt;br /&gt;
	accueil();&lt;br /&gt;
  }  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led(){&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot;Appuyez sur 1 2 3 ou 4 pour tester la led de votre choix ou 5 pour retourner au menu&amp;quot;);&lt;br /&gt;
  	Serial.println(&amp;quot;Apre s appui, la led choisie devrait s'allumer pour 2s&amp;quot;);&lt;br /&gt;
  	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
    	reception();&lt;br /&gt;
    	switch (rec){&lt;br /&gt;
    	case '1':&lt;br /&gt;
      	Serial.println(&amp;quot;led gauche&amp;quot;);&lt;br /&gt;
      	digitalWrite(6,1);&lt;br /&gt;
      	delay(2000);&lt;br /&gt;
      	digitalWrite(6,0);&lt;br /&gt;
      	break;&lt;br /&gt;
    	case '2':&lt;br /&gt;
      	Serial.println(&amp;quot;led milieu gauche&amp;quot;);&lt;br /&gt;
      	digitalWrite(7,1);&lt;br /&gt;
      	delay(2000);&lt;br /&gt;
      	digitalWrite(7,0);&lt;br /&gt;
      	break;&lt;br /&gt;
    	case '3':&lt;br /&gt;
      	Serial.println(&amp;quot;led milieu droite&amp;quot;);&lt;br /&gt;
      	digitalWrite(5,1);&lt;br /&gt;
      	delay(2000);&lt;br /&gt;
      	digitalWrite(5,0);&lt;br /&gt;
      	break;&lt;br /&gt;
    	case '4':&lt;br /&gt;
      	Serial.println(&amp;quot;led droite&amp;quot;);&lt;br /&gt;
      	digitalWrite(4,1);&lt;br /&gt;
      	delay(2000);&lt;br /&gt;
      	digitalWrite(4,0);&lt;br /&gt;
      	break;&lt;br /&gt;
    	case '5':&lt;br /&gt;
      	accueil();&lt;br /&gt;
    	default:&lt;br /&gt;
      	led();	 &lt;br /&gt;
    	}&lt;br /&gt;
    	led();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void capteur(){&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Test des capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyez sur 1 2 3 ou 4 pour tester le capteur de votre choix ou 5 pour retourner au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Placez les capteurs contre une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  reception();&lt;br /&gt;
  digitalWrite(0,1);&lt;br /&gt;
  digitalWrite(1,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  switch (rec){&lt;br /&gt;
  case '1':&lt;br /&gt;
	Serial.println(&amp;quot;capteur gauche&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	digitalWrite(1,1);&lt;br /&gt;
	val = analogRead(A1);&lt;br /&gt;
	if(val &amp;gt; 500)&lt;br /&gt;
	{&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
	else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
  	break;&lt;br /&gt;
&lt;br /&gt;
  case '2':&lt;br /&gt;
	Serial.println(&amp;quot;capteur milieu gauche&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	val = analogRead(A0);&lt;br /&gt;
	if(val &amp;gt; 500)&lt;br /&gt;
	{&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
	else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
  	break;&lt;br /&gt;
&lt;br /&gt;
  case '3':&lt;br /&gt;
	Serial.println(&amp;quot;capteur milieu droit&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	val = analogRead(A2);&lt;br /&gt;
	if(val &amp;gt; 500)&lt;br /&gt;
	{&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
	else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
  	break;&lt;br /&gt;
&lt;br /&gt;
  case '4':&lt;br /&gt;
	Serial.println(&amp;quot;capteur droit&amp;quot;);&lt;br /&gt;
	Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
	val = analogRead(A3);&lt;br /&gt;
	if(val &amp;gt; 500)&lt;br /&gt;
	{&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur fonctionne&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
	else {&lt;br /&gt;
  	Serial.println(&amp;quot;Le capteur a un dysfonctionnement&amp;quot;);&lt;br /&gt;
  	}&lt;br /&gt;
  	break;&lt;br /&gt;
&lt;br /&gt;
  case '5':&lt;br /&gt;
	accueil();&lt;br /&gt;
  default:&lt;br /&gt;
	capteur();   &lt;br /&gt;
  }&lt;br /&gt;
  capteur();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6310</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6310"/>
				<updated>2015-06-21T16:58:06Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Cahier de dépannage}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6309</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6309"/>
				<updated>2015-06-21T16:57:39Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Cahier de dépannage}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. &lt;br /&gt;
Si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. &lt;br /&gt;
Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;br /&gt;
Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6308</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6308"/>
				<updated>2015-06-21T16:52:49Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Cahier de dépannage}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre. si cas présent, séparer les deux pistes à l'aide d'un cutter.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre. Si cas présent, souder un fil pour relier les deux parties de la piste&lt;br /&gt;
* Composant mal soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.Si les composants sont mal soudés, les ressouder.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6307</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6307"/>
				<updated>2015-06-21T14:32:19Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : ntt/* {{Rouge|Diagramme de Gantt}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre.&lt;br /&gt;
* Composant bien soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6306</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6306"/>
				<updated>2015-06-21T14:30:41Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre.&lt;br /&gt;
* Composant bien soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6305</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6305"/>
				<updated>2015-06-21T14:23:33Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Diagramme de Gantt}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:diagramme gantt.png&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre.&lt;br /&gt;
* Composant bien soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Diagramme_gantt.png&amp;diff=6304</id>
		<title>Fichier:Diagramme gantt.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Diagramme_gantt.png&amp;diff=6304"/>
				<updated>2015-06-21T14:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6303</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6303"/>
				<updated>2015-06-21T14:16:41Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Cahier de dépannage}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* LED défaillante :&lt;br /&gt;
 &lt;br /&gt;
Remplacer la LED défaillante &lt;br /&gt;
* Court-circuit :&lt;br /&gt;
 &lt;br /&gt;
Vérifier que la piste  ne touche pas une soudure ou une autre piste à l’aide d’un multimètre.&lt;br /&gt;
* Piste coupée :&lt;br /&gt;
&lt;br /&gt;
Vérifier qu’il n’y a pas de fissure sur la piste et contrôler à l’aide d’un multimètre.&lt;br /&gt;
* Composant bien soudé :&lt;br /&gt;
&lt;br /&gt;
Vérifier que les composants sont bien soudés à l’aide d’une loupe et d’un multimètre en testant la connexion entre les pattes et la piste et vérifier qu’ils sont sur les bons emplacements grâce au board eagle.&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:TOPethan.png&amp;diff=6295</id>
		<title>Fichier:TOPethan.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:TOPethan.png&amp;diff=6295"/>
				<updated>2015-06-20T19:56:18Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : Ethan a importé une nouvelle version de « Fichier:TOPethan.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:TOPethan.png&amp;diff=6292</id>
		<title>Fichier:TOPethan.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:TOPethan.png&amp;diff=6292"/>
				<updated>2015-06-20T19:54:22Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:BOTTOMethan.png&amp;diff=6271</id>
		<title>Fichier:BOTTOMethan.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:BOTTOMethan.png&amp;diff=6271"/>
				<updated>2015-06-20T19:29:48Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:EagleschEthan.png&amp;diff=6261</id>
		<title>Fichier:EagleschEthan.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:EagleschEthan.png&amp;diff=6261"/>
				<updated>2015-06-20T18:58:04Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Eaglebrdethan.png&amp;diff=6260</id>
		<title>Fichier:Eaglebrdethan.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Eaglebrdethan.png&amp;diff=6260"/>
				<updated>2015-06-20T18:57:49Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Programmecapteurs.jpg&amp;diff=6252</id>
		<title>Fichier:Programmecapteurs.jpg</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Programmecapteurs.jpg&amp;diff=6252"/>
				<updated>2015-06-20T18:37:53Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Programmemoteurs.jpg&amp;diff=6251</id>
		<title>Fichier:Programmemoteurs.jpg</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Programmemoteurs.jpg&amp;diff=6251"/>
				<updated>2015-06-20T18:37:26Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Cone30%C2%B0.png&amp;diff=6233</id>
		<title>Fichier:Cone30°.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Cone30%C2%B0.png&amp;diff=6233"/>
				<updated>2015-06-20T18:14:27Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capteursultrason.png&amp;diff=6225</id>
		<title>Fichier:Capteursultrason.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Capteursultrason.png&amp;diff=6225"/>
				<updated>2015-06-20T18:07:24Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Conedetection.png&amp;diff=6224</id>
		<title>Fichier:Conedetection.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Conedetection.png&amp;diff=6224"/>
				<updated>2015-06-20T18:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Principedefct.png&amp;diff=6219</id>
		<title>Fichier:Principedefct.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Principedefct.png&amp;diff=6219"/>
				<updated>2015-06-20T17:55:18Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Sonarethan.jpg&amp;diff=6217</id>
		<title>Fichier:Sonarethan.jpg</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Sonarethan.jpg&amp;diff=6217"/>
				<updated>2015-06-20T17:51:18Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6214</id>
		<title>Arexx SUPERHEROS</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6214"/>
				<updated>2015-06-20T14:51:32Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Vert|Procédure optimisée }} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Introduction-Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
Au cours du précédent semestre, nous avons eu à concevoir un robot suiveur de ligne sur un châssis Arexx constitué d'une carte capteur et d'une carte gestion. Nous avons également dû réaliser une carte d’adaptation afin de relier directement la carte capteur à une carte ARDUINO. Nous avons aussi écrit des programmes pour tester les capteurs et les LEDs, suite à cela notre projet actuel consiste à écrire un programme permettant de détecter les pannes sur la carte capteur du robot Arexx et une possibilité de modifier la carte d’adaptation.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du cahier des charges}}=&lt;br /&gt;
&lt;br /&gt;
♦Créer deux algorithmes permettant de tester le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
♦Possibilité de modification de la carte d'adaptation.&lt;br /&gt;
&lt;br /&gt;
♦Fabrication de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♦ Réalisation des programmes permettant le fonctionnement de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♣ Suite à des imprévus, nous avons dû abandonner la fabrication de la carte gestion et des programmes correspondant.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Planning }}=&lt;br /&gt;
=={{Bleu|Planning prévisionnel }}==&lt;br /&gt;
&lt;br /&gt;
[[Image:taches image.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt image.JPG]]&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Planning de la semaine d’inter-semestre}}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:planning2.JPG]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Carte capteur}}=&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Procédure des tests }}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure manuelle }}==&lt;br /&gt;
Ces tests sont basés sur les programmes réalisés lors du projet inter-semestre précédent, en testant le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[4] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char  ledv[4]={&lt;br /&gt;
  6,7,9,8};  &lt;br /&gt;
char  ledc[4]={&lt;br /&gt;
  4,3,2,5};&lt;br /&gt;
int i;&lt;br /&gt;
void setup(){&lt;br /&gt;
  for (char i = 0; i &amp;lt; 8; i++) pinMode(i+2, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlv(){&lt;br /&gt;
   Serial.println(&amp;quot;Parametrer le moniteur serie en 'Pas de fin de ligne'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledv[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char l=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledv[i],0);&lt;br /&gt;
    if(l==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(l==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlc(){&lt;br /&gt;
  Serial.println(&amp;quot;Utiliser l'objectif de votre smartphone pour voir les capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledc[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char m=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledc[i],0);&lt;br /&gt;
    if(m==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(m==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void tcapteur(){&lt;br /&gt;
  char led[4]={&lt;br /&gt;
    4,3,2,5          };&lt;br /&gt;
  char capt[4]={&lt;br /&gt;
    A2,A3,A1,A0          };&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  analogReference(DEFAULT);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(led[i],0);&lt;br /&gt;
    int mes=analogRead(capt[i]);&lt;br /&gt;
    digitalWrite(led[i],1);&lt;br /&gt;
    delay(5);&lt;br /&gt;
    int mea=analogRead(capt[i]);&lt;br /&gt;
    if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    delay(1000);    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  testlv();&lt;br /&gt;
  testlc();&lt;br /&gt;
  Serial.println(&amp;quot;Verification des capteurs...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  tcapteur();&lt;br /&gt;
   Serial.println(&amp;quot;Appuyer sur une touche pour recommencer les tests&amp;quot;);&lt;br /&gt;
   OK();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure optimisée }}==&lt;br /&gt;
&lt;br /&gt;
Avec cette procédure, les courts-circuits sont détectés, les LEDs et les capteurs sont testés de façon semi-automatique par le programmes ci dessous réalisés lors de notre projet tutorés de ce semestre. l'utilisateur doit seulement déplacer la carte sur différentes surfaces afin de diminuer ou augmenter l'impact des capteurs sur les mesures suivant les besoins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Modification de la carte d'adaptation-Choix de la résistance}}===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:resistancebakir.png]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi une résistance la plus grande possible laissant un courant d'environ 4mA traverser une LED, afin de perturber le moins possible le fonctionnement des LEDs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si Vd=2V&amp;lt;br /&amp;gt;&lt;br /&gt;
U=((5V-Vd)*R)/R+R1 &lt;br /&gt;
= 3R/R+680 = (3*120)/800 &lt;br /&gt;
= 360/800= 0.45V&amp;lt;br /&amp;gt;&lt;br /&gt;
R=U/I = 0.45/4*10^-3=112.5 Ohm.&lt;br /&gt;
On prendra la résistance normalisée 120 Ohm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié la carte d'adaptation en mettant une résistance de 120ohm entre la masse de la carte capteur et la masse de la carte arduino, nous mesurons la tension aux bornes de cette résistance avec l'entrée analogique A4.&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture22.png|cadre|gauche|carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture11.png|cadre|gauche|schéma de la carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Sous-programmes }}===&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des courts-circuits }}====&lt;br /&gt;
Ce test permet de détecter les courts-circuits entre Vcc et la masse.&lt;br /&gt;
&lt;br /&gt;
Si aucune LED n'est allumée et que les capteurs ne sont pas exposés à la lumière, aucun courant ne circule, donc il n'y a aucune tension aux bornes de la résistance de test, si il y a une tension importante, cela signifie qu'il y a un court-circuit entre la masse et l'alimentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  void test_cc(){&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des LEDs }}====&lt;br /&gt;
Ce test permet de détecter un problème ente 2 bornes de la LED , ou si une piste est coupée sur le circuit alimentant la LED . &lt;br /&gt;
&lt;br /&gt;
Pour les LEDs : en fonctionnement normal, la tension aux bornes des LEDs est d'environ 2V, donc la tension aux bornes de notre résistance de test est de ((5-Vd)*Rtest)/(Rtest+R)=(3*120)/(120+680)=0.45V.&lt;br /&gt;
Après la conversion analogique, 0.45V donne la valeur 92.&lt;br /&gt;
&lt;br /&gt;
Pour  les LEDs infrarouges des capteurs : les récepteurs des capteurs créent une tension lorsqu'on allume les LEDs donc la tension aux bornes dépend aussi de la tension aux bornes des photo-transistors. Nous avons observé les variations des 2 tensions en faisant varier la luminosité, afin de trouver une équation linéaire approximant le fonctionnement des capteurs.&lt;br /&gt;
Nous obtenons : U=413 -(20/307) * u2     avec u2 la tension moyenne des capteurs.&lt;br /&gt;
&lt;br /&gt;
Pour limiter l'impact des tensions des capteurs dans les mesures nous placerons les capteurs sur une surface sombre.&lt;br /&gt;
Nous prenons une marge de 25 % dans nos calculs afin d’éviter les problèmes de variations de tensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   char * pos[] = {&amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
  char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
  char ledCNY[4]={ 4,3,2,5 };&lt;br /&gt;
  char capt[4]={ A2,A3,A1,A0};&lt;br /&gt;
  char led[] = {6, 7, 9, 8 };&lt;br /&gt;
&lt;br /&gt;
  void test_led()&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
    OK();&lt;br /&gt;
  &lt;br /&gt;
    //partie LED presence ligne&lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(led[i], HIGH);&lt;br /&gt;
      int val = analogRead(A4);&lt;br /&gt;
      digitalWrite(led[i], LOW);&lt;br /&gt;
      if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    //partie LED CNY&lt;br /&gt;
    &lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      unsigned int u2=0;&lt;br /&gt;
      char an[] = {&lt;br /&gt;
        A0, A1, A2, A3                };&lt;br /&gt;
      digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
      unsigned int u1 = analogRead(A4);&lt;br /&gt;
      for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
      {&lt;br /&gt;
        u2 += analogRead(an[j]);&lt;br /&gt;
      }&lt;br /&gt;
      u2 /= 4;&lt;br /&gt;
      digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
      if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des capteurs }}====&lt;br /&gt;
Permet de détecter un problème dans les capteurs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur fonctionne&lt;br /&gt;
&lt;br /&gt;
Si la LED fonctionne, nous pouvons vérifier le fonctionnement en effectuant une mesure avec la LED allumée et une avec la LED éteinte. Si la mesure avec la LED allumée est supérieure à celle de la LED éteinte, cela signifie que le récepteur fonctionne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la LED ne fonctionne pas, nous remplaçons la LED allumée par un éclairage fort, pour la LED éteinte, nous plaçons les capteurs sur une surface sombre.&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur ne fonctionne pas &lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
   char void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Programme final }}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5}; //adresse des leds des capteurs de gauche à droite &lt;br /&gt;
char capt[4]={A2,A3,A1,A0}; //adresse des capteurs de gauche à droite&lt;br /&gt;
char led[] = {6, 7, 9, 8 }; //adresse des leds de gauche à droite&lt;br /&gt;
&lt;br /&gt;
boolean err=false; //flag passant à l’état vrai si il y'a un disfonctionnement &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot; Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  test_cc(); //test court-circuit&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt(); &lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3])) test_capt_led_HS(); //si au moins une led de capteur ne fonctionne pas on utilise  cette fonction&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  if(err==false) Serial.println(&amp;quot;Aucun probleme&amp;quot;);&lt;br /&gt;
  err==false;&lt;br /&gt;
  Serial.println(&amp;quot;Test termine&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper sur entrer pour recommencer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK() //fonction attendant le caractère retour chariot comme confirmation que l'utilisateur à compris la consigne &lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Amélioration du programme de la procédure optimisée }}==&lt;br /&gt;
Nous avons dévellopé à l'aide de Processing une interface graphique qui faciliterai la recherche de la panne par l'utilisateur, cette interface affiche les problèmes et les consignes comme le moniteur série dans le précédent code, mais elle affiche aussi sur l'image du routage les pistes à vérifier en surbrillance. &lt;br /&gt;
De plus, le programme ne nécessite pas de changement de paramètre, donc peut être utilisé indépendamment &lt;br /&gt;
de Processing. Pour cela nous utilisons la fonction d'exportation de Processing afin de générer une application utilisable sur tout ordinateur.&lt;br /&gt;
Cependant cette methode serait réellement éfficace si toutes les cartes possèdaient le même routage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Partie Arduino&lt;br /&gt;
&lt;br /&gt;
Pour faciliter la communication, le texte envoyé à la liaison série est remplacé par un nombre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5};&lt;br /&gt;
char capt[4]={A2,A3,A1,A0};&lt;br /&gt;
char led[] = { 6, 7, 9, 8};&lt;br /&gt;
&lt;br /&gt;
boolean err=false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  test_cc();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for(int i=0; i&amp;lt;4;i++) led_HS[i]=0;&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt();&lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3]))  test_capt_led_HS();&lt;br /&gt;
&lt;br /&gt;
  if(err==false) Serial.println(26);&lt;br /&gt;
  err=false;&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(25);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;02&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+3);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+7);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+11);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+15);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(23);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(24);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Partie Processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
PImage board;&lt;br /&gt;
PImage cc;&lt;br /&gt;
PImage ledcg;&lt;br /&gt;
PImage ledmg;&lt;br /&gt;
PImage ledmd;&lt;br /&gt;
PImage ledcd;&lt;br /&gt;
PImage CNYcg;&lt;br /&gt;
PImage CNYmg;&lt;br /&gt;
PImage CNYmd;&lt;br /&gt;
PImage CNYcd;&lt;br /&gt;
PImage captcg;&lt;br /&gt;
PImage captmg;&lt;br /&gt;
PImage captmd;&lt;br /&gt;
PImage captcd;&lt;br /&gt;
&lt;br /&gt;
Serial myPort;&lt;br /&gt;
volatile char data[]= new char[255];&lt;br /&gt;
volatile int lecture;&lt;br /&gt;
volatile int i;&lt;br /&gt;
volatile boolean Sel=true;  //flag autorisant le mode de fonctionnement sélection du port série &lt;br /&gt;
volatile boolean Init=false;  //flag autorisant le mode de fonctionnement initialisation du port série &lt;br /&gt;
boolean fct=false;  //flag autorisant le mode de fonctionnement normal &lt;br /&gt;
boolean fin=false;  //flag indiquant la fin du test &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  size(1000, 800);&lt;br /&gt;
  background(100);&lt;br /&gt;
  textSize(20);&lt;br /&gt;
  text(&amp;quot;la touche maj est considérée comme un caractère, pour passer en majuscule, tapez ver.maj. puis backspace&amp;quot;,10,50,1000,100);&lt;br /&gt;
  textSize(32);&lt;br /&gt;
  text(&amp;quot;indiquez le port de la carte&amp;quot;, 10, 150);&lt;br /&gt;
&lt;br /&gt;
  board=loadImage(&amp;quot;imgboard.png&amp;quot;);// sélection et chargement des images&lt;br /&gt;
  cc=loadImage(&amp;quot;cc.png&amp;quot;);&lt;br /&gt;
  ledcg=loadImage(&amp;quot;ledcg.png&amp;quot;);&lt;br /&gt;
  ledmg=loadImage(&amp;quot;ledmg.png&amp;quot;);&lt;br /&gt;
  ledmd=loadImage(&amp;quot;ledmd.png&amp;quot;);&lt;br /&gt;
  ledcd=loadImage(&amp;quot;ledcd.png&amp;quot;);&lt;br /&gt;
  CNYcg=loadImage(&amp;quot;CNYcg.png&amp;quot;);&lt;br /&gt;
  CNYmg=loadImage(&amp;quot;CNYmg.png&amp;quot;);&lt;br /&gt;
  CNYmd=loadImage(&amp;quot;CNYmd.png&amp;quot;);&lt;br /&gt;
  CNYcd=loadImage(&amp;quot;CNYcd.png&amp;quot;);&lt;br /&gt;
  captcg=loadImage(&amp;quot;captcg.png&amp;quot;);&lt;br /&gt;
  captmg=loadImage(&amp;quot;captmg.png&amp;quot;);&lt;br /&gt;
  captmd=loadImage(&amp;quot;captmd.png&amp;quot;);&lt;br /&gt;
  captcd=loadImage(&amp;quot;captcd.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  imageMode(CORNERS);&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fonctionnement()&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 600, 1000, 200);//efface le précédent texte &lt;br /&gt;
  fill(255);&lt;br /&gt;
  switch(lecture) {&lt;br /&gt;
  //affichage des informations correspondant au code transmis par Arduino&lt;br /&gt;
  case 1:&lt;br /&gt;
    text(&amp;quot;Placez la carte sur une surface sombre, puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 2:&lt;br /&gt;
    image(cc, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre VCC et la masse!!!&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 3:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 4:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 5:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 6:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 7:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 8:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 9:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 10:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 11:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 12:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 13:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 14:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 15:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 16:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 17:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu droit &amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 18:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 19:&lt;br /&gt;
    image(captcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 20:&lt;br /&gt;
    image(captmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 21:&lt;br /&gt;
    image(captmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 22:&lt;br /&gt;
    image(captcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 23:&lt;br /&gt;
    text(&amp;quot;posez la carte sur une surface claire puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 24:&lt;br /&gt;
    text(&amp;quot;exposez la carte à une  lumière forte puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 25:&lt;br /&gt;
    text(&amp;quot;Test terminé\n appuyer sur une touche pour recommencer&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    fin=true;&lt;br /&gt;
    break;&lt;br /&gt;
  case 26:&lt;br /&gt;
    text(&amp;quot;Aucun problème&amp;quot;,150 ,550, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //partie initialisation du port série &lt;br /&gt;
  if (Init==true) &lt;br /&gt;
  {&lt;br /&gt;
    char nom[]=new char[i];&lt;br /&gt;
    for (char j=0; j&amp;lt;i; j++) nom[j]=data[j];//stockage des caractères choisi par l'utilisateur dans un tableau &lt;br /&gt;
    String name = new String(nom);//création d'une chaîne de caractère à partir du tableau&lt;br /&gt;
    myPort = new Serial(this, name, 9600);//initialisation du port série &lt;br /&gt;
    myPort.bufferUntil('\n');&lt;br /&gt;
    background(0);&lt;br /&gt;
    Init=false;&lt;br /&gt;
    fct=true;&lt;br /&gt;
    image(board, 0, 0, 1000, 600);&lt;br /&gt;
  }&lt;br /&gt;
  if (fct==true) fonctionnement();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed() {&lt;br /&gt;
&lt;br /&gt;
  //partie utilisée seulement en mode sélection du port série&lt;br /&gt;
  if (Sel==true) {&lt;br /&gt;
    if ((key==ENTER)||(key==RETURN)) //validation du choix du port série&lt;br /&gt;
    {&lt;br /&gt;
      Init=true;&lt;br /&gt;
      Sel=false;&lt;br /&gt;
    } else&lt;br /&gt;
    {&lt;br /&gt;
      if (key==BACKSPACE) //efface un caractère&lt;br /&gt;
      {&lt;br /&gt;
        data[i]=0;&lt;br /&gt;
        fill(100);&lt;br /&gt;
        noStroke();&lt;br /&gt;
        rect(10+40*(i-1), 168, 32, 140);&lt;br /&gt;
        fill(255);&lt;br /&gt;
        i--;&lt;br /&gt;
      } else {&lt;br /&gt;
        data[i]=key;&lt;br /&gt;
        text(data[i], 10+40*i, 200);&lt;br /&gt;
        i++;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  //partie utilisée seulement en fonctionnement normal&lt;br /&gt;
  if (fct==true)&lt;br /&gt;
  {&lt;br /&gt;
    myPort.write(0x0d);  //envoie confirmation à Arduino si on appui sur une touche&lt;br /&gt;
    if (fin==true)       //si le test est fini, efface l'écran avant de recommencer&lt;br /&gt;
    {&lt;br /&gt;
      image(board, 0, 0, 1000, 600);&lt;br /&gt;
      fin=false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void serialEvent(Serial myPort)&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 0, 200, 100);&lt;br /&gt;
  fill(255);&lt;br /&gt;
  byte l[]=myPort.readBytesUntil('\n');&lt;br /&gt;
  lecture=(l[0]-48)*10+(l[1]-48);  //conversion de la chaîne de caractère envoyé en un nombre de 2 chiffre&lt;br /&gt;
  text(lecture, 50, 50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour l'affichage dans l'interface, nous utilisons les images ci-dessous que nous superposons affin d'indiquer toutes les pistes qui nécessitent une vérification d'après le test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || [[Fichier:imgboard.png|200px|thumb|left|imgboard.png]] || [[Fichier:court-circuit.png|200px|thumb|left|cc.png]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:captcg.png|200px|thumb|left|captcg.png]] || [[Fichier:captmg.png|200px|thumb|left|captmg.png]] || [[Fichier:captmd.png|200px|thumb|left|captmd.png]] || [[Fichier:captcd.png|200px|thumb|left|captcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:CNYcg.png|200px|thumb|left|CNYcg.png]] || [[Fichier:CNYmg.png|200px|thumb|left|CNYmg.png]] || [[Fichier:CNYmd.png|200px|thumb|left|CNYmd.png]] || [[Fichier:CNYcd.png|200px|thumb|left|CNYcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:ledcg.png|200px|thumb|left|ledcg.png]] || [[Fichier:ledmg.png|200px|thumb|left|ledmg.png]] || [[Fichier:ledmd.png|200px|thumb|left|ledmd.png]] || [[Fichier:ledcd.png|200px|thumb|left|ledcd.png]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6213</id>
		<title>Arexx SUPERHEROS</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6213"/>
				<updated>2015-06-20T14:43:52Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Bleu|Amélioration du programme de la procédure optimisée }} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Introduction-Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
Au cours du précédent semestre, nous avons eu à concevoir un robot suiveur de ligne sur un châssis Arexx constitué d'une carte capteur et d'une carte gestion. Nous avons également dû réaliser une carte d’adaptation afin de relier directement la carte capteur à une carte ARDUINO. Nous avons aussi écrit des programmes pour tester les capteurs et les LEDs, suite à cela notre projet actuel consiste à écrire un programme permettant de détecter les pannes sur la carte capteur du robot Arexx et une possibilité de modifier la carte d’adaptation.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du cahier des charges}}=&lt;br /&gt;
&lt;br /&gt;
♦Créer deux algorithmes permettant de tester le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
♦Possibilité de modification de la carte d'adaptation.&lt;br /&gt;
&lt;br /&gt;
♦Fabrication de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♦ Réalisation des programmes permettant le fonctionnement de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♣ Suite à des imprévus, nous avons dû abandonner la fabrication de la carte gestion et des programmes correspondant.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Planning }}=&lt;br /&gt;
=={{Bleu|Planning prévisionnel }}==&lt;br /&gt;
&lt;br /&gt;
[[Image:taches image.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt image.JPG]]&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Planning de la semaine d’inter-semestre}}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:planning2.JPG]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Carte capteur}}=&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Procédure des tests }}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure manuelle }}==&lt;br /&gt;
Ces tests sont basés sur les programmes réalisés lors du projet inter-semestre précédent, en testant le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[4] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char  ledv[4]={&lt;br /&gt;
  6,7,9,8};  &lt;br /&gt;
char  ledc[4]={&lt;br /&gt;
  4,3,2,5};&lt;br /&gt;
int i;&lt;br /&gt;
void setup(){&lt;br /&gt;
  for (char i = 0; i &amp;lt; 8; i++) pinMode(i+2, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlv(){&lt;br /&gt;
   Serial.println(&amp;quot;Parametrer le moniteur serie en 'Pas de fin de ligne'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledv[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char l=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledv[i],0);&lt;br /&gt;
    if(l==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(l==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlc(){&lt;br /&gt;
  Serial.println(&amp;quot;Utiliser l'objectif de votre smartphone pour voir les capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledc[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char m=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledc[i],0);&lt;br /&gt;
    if(m==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(m==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void tcapteur(){&lt;br /&gt;
  char led[4]={&lt;br /&gt;
    4,3,2,5          };&lt;br /&gt;
  char capt[4]={&lt;br /&gt;
    A2,A3,A1,A0          };&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  analogReference(DEFAULT);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(led[i],0);&lt;br /&gt;
    int mes=analogRead(capt[i]);&lt;br /&gt;
    digitalWrite(led[i],1);&lt;br /&gt;
    delay(5);&lt;br /&gt;
    int mea=analogRead(capt[i]);&lt;br /&gt;
    if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    delay(1000);    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  testlv();&lt;br /&gt;
  testlc();&lt;br /&gt;
  Serial.println(&amp;quot;Verification des capteurs...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  tcapteur();&lt;br /&gt;
   Serial.println(&amp;quot;Appuyer sur une touche pour recommencer les tests&amp;quot;);&lt;br /&gt;
   OK();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure optimisée }}==&lt;br /&gt;
&lt;br /&gt;
Avec cette procedure, les courts-circuits sont détéctés, les LEDs et les capteurs sont testés de façon semi-automatique par le programmes ci dessous réalisés lors de notre projet tutorés de ce semestre. l'utilisateur doit seulement deplacer la carte sur différentes surfaces afin de diminuer ou augmenter l'impact des capteurs sur les mesures suivant les besoins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Modification de la carte d'adaptation-Choix de la résistance}}===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:resistancebakir.png]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi une résistance la plus grande possible laissant un courant d'environ 4mA traverser une LED, afin de perturber le moins possible le fonctionnement des LEDs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si Vd=2V&amp;lt;br /&amp;gt;&lt;br /&gt;
U=((5V-Vd)*R)/R+R1 &lt;br /&gt;
= 3R/R+680 = (3*120)/800 &lt;br /&gt;
= 360/800= 0.45V&amp;lt;br /&amp;gt;&lt;br /&gt;
R=U/I = 0.45/4*10^-3=112.5 Ohm.&lt;br /&gt;
On prendra la résistance normalisée 120 Ohm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié la carte d'adaptation en mettant une résistance de 120ohm entre la masse de la carte capteur et la masse de la carte arduino, nous mesurons la tension aux bornes de cette résistance avec l'entrée analogique A4.&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture22.png|cadre|gauche|carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture11.png|cadre|gauche|schéma de la carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Sous-programmes }}===&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des courts-circuits }}====&lt;br /&gt;
Ce test permet de détecter les courts-circuits entre Vcc et la masse.&lt;br /&gt;
&lt;br /&gt;
Si aucune LED n'est allumée et que les capteurs ne sont pas exposés à la lumière, aucun courant ne circule, donc il n'y a aucune tension aux bornes de la résistance de test, si il y a une tension importante, cela signifie qu'il y a un court-circuit entre la masse et l'alimentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  void test_cc(){&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des LEDs }}====&lt;br /&gt;
Ce test permet de détecter un problème ente 2 bornes de la LED , ou si une piste est coupée sur le circuit alimentant la LED . &lt;br /&gt;
&lt;br /&gt;
Pour les LEDs : en fonctionnement normal, la tension aux bornes des LEDs est d'environ 2V, donc la tension aux bornes de notre résistance de test est de ((5-Vd)*Rtest)/(Rtest+R)=(3*120)/(120+680)=0.45V.&lt;br /&gt;
Après la conversion analogique, 0.45V donne la valeur 92.&lt;br /&gt;
&lt;br /&gt;
Pour  les LEDs infrarouges des capteurs : les récepteurs des capteurs créent une tension lorsqu'on allume les LEDs donc la tension aux bornes dépend aussi de la tension aux bornes des photo-transistors. Nous avons observé les variations des 2 tensions en faisant varier la luminosité, afin de trouver une équation linéaire approximant le fonctionnement des capteurs.&lt;br /&gt;
Nous obtenons : U=413 -(20/307) * u2     avec u2 la tension moyenne des capteurs.&lt;br /&gt;
&lt;br /&gt;
Pour limiter l'impact des tensions des capteurs dans les mesures nous placerons les capteurs sur une surface sombre.&lt;br /&gt;
Nous prenons une marge de 25 % dans nos calculs afin d’éviter les problèmes de variations de tensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   char * pos[] = {&amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
  char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
  char ledCNY[4]={ 4,3,2,5 };&lt;br /&gt;
  char capt[4]={ A2,A3,A1,A0};&lt;br /&gt;
  char led[] = {6, 7, 9, 8 };&lt;br /&gt;
&lt;br /&gt;
  void test_led()&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
    OK();&lt;br /&gt;
  &lt;br /&gt;
    //partie LED presence ligne&lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(led[i], HIGH);&lt;br /&gt;
      int val = analogRead(A4);&lt;br /&gt;
      digitalWrite(led[i], LOW);&lt;br /&gt;
      if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    //partie LED CNY&lt;br /&gt;
    &lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      unsigned int u2=0;&lt;br /&gt;
      char an[] = {&lt;br /&gt;
        A0, A1, A2, A3                };&lt;br /&gt;
      digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
      unsigned int u1 = analogRead(A4);&lt;br /&gt;
      for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
      {&lt;br /&gt;
        u2 += analogRead(an[j]);&lt;br /&gt;
      }&lt;br /&gt;
      u2 /= 4;&lt;br /&gt;
      digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
      if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des capteurs }}====&lt;br /&gt;
Permet de détecter un problème dans les capteurs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur fonctionne&lt;br /&gt;
&lt;br /&gt;
Si la LED fonctionne, nous pouvons vérifier le fonctionnement en effectuant une mesure avec la LED allumée et une avec la LED éteinte. Si la mesure avec la LED allumée est supérieure à celle de la LED éteinte, cela signifie que le récepteur fonctionne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la LED ne fonctionne pas, nous remplaçons la LED allumée par un éclairage fort, pour la LED éteinte, nous plaçons les capteurs sur une surface sombre.&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur ne fonctionne pas &lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
   char void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Programme final }}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5}; //adresse des leds des capteurs de gauche à droite &lt;br /&gt;
char capt[4]={A2,A3,A1,A0}; //adresse des capteurs de gauche à droite&lt;br /&gt;
char led[] = {6, 7, 9, 8 }; //adresse des leds de gauche à droite&lt;br /&gt;
&lt;br /&gt;
boolean err=false; //flag passant à l'etat vrai si il y'a un disfonctionnement &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot; Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  test_cc(); //test court-circuit&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt(); &lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3])) test_capt_led_HS(); //si au moins une led de capteur ne fonctionne pas on utillise  cette fonction&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  if(err==false) Serial.println(&amp;quot;Aucun probleme&amp;quot;);&lt;br /&gt;
  err==false;&lt;br /&gt;
  Serial.println(&amp;quot;Test termine&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper sur entrer pour recommencer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK() //fonction attendant le caractère retour chariot comme confirmation que l'utilisateur à compris la consigne &lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Amélioration du programme de la procédure optimisée }}==&lt;br /&gt;
Nous avons dévellopé à l'aide de Processing une interface graphique qui faciliterai la recherche de la panne par l'utilisateur, cette interface affiche les problèmes et les consignes comme le moniteur série dans le précédent code, mais elle affiche aussi sur l'image du routage les pistes à vérifier en surbrillance. &lt;br /&gt;
De plus, le programme ne nécessite pas de changement de paramètre, donc peut être utilisé indépendamment &lt;br /&gt;
de Processing. Pour cela nous utilisons la fonction d'exportation de Processing afin de générer une application utilisable sur tout ordinateur.&lt;br /&gt;
Cependant cette methode serait réellement éfficace si toutes les cartes possèdaient le même routage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Partie Arduino&lt;br /&gt;
&lt;br /&gt;
Pour faciliter la communication, le texte envoyé à la liaison série est remplacé par un nombre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5};&lt;br /&gt;
char capt[4]={A2,A3,A1,A0};&lt;br /&gt;
char led[] = { 6, 7, 9, 8};&lt;br /&gt;
&lt;br /&gt;
boolean err=false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  test_cc();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for(int i=0; i&amp;lt;4;i++) led_HS[i]=0;&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt();&lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3]))  test_capt_led_HS();&lt;br /&gt;
&lt;br /&gt;
  if(err==false) Serial.println(26);&lt;br /&gt;
  err=false;&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(25);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;02&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+3);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+7);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+11);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+15);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(23);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(24);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Partie Processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
PImage board;&lt;br /&gt;
PImage cc;&lt;br /&gt;
PImage ledcg;&lt;br /&gt;
PImage ledmg;&lt;br /&gt;
PImage ledmd;&lt;br /&gt;
PImage ledcd;&lt;br /&gt;
PImage CNYcg;&lt;br /&gt;
PImage CNYmg;&lt;br /&gt;
PImage CNYmd;&lt;br /&gt;
PImage CNYcd;&lt;br /&gt;
PImage captcg;&lt;br /&gt;
PImage captmg;&lt;br /&gt;
PImage captmd;&lt;br /&gt;
PImage captcd;&lt;br /&gt;
&lt;br /&gt;
Serial myPort;&lt;br /&gt;
volatile char data[]= new char[255];&lt;br /&gt;
volatile int lecture;&lt;br /&gt;
volatile int i;&lt;br /&gt;
volatile boolean Sel=true;  //flag autorisant le mode de fonctionnement sélection du port série &lt;br /&gt;
volatile boolean Init=false;  //flag autorisant le mode de fonctionnement initialisation du port série &lt;br /&gt;
boolean fct=false;  //flag autorisant le mode de fonctionnement normal &lt;br /&gt;
boolean fin=false;  //flag indiquant la fin du test &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  size(1000, 800);&lt;br /&gt;
  background(100);&lt;br /&gt;
  textSize(20);&lt;br /&gt;
  text(&amp;quot;la touche maj est considérée comme un caractère, pour passer en majuscule, tapez ver.maj. puis backspace&amp;quot;,10,50,1000,100);&lt;br /&gt;
  textSize(32);&lt;br /&gt;
  text(&amp;quot;indiquez le port de la carte&amp;quot;, 10, 150);&lt;br /&gt;
&lt;br /&gt;
  board=loadImage(&amp;quot;imgboard.png&amp;quot;);// sélection et chargement des images&lt;br /&gt;
  cc=loadImage(&amp;quot;cc.png&amp;quot;);&lt;br /&gt;
  ledcg=loadImage(&amp;quot;ledcg.png&amp;quot;);&lt;br /&gt;
  ledmg=loadImage(&amp;quot;ledmg.png&amp;quot;);&lt;br /&gt;
  ledmd=loadImage(&amp;quot;ledmd.png&amp;quot;);&lt;br /&gt;
  ledcd=loadImage(&amp;quot;ledcd.png&amp;quot;);&lt;br /&gt;
  CNYcg=loadImage(&amp;quot;CNYcg.png&amp;quot;);&lt;br /&gt;
  CNYmg=loadImage(&amp;quot;CNYmg.png&amp;quot;);&lt;br /&gt;
  CNYmd=loadImage(&amp;quot;CNYmd.png&amp;quot;);&lt;br /&gt;
  CNYcd=loadImage(&amp;quot;CNYcd.png&amp;quot;);&lt;br /&gt;
  captcg=loadImage(&amp;quot;captcg.png&amp;quot;);&lt;br /&gt;
  captmg=loadImage(&amp;quot;captmg.png&amp;quot;);&lt;br /&gt;
  captmd=loadImage(&amp;quot;captmd.png&amp;quot;);&lt;br /&gt;
  captcd=loadImage(&amp;quot;captcd.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  imageMode(CORNERS);&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fonctionnement()&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 600, 1000, 200);//efface le précédent texte &lt;br /&gt;
  fill(255);&lt;br /&gt;
  switch(lecture) {&lt;br /&gt;
  //affichage des informations correspondant au code transmis par Arduino&lt;br /&gt;
  case 1:&lt;br /&gt;
    text(&amp;quot;Placez la carte sur une surface sombre, puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 2:&lt;br /&gt;
    image(cc, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre VCC et la masse!!!&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 3:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 4:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 5:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 6:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 7:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 8:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 9:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 10:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 11:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 12:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 13:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 14:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 15:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 16:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 17:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu droit &amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 18:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 19:&lt;br /&gt;
    image(captcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 20:&lt;br /&gt;
    image(captmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 21:&lt;br /&gt;
    image(captmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 22:&lt;br /&gt;
    image(captcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 23:&lt;br /&gt;
    text(&amp;quot;posez la carte sur une surface claire puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 24:&lt;br /&gt;
    text(&amp;quot;exposez la carte à une  lumière forte puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 25:&lt;br /&gt;
    text(&amp;quot;Test terminé\n appuyer sur une touche pour recommencer&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    fin=true;&lt;br /&gt;
    break;&lt;br /&gt;
  case 26:&lt;br /&gt;
    text(&amp;quot;Aucun problème&amp;quot;,150 ,550, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //partie initialisation du port série &lt;br /&gt;
  if (Init==true) &lt;br /&gt;
  {&lt;br /&gt;
    char nom[]=new char[i];&lt;br /&gt;
    for (char j=0; j&amp;lt;i; j++) nom[j]=data[j];//stockage des caractères choisi par l'utilisateur dans un tableau &lt;br /&gt;
    String name = new String(nom);//création d'une chaîne de caractère à partir du tableau&lt;br /&gt;
    myPort = new Serial(this, name, 9600);//initialisation du port série &lt;br /&gt;
    myPort.bufferUntil('\n');&lt;br /&gt;
    background(0);&lt;br /&gt;
    Init=false;&lt;br /&gt;
    fct=true;&lt;br /&gt;
    image(board, 0, 0, 1000, 600);&lt;br /&gt;
  }&lt;br /&gt;
  if (fct==true) fonctionnement();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed() {&lt;br /&gt;
&lt;br /&gt;
  //partie utilisée seulement en mode sélection du port série&lt;br /&gt;
  if (Sel==true) {&lt;br /&gt;
    if ((key==ENTER)||(key==RETURN)) //validation du choix du port série&lt;br /&gt;
    {&lt;br /&gt;
      Init=true;&lt;br /&gt;
      Sel=false;&lt;br /&gt;
    } else&lt;br /&gt;
    {&lt;br /&gt;
      if (key==BACKSPACE) //efface un caractère&lt;br /&gt;
      {&lt;br /&gt;
        data[i]=0;&lt;br /&gt;
        fill(100);&lt;br /&gt;
        noStroke();&lt;br /&gt;
        rect(10+40*(i-1), 168, 32, 140);&lt;br /&gt;
        fill(255);&lt;br /&gt;
        i--;&lt;br /&gt;
      } else {&lt;br /&gt;
        data[i]=key;&lt;br /&gt;
        text(data[i], 10+40*i, 200);&lt;br /&gt;
        i++;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  //partie utilisée seulement en fonctionnement normal&lt;br /&gt;
  if (fct==true)&lt;br /&gt;
  {&lt;br /&gt;
    myPort.write(0x0d);  //envoie confirmation à Arduino si on appui sur une touche&lt;br /&gt;
    if (fin==true)       //si le test est fini, efface l'écran avant de recommencer&lt;br /&gt;
    {&lt;br /&gt;
      image(board, 0, 0, 1000, 600);&lt;br /&gt;
      fin=false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void serialEvent(Serial myPort)&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 0, 200, 100);&lt;br /&gt;
  fill(255);&lt;br /&gt;
  byte l[]=myPort.readBytesUntil('\n');&lt;br /&gt;
  lecture=(l[0]-48)*10+(l[1]-48);  //conversion de la chaîne de caractère envoyé en un nombre de 2 chiffre&lt;br /&gt;
  text(lecture, 50, 50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour l'affichage dans l'interface, nous utilisons les images ci-dessous que nous superposons affin d'indiquer toutes les pistes qui nécessitent une vérification d'après le test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || [[Fichier:imgboard.png|200px|thumb|left|imgboard.png]] || [[Fichier:court-circuit.png|200px|thumb|left|cc.png]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:captcg.png|200px|thumb|left|captcg.png]] || [[Fichier:captmg.png|200px|thumb|left|captmg.png]] || [[Fichier:captmd.png|200px|thumb|left|captmd.png]] || [[Fichier:captcd.png|200px|thumb|left|captcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:CNYcg.png|200px|thumb|left|CNYcg.png]] || [[Fichier:CNYmg.png|200px|thumb|left|CNYmg.png]] || [[Fichier:CNYmd.png|200px|thumb|left|CNYmd.png]] || [[Fichier:CNYcd.png|200px|thumb|left|CNYcd.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fichier:ledcg.png|200px|thumb|left|ledcg.png]] || [[Fichier:ledmg.png|200px|thumb|left|ledmg.png]] || [[Fichier:ledmd.png|200px|thumb|left|ledmd.png]] || [[Fichier:ledcd.png|200px|thumb|left|ledcd.png]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledmg.png&amp;diff=6212</id>
		<title>Fichier:Ledmg.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledmg.png&amp;diff=6212"/>
				<updated>2015-06-20T14:29:06Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledmd.png&amp;diff=6211</id>
		<title>Fichier:Ledmd.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledmd.png&amp;diff=6211"/>
				<updated>2015-06-20T14:28:32Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledcg.png&amp;diff=6210</id>
		<title>Fichier:Ledcg.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledcg.png&amp;diff=6210"/>
				<updated>2015-06-20T14:28:04Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledcd.png&amp;diff=6209</id>
		<title>Fichier:Ledcd.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Ledcd.png&amp;diff=6209"/>
				<updated>2015-06-20T14:27:35Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Imgboard.png&amp;diff=6208</id>
		<title>Fichier:Imgboard.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Imgboard.png&amp;diff=6208"/>
				<updated>2015-06-20T14:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYmg.png&amp;diff=6207</id>
		<title>Fichier:CNYmg.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYmg.png&amp;diff=6207"/>
				<updated>2015-06-20T14:26:27Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYmd.png&amp;diff=6206</id>
		<title>Fichier:CNYmd.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYmd.png&amp;diff=6206"/>
				<updated>2015-06-20T14:25:45Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYcg.png&amp;diff=6205</id>
		<title>Fichier:CNYcg.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYcg.png&amp;diff=6205"/>
				<updated>2015-06-20T14:25:09Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYcd.png&amp;diff=6204</id>
		<title>Fichier:CNYcd.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:CNYcd.png&amp;diff=6204"/>
				<updated>2015-06-20T14:24:18Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Court-circuit.png&amp;diff=6203</id>
		<title>Fichier:Court-circuit.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Court-circuit.png&amp;diff=6203"/>
				<updated>2015-06-20T14:23:23Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Captmg.png&amp;diff=6202</id>
		<title>Fichier:Captmg.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Captmg.png&amp;diff=6202"/>
				<updated>2015-06-20T14:22:33Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Captmd.png&amp;diff=6201</id>
		<title>Fichier:Captmd.png</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Fichier:Captmd.png&amp;diff=6201"/>
				<updated>2015-06-20T14:21:46Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6200</id>
		<title>Arexx SUPERHEROS</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_SUPERHEROS&amp;diff=6200"/>
				<updated>2015-06-20T14:20:48Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Bleu|Amélioration du programme de la procédure optimisée }} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Introduction-Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
Au cours du précédent semestre, nous avons eu à concevoir un robot suiveur de ligne sur un châssis Arexx constitué d'une carte capteur et d'une carte gestion. Nous avons également dû réaliser une carte d’adaptation afin de relier directement la carte capteur à une carte ARDUINO. Nous avons aussi écrit des programmes pour tester les capteurs et les LEDs, suite à cela notre projet actuel consiste à écrire un programme permettant de détecter les pannes sur la carte capteur du robot Arexx et une possibilité de modifier la carte d’adaptation.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du cahier des charges}}=&lt;br /&gt;
&lt;br /&gt;
♦Créer deux algorithmes permettant de tester le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
♦Possibilité de modification de la carte d'adaptation.&lt;br /&gt;
&lt;br /&gt;
♦Fabrication de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♦ Réalisation des programmes permettant le fonctionnement de la carte gestion.&lt;br /&gt;
&lt;br /&gt;
♣ Suite à des imprévus, nous avons dû abandonner la fabrication de la carte gestion et des programmes correspondant.&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Planning }}=&lt;br /&gt;
=={{Bleu|Planning prévisionnel }}==&lt;br /&gt;
&lt;br /&gt;
[[Image:taches image.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt image.JPG]]&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Planning de la semaine d’inter-semestre}}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:gantt2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:planning2.JPG]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Carte capteur}}=&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Procédure des tests }}==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure manuelle }}==&lt;br /&gt;
Ces tests sont basés sur les programmes réalisés lors du projet inter-semestre précédent, en testant le bon fonctionnement des capteurs et des LEDs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[4] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char  ledv[4]={&lt;br /&gt;
  6,7,9,8};  &lt;br /&gt;
char  ledc[4]={&lt;br /&gt;
  4,3,2,5};&lt;br /&gt;
int i;&lt;br /&gt;
void setup(){&lt;br /&gt;
  for (char i = 0; i &amp;lt; 8; i++) pinMode(i+2, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlv(){&lt;br /&gt;
   Serial.println(&amp;quot;Parametrer le moniteur serie en 'Pas de fin de ligne'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledv[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char l=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledv[i],0);&lt;br /&gt;
    if(l==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(l==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led visible &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testlc(){&lt;br /&gt;
  Serial.println(&amp;quot;Utiliser l'objectif de votre smartphone pour voir les capteurs&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Appuyer sur o si a led s'allume ou sur n sinon&amp;quot;);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(ledc[i],1);&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    char m=Serial.read();&lt;br /&gt;
    while(Serial.available()&amp;gt;0);&lt;br /&gt;
    digitalWrite(ledc[i],0);&lt;br /&gt;
    if(m==0x6F){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(m==0x6E){&lt;br /&gt;
      Serial.print(&amp;quot;la led CNY &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void tcapteur(){&lt;br /&gt;
  char led[4]={&lt;br /&gt;
    4,3,2,5          };&lt;br /&gt;
  char capt[4]={&lt;br /&gt;
    A2,A3,A1,A0          };&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  analogReference(DEFAULT);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
    digitalWrite(led[i],0);&lt;br /&gt;
    int mes=analogRead(capt[i]);&lt;br /&gt;
    digitalWrite(led[i],1);&lt;br /&gt;
    delay(5);&lt;br /&gt;
    int mea=analogRead(capt[i]);&lt;br /&gt;
    if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      Serial.print(&amp;quot;le capteur &amp;quot;);&lt;br /&gt;
      Serial.print(pos[i]);&lt;br /&gt;
      Serial.println(&amp;quot; fonctionne&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    delay(1000);    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  testlv();&lt;br /&gt;
  testlc();&lt;br /&gt;
  Serial.println(&amp;quot;Verification des capteurs...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  tcapteur();&lt;br /&gt;
   Serial.println(&amp;quot;Appuyer sur une touche pour recommencer les tests&amp;quot;);&lt;br /&gt;
   OK();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Vert|Procédure optimisée }}==&lt;br /&gt;
&lt;br /&gt;
Avec cette procedure, les courts-circuits sont détéctés, les LEDs et les capteurs sont testés de façon semi-automatique par le programmes ci dessous réalisés lors de notre projet tutorés de ce semestre. l'utilisateur doit seulement deplacer la carte sur différentes surfaces afin de diminuer ou augmenter l'impact des capteurs sur les mesures suivant les besoins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Modification de la carte d'adaptation-Choix de la résistance}}===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:resistancebakir.png]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi une résistance la plus grande possible laissant un courant d'environ 4mA traverser une LED, afin de perturber le moins possible le fonctionnement des LEDs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si Vd=2V&amp;lt;br /&amp;gt;&lt;br /&gt;
U=((5V-Vd)*R)/R+R1 &lt;br /&gt;
= 3R/R+680 = (3*120)/800 &lt;br /&gt;
= 360/800= 0.45V&amp;lt;br /&amp;gt;&lt;br /&gt;
R=U/I = 0.45/4*10^-3=112.5 Ohm.&lt;br /&gt;
On prendra la résistance normalisée 120 Ohm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié la carte d'adaptation en mettant une résistance de 120ohm entre la masse de la carte capteur et la masse de la carte arduino, nous mesurons la tension aux bornes de cette résistance avec l'entrée analogique A4.&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture22.png|cadre|gauche|carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Capture11.png|cadre|gauche|schéma de la carte d'adaptation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Sous-programmes }}===&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des courts-circuits }}====&lt;br /&gt;
Ce test permet de détecter les courts-circuits entre Vcc et la masse.&lt;br /&gt;
&lt;br /&gt;
Si aucune LED n'est allumée et que les capteurs ne sont pas exposés à la lumière, aucun courant ne circule, donc il n'y a aucune tension aux bornes de la résistance de test, si il y a une tension importante, cela signifie qu'il y a un court-circuit entre la masse et l'alimentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  void test_cc(){&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des LEDs }}====&lt;br /&gt;
Ce test permet de détecter un problème ente 2 bornes de la LED , ou si une piste est coupée sur le circuit alimentant la LED . &lt;br /&gt;
&lt;br /&gt;
Pour les LEDs : en fonctionnement normal, la tension aux bornes des LEDs est d'environ 2V, donc la tension aux bornes de notre résistance de test est de ((5-Vd)*Rtest)/(Rtest+R)=(3*120)/(120+680)=0.45V.&lt;br /&gt;
Après la conversion analogique, 0.45V donne la valeur 92.&lt;br /&gt;
&lt;br /&gt;
Pour  les LEDs infrarouges des capteurs : les récepteurs des capteurs créent une tension lorsqu'on allume les LEDs donc la tension aux bornes dépend aussi de la tension aux bornes des photo-transistors. Nous avons observé les variations des 2 tensions en faisant varier la luminosité, afin de trouver une équation linéaire approximant le fonctionnement des capteurs.&lt;br /&gt;
Nous obtenons : U=413 -(20/307) * u2     avec u2 la tension moyenne des capteurs.&lt;br /&gt;
&lt;br /&gt;
Pour limiter l'impact des tensions des capteurs dans les mesures nous placerons les capteurs sur une surface sombre.&lt;br /&gt;
Nous prenons une marge de 25 % dans nos calculs afin d’éviter les problèmes de variations de tensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   char * pos[] = {&amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
  char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
  char ledCNY[4]={ 4,3,2,5 };&lt;br /&gt;
  char capt[4]={ A2,A3,A1,A0};&lt;br /&gt;
  char led[] = {6, 7, 9, 8 };&lt;br /&gt;
&lt;br /&gt;
  void test_led()&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
    OK();&lt;br /&gt;
  &lt;br /&gt;
    //partie LED presence ligne&lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(led[i], HIGH);&lt;br /&gt;
      int val = analogRead(A4);&lt;br /&gt;
      digitalWrite(led[i], LOW);&lt;br /&gt;
      if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    //partie LED CNY&lt;br /&gt;
    &lt;br /&gt;
    for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
    {&lt;br /&gt;
      unsigned int u2=0;&lt;br /&gt;
      char an[] = {&lt;br /&gt;
        A0, A1, A2, A3                };&lt;br /&gt;
      digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
      unsigned int u1 = analogRead(A4);&lt;br /&gt;
      for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
      {&lt;br /&gt;
        u2 += analogRead(an[j]);&lt;br /&gt;
      }&lt;br /&gt;
      u2 /= 4;&lt;br /&gt;
      digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
      if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
      if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
      {&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
        Serial.println(pos[i]);&lt;br /&gt;
        led_HS[i] = HIGH;&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===={{Vert|Test des capteurs }}====&lt;br /&gt;
Permet de détecter un problème dans les capteurs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur fonctionne&lt;br /&gt;
&lt;br /&gt;
Si la LED fonctionne, nous pouvons vérifier le fonctionnement en effectuant une mesure avec la LED allumée et une avec la LED éteinte. Si la mesure avec la LED allumée est supérieure à celle de la LED éteinte, cela signifie que le récepteur fonctionne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la LED ne fonctionne pas, nous remplaçons la LED allumée par un éclairage fort, pour la LED éteinte, nous plaçons les capteurs sur une surface sombre.&lt;br /&gt;
&lt;br /&gt;
♠Si la LED du capteur ne fonctionne pas &lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
   char void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{Bleu|Programme final }}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
char * pos[] = {&lt;br /&gt;
  &amp;quot;cote gauche&amp;quot;, &amp;quot;milieu gauche&amp;quot;, &amp;quot;milieu droit&amp;quot;, &amp;quot;cote droit&amp;quot;};&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5}; //adresse des leds des capteurs de gauche à droite &lt;br /&gt;
char capt[4]={A2,A3,A1,A0}; //adresse des capteurs de gauche à droite&lt;br /&gt;
char led[] = {6, 7, 9, 8 }; //adresse des leds de gauche à droite&lt;br /&gt;
&lt;br /&gt;
boolean err=false; //flag passant à l'etat vrai si il y'a un disfonctionnement &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot; Parametrer le moniteur serie en 'retour chariot'&amp;quot;);&lt;br /&gt;
  test_cc(); //test court-circuit&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt(); &lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3])) test_capt_led_HS(); //si au moins une led de capteur ne fonctionne pas on utillise  cette fonction&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  if(err==false) Serial.println(&amp;quot;Aucun probleme&amp;quot;);&lt;br /&gt;
  err==false;&lt;br /&gt;
  Serial.println(&amp;quot;Test termine&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Taper sur entrer pour recommencer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK() //fonction attendant le caractère retour chariot comme confirmation que l'utilisateur à compris la consigne &lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Court-circuit entre VCC et la masse!!!&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface noire&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis appuyez sur une touche&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a une piste coupée sur le circuit de la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;Il y a un court-circuit sur la LED du capteur &amp;quot;);&lt;br /&gt;
      Serial.println(pos[i]);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface clair&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.print(&amp;quot;Il y a un probleme sur le circuit du capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  char led[4] = {&lt;br /&gt;
    4, 3, 2, 5&lt;br /&gt;
  };&lt;br /&gt;
  char capt[4] = {&lt;br /&gt;
    A2, A3, A1, A0&lt;br /&gt;
  };&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;Poser la carte sur une surface sombre&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;Exposez la carte a une lumiere forte&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Puis taper sur ok&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.print(&amp;quot;Le capteur &amp;quot;);&lt;br /&gt;
        Serial.print(pos[i]);&lt;br /&gt;
        Serial.println(&amp;quot; est HS&amp;quot;);&lt;br /&gt;
        err=true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{Bleu|Amélioration du programme de la procédure optimisée }}==&lt;br /&gt;
Nous avons dévellopé à l'aide de Processing une interface graphique qui faciliterai la recherche de la panne par l'utilisateur, cette interface affiche les problèmes et les consignes comme le moniteur série dans le précédent code, mais elle affiche aussi sur l'image du routage les pistes à vérifier en surbrillance. &lt;br /&gt;
De plus, le programme ne nécessite pas de changement de paramètre, donc peut être utilisé indépendamment &lt;br /&gt;
de Processing. Pour cela nous utilisons la fonction d'exportation de Processing afin de générer une application utilisable sur tout ordinateur.&lt;br /&gt;
Cependant cette methode serait réellement éfficace si toutes les cartes possèdaient le même routage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Partie Arduino&lt;br /&gt;
&lt;br /&gt;
Pour faciliter la communication, le texte envoyé à la liaison série est remplacé par un nombre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char led_HS[4];//CNY{gauche, mil gauche, mil droit, droit}&lt;br /&gt;
char ledCNY[4]={4,3,2,5};&lt;br /&gt;
char capt[4]={A2,A3,A1,A0};&lt;br /&gt;
char led[] = { 6, 7, 9, 8};&lt;br /&gt;
&lt;br /&gt;
boolean err=false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  for (char i = 0; i &amp;lt; 14; i++) pinMode(i, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  test_cc();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for(int i=0; i&amp;lt;4;i++) led_HS[i]=0;&lt;br /&gt;
  test_led();&lt;br /&gt;
  test_capt();&lt;br /&gt;
  if((led_HS[0]==1)||(led_HS[1]==1)||(led_HS[2])||(led_HS[3]))  test_capt_led_HS();&lt;br /&gt;
&lt;br /&gt;
  if(err==false) Serial.println(26);&lt;br /&gt;
  err=false;&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(25);&lt;br /&gt;
  OK();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//////////&lt;br /&gt;
void OK()&lt;br /&gt;
{&lt;br /&gt;
  char r;&lt;br /&gt;
  do {&lt;br /&gt;
    while (Serial.available() == 0);&lt;br /&gt;
    r = Serial.read();&lt;br /&gt;
  } &lt;br /&gt;
  while ( r != 0x0d);&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_cc(){&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  int val = analogRead(A4);&lt;br /&gt;
  if(val&amp;gt;512)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.println(&amp;quot;02&amp;quot;);&lt;br /&gt;
    while(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////&lt;br /&gt;
void test_led()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
&lt;br /&gt;
  //partie LED presence ligne&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(led[i], HIGH);&lt;br /&gt;
    int val = analogRead(A4);&lt;br /&gt;
    digitalWrite(led[i], LOW);&lt;br /&gt;
    if (val &amp;lt; 92 * 0.75) &lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+3);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if(val &amp;gt; 92 * 1.25)&lt;br /&gt;
    {&lt;br /&gt;
      Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      Serial.println(i+7);&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //partie LED CNY&lt;br /&gt;
&lt;br /&gt;
  for (char i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned int u2=0;&lt;br /&gt;
    char an[] = {&lt;br /&gt;
      A0, A1, A2, A3                };&lt;br /&gt;
    digitalWrite(ledCNY[i], HIGH);&lt;br /&gt;
    unsigned int u1 = analogRead(A4);&lt;br /&gt;
    for (int j = 0; j &amp;lt; 4; j++)&lt;br /&gt;
    {&lt;br /&gt;
      u2 += analogRead(an[j]);&lt;br /&gt;
    }&lt;br /&gt;
    u2 /= 4;&lt;br /&gt;
    digitalWrite(ledCNY[i], LOW);&lt;br /&gt;
    if( u1 &amp;lt; (0.75 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+11);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
    if( u1 &amp;gt; (1.25 *(413 + (-20/307) * u2)))&lt;br /&gt;
    {&lt;br /&gt;
      Serial.println(i+15);&lt;br /&gt;
      led_HS[i] = HIGH;&lt;br /&gt;
      err=true;&lt;br /&gt;
      delay(2000);&lt;br /&gt;
      OK();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}           &lt;br /&gt;
//////////&lt;br /&gt;
void test_capt()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  Serial.println(23);&lt;br /&gt;
  OK();&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
    if(led_HS[i]==0)&lt;br /&gt;
    {&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      int mes=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],1);&lt;br /&gt;
      delay(5);&lt;br /&gt;
      int mea=analogRead(capt[i]);&lt;br /&gt;
      digitalWrite(ledCNY[i],0);&lt;br /&gt;
      if(mea&amp;gt;(mes*0.95)){&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////&lt;br /&gt;
void test_capt_led_HS() {&lt;br /&gt;
  int i;&lt;br /&gt;
  int mes[4], mea[4];&lt;br /&gt;
  Serial.println(&amp;quot;01&amp;quot;);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mes[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(24);&lt;br /&gt;
  OK();&lt;br /&gt;
  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;
&lt;br /&gt;
    if(led_HS[i]==1)&lt;br /&gt;
    {&lt;br /&gt;
      mea[i] = analogRead(capt[i]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (mea[i] &amp;gt; (mes[i]*0.98 )) {&lt;br /&gt;
        Serial.println(i+19);&lt;br /&gt;
        err=true;&lt;br /&gt;
        delay(2000);&lt;br /&gt;
        OK();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Partie Processing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
PImage board;&lt;br /&gt;
PImage cc;&lt;br /&gt;
PImage ledcg;&lt;br /&gt;
PImage ledmg;&lt;br /&gt;
PImage ledmd;&lt;br /&gt;
PImage ledcd;&lt;br /&gt;
PImage CNYcg;&lt;br /&gt;
PImage CNYmg;&lt;br /&gt;
PImage CNYmd;&lt;br /&gt;
PImage CNYcd;&lt;br /&gt;
PImage captcg;&lt;br /&gt;
PImage captmg;&lt;br /&gt;
PImage captmd;&lt;br /&gt;
PImage captcd;&lt;br /&gt;
&lt;br /&gt;
Serial myPort;&lt;br /&gt;
volatile char data[]= new char[255];&lt;br /&gt;
volatile int lecture;&lt;br /&gt;
volatile int i;&lt;br /&gt;
volatile boolean Sel=true;  //flag autorisant le mode de fonctionnement sélection du port série &lt;br /&gt;
volatile boolean Init=false;  //flag autorisant le mode de fonctionnement initialisation du port série &lt;br /&gt;
boolean fct=false;  //flag autorisant le mode de fonctionnement normal &lt;br /&gt;
boolean fin=false;  //flag indiquant la fin du test &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  size(1000, 800);&lt;br /&gt;
  background(100);&lt;br /&gt;
  textSize(20);&lt;br /&gt;
  text(&amp;quot;la touche maj est considérée comme un caractère, pour passer en majuscule, tapez ver.maj. puis backspace&amp;quot;,10,50,1000,100);&lt;br /&gt;
  textSize(32);&lt;br /&gt;
  text(&amp;quot;indiquez le port de la carte&amp;quot;, 10, 150);&lt;br /&gt;
&lt;br /&gt;
  board=loadImage(&amp;quot;imgboard.png&amp;quot;);// sélection et chargement des images&lt;br /&gt;
  cc=loadImage(&amp;quot;cc.png&amp;quot;);&lt;br /&gt;
  ledcg=loadImage(&amp;quot;ledcg.png&amp;quot;);&lt;br /&gt;
  ledmg=loadImage(&amp;quot;ledmg.png&amp;quot;);&lt;br /&gt;
  ledmd=loadImage(&amp;quot;ledmd.png&amp;quot;);&lt;br /&gt;
  ledcd=loadImage(&amp;quot;ledcd.png&amp;quot;);&lt;br /&gt;
  CNYcg=loadImage(&amp;quot;CNYcg.png&amp;quot;);&lt;br /&gt;
  CNYmg=loadImage(&amp;quot;CNYmg.png&amp;quot;);&lt;br /&gt;
  CNYmd=loadImage(&amp;quot;CNYmd.png&amp;quot;);&lt;br /&gt;
  CNYcd=loadImage(&amp;quot;CNYcd.png&amp;quot;);&lt;br /&gt;
  captcg=loadImage(&amp;quot;captcg.png&amp;quot;);&lt;br /&gt;
  captmg=loadImage(&amp;quot;captmg.png&amp;quot;);&lt;br /&gt;
  captmd=loadImage(&amp;quot;captmd.png&amp;quot;);&lt;br /&gt;
  captcd=loadImage(&amp;quot;captcd.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  imageMode(CORNERS);&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fonctionnement()&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 600, 1000, 200);//efface le précédent texte &lt;br /&gt;
  fill(255);&lt;br /&gt;
  switch(lecture) {&lt;br /&gt;
  //affichage des informations correspondant au code transmis par Arduino&lt;br /&gt;
  case 1:&lt;br /&gt;
    text(&amp;quot;Placez la carte sur une surface sombre, puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 2:&lt;br /&gt;
    image(cc, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre VCC et la masse!!!&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 3:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 4:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 5:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 6:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 7:&lt;br /&gt;
    image(ledcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 8:&lt;br /&gt;
    image(ledmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 9:&lt;br /&gt;
    image(ledmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 10:&lt;br /&gt;
    image(ledcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 11:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 12:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 13:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 14:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 15:&lt;br /&gt;
    image(CNYcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 16:&lt;br /&gt;
    image(CNYmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 17:&lt;br /&gt;
    image(CNYmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur milieu droit &amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 18:&lt;br /&gt;
    image(CNYcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a un court-circuit entre les bornes de la led du capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 19:&lt;br /&gt;
    image(captcg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 20:&lt;br /&gt;
    image(captmg, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu gauche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 21:&lt;br /&gt;
    image(captmd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur milieu droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 22:&lt;br /&gt;
    image(captcd, 0, 0, 1000, 600);&lt;br /&gt;
    text(&amp;quot;Il y a une piste coupée ou un composant hors-service sur la piste alimentant le capteur côté droit&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 23:&lt;br /&gt;
    text(&amp;quot;posez la carte sur une surface claire puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 24:&lt;br /&gt;
    text(&amp;quot;exposez la carte à une  lumière forte puis appuyez sur une touche&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    break;&lt;br /&gt;
  case 25:&lt;br /&gt;
    text(&amp;quot;Test terminé\n appuyer sur une touche pour recommencer&amp;quot;, 50, 650, 950, 800);&lt;br /&gt;
    fin=true;&lt;br /&gt;
    break;&lt;br /&gt;
  case 26:    text(&amp;quot;Aucun problème&amp;quot;,150 ,550, 950, 800);    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //partie initialisation du port série &lt;br /&gt;
  if (Init==true) &lt;br /&gt;
  {&lt;br /&gt;
    char nom[]=new char[i];&lt;br /&gt;
    for (char j=0; j&amp;lt;i; j++) nom[j]=data[j];//stockage des caractères choisi par l'utilisateur dans un tableau &lt;br /&gt;
    String name = new String(nom);//création d'une chaîne de caractère à partir du tableau&lt;br /&gt;
    myPort = new Serial(this, name, 9600);//initialisation du port série &lt;br /&gt;
    myPort.bufferUntil('\n');&lt;br /&gt;
    background(0);&lt;br /&gt;
    Init=false;&lt;br /&gt;
    fct=true;&lt;br /&gt;
    image(board, 0, 0, 1000, 600);&lt;br /&gt;
  }&lt;br /&gt;
  if (fct==true) fonctionnement();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed() {&lt;br /&gt;
&lt;br /&gt;
  //partie utilisée seulement en mode sélection du port série&lt;br /&gt;
  if (Sel==true) {&lt;br /&gt;
    if ((key==ENTER)||(key==RETURN)) //validation du choix du port série&lt;br /&gt;
    {&lt;br /&gt;
      Init=true;&lt;br /&gt;
      Sel=false;&lt;br /&gt;
    } else&lt;br /&gt;
    {&lt;br /&gt;
      if (key==BACKSPACE) //efface un caractère&lt;br /&gt;
      {&lt;br /&gt;
        data[i]=0;&lt;br /&gt;
        fill(100);&lt;br /&gt;
        noStroke();&lt;br /&gt;
        rect(10+40*(i-1), 168, 32, 140);&lt;br /&gt;
        fill(255);&lt;br /&gt;
        i--;&lt;br /&gt;
      } else {&lt;br /&gt;
        data[i]=key;&lt;br /&gt;
        text(data[i], 10+40*i, 200);&lt;br /&gt;
        i++;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  //partie utilisée seulement en fonctionnement normal&lt;br /&gt;
  if (fct==true)&lt;br /&gt;
  {&lt;br /&gt;
    myPort.write(0x0d);  //envoie confirmation à Arduino si on appui sur une touche&lt;br /&gt;
    if (fin==true)       //si le test est fini, efface l'écran avant de recommencer&lt;br /&gt;
    {&lt;br /&gt;
      image(board, 0, 0, 1000, 600);&lt;br /&gt;
      fin=false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void serialEvent(Serial myPort)&lt;br /&gt;
{&lt;br /&gt;
  fill(0);&lt;br /&gt;
  rect(0, 0, 200, 100);&lt;br /&gt;
  fill(255);&lt;br /&gt;
  byte l[]=myPort.readBytesUntil('\n');&lt;br /&gt;
  lecture=(l[0]-48)*10+(l[1]-48);  //conversion de la chaîne de caractère envoyé en un nombre de 2 chiffre&lt;br /&gt;
  text(lecture, 50, 50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:captcd.png|200px|thumb|left|captcd.png]]&lt;br /&gt;
[[Fichier:captcg.png|200px|thumb|left|captcg.png]]&lt;br /&gt;
[[Fichier:captmd.png|200px|thumb|left|captmd.png]]&lt;br /&gt;
[[Fichier:captmg.png|200px|thumb|left|captmg.png]]&lt;br /&gt;
[[Fichier:court-circuit.png|200px|thumb|left|cc.png]]&lt;br /&gt;
[[Fichier:CNYcd.png|200px|thumb|left|CNYcd.png]]&lt;br /&gt;
[[Fichier:CNYcg.png|200px|thumb|left|CNYcg.png]]&lt;br /&gt;
[[Fichier:CNYmd.png|200px|thumb|left|CNYmd.png]]&lt;br /&gt;
[[Fichier:CNYmg.png|200px|thumb|left|CNYmg.png]]&lt;br /&gt;
[[Fichier:imgboard.png|200px|thumb|left|imgboard.png]]&lt;br /&gt;
[[Fichier:ledcd.png|200px|thumb|left|ledcd.png]]&lt;br /&gt;
[[Fichier:ledcg.png|200px|thumb|left|ledcg.png]]&lt;br /&gt;
[[Fichier:ledmd.png|200px|thumb|left|ledmd.png]]&lt;br /&gt;
[[Fichier:ledmg.png|200px|thumb|left|ledmg.png]]&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	<entry>
		<id>http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6199</id>
		<title>Arexx MENAHO</title>
		<link rel="alternate" type="text/html" href="http://wikigeii.iut-troyes.univ-reims.fr//index.php?title=Arexx_MENAHO&amp;diff=6199"/>
				<updated>2015-06-20T14:19:41Z</updated>
		
		<summary type="html">&lt;p&gt;Troyesgeii : /* {{Rouge|Partie Fonctionnement global}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Projets Tutorés S2]]&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Présentation du projet}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Diagramme de Gantt}}=&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Programme de test et explications}}=&lt;br /&gt;
&lt;br /&gt;
==={{Rouge|Partie Fonctionnement global}}===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
int A,B,C,D;&lt;br /&gt;
char choix=0;&lt;br /&gt;
void setup(){  Serial.begin(9600);&lt;br /&gt;
  pinMode(8,OUTPUT);&lt;br /&gt;
  pinMode(9,OUTPUT);&lt;br /&gt;
  pinMode(2,OUTPUT);&lt;br /&gt;
  pinMode(3,OUTPUT);&lt;br /&gt;
  pinMode(5,OUTPUT);&lt;br /&gt;
  pinMode(4,OUTPUT);&lt;br /&gt;
  pinMode(6,OUTPUT);&lt;br /&gt;
  pinMode(7,OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void menu()&lt;br /&gt;
{   delay(1);&lt;br /&gt;
   Serial.println(&amp;quot;Bienvenue dans le programme de test de la carte capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 1 - Test des leds temoins&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 2 - Test des leds des cny70&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot;Taper 3 - Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
   while(Serial.available() == 0);&lt;br /&gt;
   choix=Serial.read();&lt;br /&gt;
   if(choix=='1')&lt;br /&gt;
   { &lt;br /&gt;
    led();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='2')&lt;br /&gt;
   {&lt;br /&gt;
     ledcny();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='3')&lt;br /&gt;
   {&lt;br /&gt;
     total();&lt;br /&gt;
   }&lt;br /&gt;
   if(choix=='4') &lt;br /&gt;
   {&lt;br /&gt;
     menu();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led() // allume toutes les leds temoins&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds temoins&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les quatre leds temoins doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(5,1);&lt;br /&gt;
  digitalWrite(4,1);&lt;br /&gt;
  digitalWrite(6,1);&lt;br /&gt;
  digitalWrite(7,1);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ledcny()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test des leds des cny70&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Regarder les leds des cny70 avec un appareil photo&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Elles doivent toutes etre allume&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1); &lt;br /&gt;
 digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while(Serial.available() == 0);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void total()&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;Test du fonctionnement led-capteur&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Masquer les CNY un a un&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Les leds correspondantes doivent s'allumer&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;Sinon, se referer au cahier de depannage&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;); &lt;br /&gt;
  Serial.println(&amp;quot;taper 1 pour revenir au menu&amp;quot;);&lt;br /&gt;
   Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
  while( (Serial.available() == 0) &amp;amp;&amp;amp; (choix != 1) )&lt;br /&gt;
  {  &lt;br /&gt;
digitalWrite(8,1);&lt;br /&gt;
  digitalWrite(9,1);&lt;br /&gt;
  digitalWrite(2,1);&lt;br /&gt;
  digitalWrite(3,1);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A0),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Gauche : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A1),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Milieu Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A2),DEC);&lt;br /&gt;
//  Serial.print(&amp;quot;Cote Droit : &amp;quot;);&lt;br /&gt;
//  Serial.println(analogRead(A3),DEC);&lt;br /&gt;
  A = analogRead(A0);&lt;br /&gt;
  B = analogRead(A1);&lt;br /&gt;
  C = analogRead(A2);&lt;br /&gt;
  D = analogRead(A3);&lt;br /&gt;
  if ( A &amp;lt;= 500)&lt;br /&gt;
 { &lt;br /&gt;
digitalWrite(5,1) ;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(5,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( B &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(4,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (D &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(6,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
{ &lt;br /&gt;
   digitalWrite(6,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  if (C &amp;lt;=500)&lt;br /&gt;
 { &lt;br /&gt;
   digitalWrite(7,1) ;&lt;br /&gt;
  } &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
    digitalWrite(7,0) ;&lt;br /&gt;
  }&lt;br /&gt;
  delay(100);&lt;br /&gt;
  choix=Serial.read();&lt;br /&gt;
  if(choix=='1')&lt;br /&gt;
  {&lt;br /&gt;
    menu(); &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  menu();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
={{Rouge|Cahier de dépannage}}=&lt;/div&gt;</summary>
		<author><name>Troyesgeii</name></author>	</entry>

	</feed>