Go Down

Topic: aide en programmation testeur de court-circuit et pinnage (Read 8 times) previous topic - next topic

mathy

j'ai déclaré" val" en int  dont je pars juste a chaque fois changer la valeur mais comme c'est mon teste de continuité; donc val =0

et a, b sont déclarer au début en byte se sont les valeurs respectives des régistres de mes PCF receveurs.

Cependant, avec ce programme je n'arrive pas à faire afficher " y" seul lorsque " a ou b" ne sont pas égale a zéro.

lorsque "a " est différent de zero, ou lorsque mes receveurs lisent une valeur différente de val ?
alors, ils doivent afficher la pin défectueuse.

Mon soucis, est qu'il le fait mais il se met a incrémenté Y pas la suite ;ce qui est normal vue mon code mais, j'aimerai savoir s'il peux juste m'afficher la valeur de la pin défectueuse et s'arrête .

J'ai pensé a créer une interruption pour ca .

Mais, je ne suis pas très professionnel en programmation .

Merci de m'aider!



mathy

bonjour, à tous !

quelqu'un peut -il m'aidé ?

je cherche un expandeur semblable au PCF8575C mais , avec  une autre façon de l'adresser un peut comme le PCF8574N et le PCF8574AN .

Merci ! de m'aider

albertrand

Tu  recherche un expandeur semblable au PCF8575C,  pour une question de support si cet cella moi j'utilise des PCA 9555n en support DIP .
Ce sons aussi des 16 In/Out Sur bus I2C.
« Ungibus et Rostro » (De bec et d'ongles)

mathy

BONJOUR à Tous ,

il y a quelque temps je me suis inscrite sur ce site pour avoir de l'aide sur mon projet de TFE .

et j'ai eu plusieurs proposition qui m'ont aider jusqu'ici . J'ai même eu a y laissé  mon cahier des charges sur ce topic pour parler des différents teste que je devais réaliser .

Aujourd'hui encore je vous demande de l'aide  :( pour mon dernier teste qui est : le teste de risque de croisements entre les 3pins d'une même paire audio sur un multicables-audio .

par exemple : une paire est constituer de ABC  le teste consiste a dire si A est reliée à B ou C est reliée à B .

j'utilise des pcf8574 OU PCF8575  et j'ai pensé que je pourrai envoyer le code binaire 101 et si j'ai 011 ou 100 alors A ou C touche B .

je ne sais pas si c'est correct comme idée ou initiative .

Merci à tous  de vouloir  m'aide .

mathy

bonjour,

j'ai des doute :~ sur ce programme j'aimerai savoir s' il est fiable ou non?

dans ce programme j'écris dans certains PCF et je lis dans d'autres que j'ai appelé" receveurs" .


Merci de me dire , si du moins j'ai bien programmer
Code: [Select]


#include "Wire.h"
#include <LiquidCrystal.h>

#define win1 0x20 // expandeur envoyeur

#define win2 0x22 //expandeur envoyeur

#define win3 0x21 //expandeur  envoyeur

#define win4 0x23 //expandeur  envoyeur

#define win5 0x24 //expandeur receveur

#define win6 0x25 // expandeur  receveur

#define win7 0x26 //expandeur  receveur

#define win8 0x27 //expandeur receveur

int dd=200;
int val= 0;
byte a,b,c;
byte count;
int state = LOW;



// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


void setup() {

Wire.begin();

Serial.begin(9600);
lcd.begin(16, 2);
lcd.print(" test continuite");
//allOff(); // les valeurs par défaut PCF8574N à élevé, de sorte cette fonction désactive toutes les sorties hors


}

void testcontinu2()



for (int y=1; y<9; y ++)

{
   Serial.println ();
// mettre toutes les broches de win1 a l'état haut
Wire.beginTransmission(win1);
Wire.send(val);
Wire.endTransmission();

// Lecture des valeurs
Wire.requestFrom(win3, 1);
a = Wire.receive();
Serial.println();
Serial.print ("RECEVOIR-");
Serial.print(a,DEC);
delay(dd+500);


if (a!=0 || b!=0)
{   
   //lcd.begin(16, 2);
  lcd.print("pin");
  lcd.print(y);
  delay(200);
  lcd.print("coupure ");
  Serial.print (" pin");
  Serial.print(y);
   delay(200);
  Serial.print("coupure ");
}
y=1;
}
for (int y=9; y<16; y ++)
{
 
// mettre toutes les broches de win2 a l'état haut
Wire.beginTransmission(win2);
Wire.send(val);
Wire.endTransmission();
delay(dd+500);

// Lecture des valeurs
Wire.requestFrom(win4, 1);
b = Wire.receive();
Serial.print ("RECEVOIR 2-");
Serial.print(b,BIN);
delay(dd+50);
//afficher la pin d'éffectueuse
if (a!=0 || b!=0)
{

Serial.print (" pin");
  Serial.print(y);
   delay(200);
  Serial.print("coupure ");

}

for (int y=16; y<25; y ++)
{
 
   
// mettre toutes les broches de win2 a l'état haut
Wire.beginTransmission(win5);
Wire.send(val);
Wire.endTransmission();
delay(dd+500);

// Lecture des valeurs
Wire.requestFrom(win4, 1);
c = Wire.receive();
Serial.print ("RECEVOIR 3-");
Serial.print(  c,BIN);
delay(dd+50);
//afficher la pin d'éffectueuse
if (a!=0 || b!=0|| c!=0)
{

Serial.print (" pin");
  Serial.print(y);
   delay(200);
  Serial.print("coupure ");
}*/

}

void loop()


{

  testcontinu2();
 
}




Go Up