Partage

Alimentation Arduino + Afficheurs

27 janvier 2018 à 15:18:08

Bonjour à tous,

Dans le cadre de on projet, je me heurte une nouvelle fois à un léger problème et je me tourne donc de nouveau vers vous...

Comme vous pouvez le voir sur cette image, j'alimente des afficheurs 7 segments multiplexés ainsi qu'une série de LED montés en parallèles. Ces dernières clignotent sans utiliser la fonction "delay" et pourtant, quand elles passent de l'état haut à l'état bas mon afficheur réagit de la même façon... Pis encore, les segments sont peu brillants ! Ce n'est pas dû à la lumière du jour, ils éclairent d'eux-même d'une façon peu intense.

J'alimente mon Arduino via le port USB de mon PC.

Il s'agit de ces afficheurs:

http://www.conrad.fr/ce/fr/product/1050574/Afficheur-7-segments-Kingbright-SC10-21CGKWA-Nombre-de-chiffres-1-vert-254-mm-4-V-1-pcs

Du coup j'ai testé avec des résistances très faible:

https://www.amazon.fr/gp/product/B01JPCJII8/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1

Je sais que 30 ohms est une valeur en déca de celle qui devrait être utilisée (100 ohms normalement). A quoi cela serait-il lié ? L'alim USB trop faible ? Ça m'étonnerait...

Vous êtes demandeur·se d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur·se web junior

Je postule
Formation
courte
Financée
à 100%
27 janvier 2018 à 19:40:32

Avec autant de LED il va falloir envisager une alimentation séparée, le risque de tout griller est possible.

Il serait intéressant de poster le schéma.

28 janvier 2018 à 16:15:43

Merci pour la réponse. J'ai utilisé le une alimentation stabilisée pour alimenter mon montage mais rien y fait. J'utilise juste un Arduino, un 74hc595 et un expander I2C MCP2317 sur lesquels je relie les afficheurs ainsi que mes 6 LED... Mon alimentation affiche une consommation totale de 0,04A sous 7V... C'est pour ça, je ne comprend pas.
Staff 28 janvier 2018 à 17:12:26

Si je me souvient bien de tes autres postes, tu fais un multiplexage sur tes 9 afficheur.

Donc dans le meilleurs des cas, un afficheur n'est allumé qu'une fois sur 9.

Au final, la luminosité moyenne perçu est forcément 9 fois plus faible que si tu n'avais pas de multiplexage.

Et si tu fais encore d'autres delay ou autre pendant que tes afficheurs sont OFF, alors la luminosité moyenne perçue sera encore plus faible.

Tu dis mettre 30 ohm, cela fait un courant de I = U / R = ( 5 - 3.7 ) / 30 = 43mA, ce qui est effectivement plus que les 10mA recommandé.

Mais comme ton afficheur n'est allumé que 1/9ème du temps, cela revient à avoir un courant de 5mA, ce qui n'est pas énorme.

Pour corriger le problème, il y a plusieurs solutions :

- abaisser les résistances pour envoyer plus de courant quand l'afficheur arrive à son tour

- mettre moins de multiplexage (exemple: faire 3 circuits de 3 afficheurs pour pouvoir allumer 3 afficheur en même temps)

- s'assurer qu'il n'y a pas d'autres bouts de code ralentissant le multiplexage

28 janvier 2018 à 17:35:01

Merci pour ta réponse. Je vais essayer, dans un 1er temps, de mettre des résistances de 10 ohms et on verra si cela aide ou non... Par contre elles dissipent, au maximum, une puissance de 0,25W. Je pense que ce n'est pas suffisant...
Staff 28 janvier 2018 à 18:02:08

Il n'y a pas que tes résistances qui ne vont pas aimer...

Le 74hc595est limité à 35mA maxi continu par sortie.

Avec tes résistances de 30 ohm, tu été déjà hors limite du accepte pour ce composant.

28 janvier 2018 à 18:28:29

Pour palier à ce problème, j'ai essayé d'utiliser un ULN2803 en sortie des pin a,b,c,d,e,f,g du 74hc595 relié directement aux segments des afficheurs, mais ça ne fonctionne absolument pas... Refaire des afficheurs, c'est délicat. Car si je n'ai pas assez de sorties sur l'Arduino pour les pin data/latch/clock (les autres sorties sont utilisées) et si je monte mes 74hc595 les afficheurs ne fonctionnent plus...
Staff 28 janvier 2018 à 18:57:32

Je pense que tu avais une erreur de câblage lorsque tu as tenté de faire un système avec 2 chip 74hc595;)

On peut parfaitement cascader autant de chip 74hc595 que l'on veut avec seulement 3 pins : data/clock/latch.

En revanche, si l'on veut changer qu'un seul afficheur, il faut forcément rafraichir tous les chip 74hc595

Pour éviter d'avoir à tous les rafraichir, il faudrait qu'ils aient chacun leur pin latch, tandis que les pins data et clock peuvent être commune avec un câblage parallèle.

28 janvier 2018 à 19:15:09

Je viens de relier un second 74hc595 à mes dernières sorties disponibles, à savoir A0 (pour le data), A1 (pour le latch) et A2 (pour le clock). Ensuite ses sorties a,b,c,d,e,f et g sont reliées au 2nd afficheur qui possède que 3 chiffres.

Et bien ils affichent: "8 - 8 - 8" au lieu de "0 - 0 - 0". Tout est bien branché, ça ne fonctionne pas...

-
Edité par MatthieuWilhelm 28 janvier 2018 à 19:48:59

Staff 29 janvier 2018 à 8:09:32

C'est peut-être le 74hc595qui est mort...

Essayes d'envoyer segment par segment pour voir si tu n'en as pas 2 qui s'allument.

Pour cela, il te suffit de faire un shift de 0x01, attendre une seconde, faire un shift de 0x02, attendre, 0x04, attendre, 0x08, 0x10, 0x20, 0x40 puis 0x80

13 février 2018 à 17:49:37

Bonjour lorrio,

Je réponds un peu tard à ta proposition que j'avais testé mais ça ne m'avait rien donné de probant. Je viens de recevoir de nouveaux composants que j'ai adjoint à mon montage. J'ai câblé mon montage comme sur ce schéma afin que mes afficheurs soient alimentés par une alimentation externe:

Donc mes anodes sont reliées à un BC327 (NPN) et les sorties du 74HC595 à un ULN2803. Seul bémol, l'ULN2803 alimente tous mes segments ! Quand je réduit la vitesse de rafraichissement des chiffres, le chiffre apparait bien distinctement mais il clignote et les segments qui ne doivent pas être alimentés le sont! Je comprends pas. Aurais-tu une idée ? Merci d'avance :)

int dataPin = 2;
int latchPin = 3;
int clockPin = 4;
 
//Alimentation chiffres de droite
int dig9 = 13;
int dig8 = 12;
int dig7 = 11;
 
//Alimentation chiffres de gauche
int dig6 = 10;
int dig5 = 9;
int dig4 = 8;
int dig3 = 7;
int dig2 = 6;
int dig1 = 5;
 
const byte table[]=
{0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
 
int var1;
int var2;
int var3;
int var4;
int var5;
int var6;
 
int var7;
int var8;
int var9;
 
void setup() {
   
Serial.begin(9600);
 
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
 
pinMode(dig1, OUTPUT);
pinMode(dig2, OUTPUT);
pinMode(dig3, OUTPUT);
pinMode(dig4, OUTPUT);
pinMode(dig5, OUTPUT);
pinMode(dig6, OUTPUT);
 

}
 
void loop() {
 
//Chiffres à afficher
 
var1 = 1;
var2 = 2;
var3 = 3;
var4 = 4;
var5 = 5;
var6 = 6;
 
var7 = 7;
var8 = 8;
var9 = 9;
 
{
 
digitalWrite(dig1, 0);
digitalWrite(dig2, 0);
digitalWrite(dig3, 0);
digitalWrite(dig4, 0);
digitalWrite(dig5, 0);
digitalWrite(dig6, 0);
 
digitalWrite(dig7, 0);
digitalWrite(dig8, 0);
digitalWrite(dig9, 0);
 
//Afficheur de gauche
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var1]);
digitalWrite(latchPin, HIGH);
     
digitalWrite(dig1, 1);
delay(1);
digitalWrite(dig1, 0);
  
//Dizaine
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var2]);
digitalWrite(latchPin, HIGH);
     
digitalWrite(dig2, 1);
delay(1);
digitalWrite(dig2, 0);
  
//Centaine
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var3]);
digitalWrite(latchPin, HIGH);
 
digitalWrite(dig3, 1);
delay(1);
digitalWrite(dig3, 0);
  
//Millier
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var4]);
digitalWrite(latchPin, HIGH);
     
digitalWrite(dig4, 1);
delay(1);
digitalWrite(dig4, 0);
 
//Dizaine de millier
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var5]);
digitalWrite(latchPin, HIGH);
 
digitalWrite(dig5, 1);
delay(1);
digitalWrite(dig5, 0);
 
//Centaine de millier
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var6]);
digitalWrite(latchPin, HIGH);
 
digitalWrite(dig6, 1);
delay(1);
digitalWrite(dig6, 0);

}



-
Edité par MatthieuWilhelm 13 février 2018 à 21:44:48

Staff 13 février 2018 à 23:28:11

La borne COM de tes ULN2803 ne devrait clairement pas être reliée au GND.

Tu devrais la relier au +5V de ton alimentation externe ;)

Je craint aussi que tes BC327 ne soient pas suffisamment polarisé.

Avec une résistance de 2k sur la base, cela fait un courant Ib maxi de I = U / R = ( Ualim - Vbe ) / R = ( 5 - 0.6 ) / 2000 = 2.2mA.

Sachant que le BC327a un Hfe de 100, cela fait qu'il ne pourra laisser passer que 220mA maxi pour tes segments, est-ce suffisant ?

Si ce n'est pas le cas, réduit la résistance de 2k en prenant 1k ou 470 ohm ;)

-
Edité par lorrio 13 février 2018 à 23:32:26

14 février 2018 à 11:08:23

Merci pour ta réponse ! J'ai suivi tes conseils mais ca ne change malheureusement rien. Les segments qui ne doivent pas être alimentés le sont encore... Quand j'augmente le délai entre l'état haut et l'état bas d'un de mes afficheurs (dig), le chiffre apparait distinctement en clignotant et ceux qui doivent être éteints sont allumés... C'est d'un casse tête...
Staff 14 février 2018 à 14:15:55

As tu bien relié le GND de l'alimentation externe au GND de l'arduino ?

As tu bien relié la borne COM de tes 2 ULN au +5V de l'alimentation externe ?

Es tu certain de ne pas avoir inversé Collecteur / Emetteur de tes transistors ?

14 février 2018 à 18:50:47

Tout est relié comme tu me l'as demandé. Les GND de l'Arduino et de l'alimentation externe sont reliés ensemble. Et le BC327 (NPN) est bien positionné: les anodes communes sont sur l'Emetteur.

Quand je souhaite afficher un "2" il me donne un chiffre mal éclairé avec toujours ces segments alimentés alors qu'ils devraient être éteints...

Staff 14 février 2018 à 19:48:53

Alors là, c'est franchement très confus...

Le BC327 est un transistor PNP et non un transistor NPN.

Et sur ton schéma, c'est le collecteur et non l'émetteur qui est relié aux cathodes.

Du coup, je ne sais pas quoi penser...

Le schéma en lui même est bon puisque c'est bien un PNP avec collecteur sur cathode qu'il faut.

Mais si tu as mis un NPN avec émetteur sur cathode, ça ne marchera pas.

14 février 2018 à 20:50:24

Effectivement je me suis trompé dans le nom du transistor, il s'agit d'un PNP. J'ai très exactement câblé comme sur le schéma. Qui plus est, quand j'alimente mon arduino (via l'USB) avec l'alimentation externe en plus, tout bug sur mon affichage. Je suis obligé d'utiliser uniquement l'alimentation extérieure. Du coup, certes le chiffre apparait, mais quelques secondes plus tard il disparait et d'autres segments apparaissent aléatoirement...

Je comprends vraiment pas.

. En tout cas merci pour ton aide !! :)

Staff 14 février 2018 à 21:57:55

Là, c'est compliqué d'en dire davantage...

Pourrais tu essayer de faire quelques photos de ton câblage prise sous différents angles ?

15 février 2018 à 19:50:59

Bonsoir lorrio,

Je te joint plusieurs photos du montage. Différence avec le schéma: j'alimente volontairement que un seul digit, mon BC327 n'a pas de résistance de 470 ohm à sa base (car quand j'en met une plus rien ne s'allume) et je n'utilise que un seul ULN2803 (pour les segments de l'afficheur). Dans ce cas, le chiffre j'ai mis le chiffre "5" à var1. Ce dernier s'affiche mais pas sans mal. Sur la photo il parait stable, alors qu'en vrai d'autres segments apparaissent parfois. Voilà.....................

Staff 18 février 2018 à 12:02:06

C'est bien ce que je pensais, tu as inversé Collecteur et Emetteur (c'est d'ailleurs pour ça que je te posais la question "es tu certain de ne pas avoir inversé Collecteur / Emetteur de tes transistors ?")

Si l'on compare ton montage à la doc, on peut voir que le fil jaune +ALIM arrive sur la gauche du méplat qui correspond à la pin 1 du transistor et donc au collecteur alors que ton schéma précise qu'il faut mettre +ALIM sur l'émetteur.

La première chose à faire sera donc de tourner de 180° ton transistor.

Ensuite, supprimer la résistance de 470 ohm est une chose qu'il ne faut absolument pas faire !!! Tu as peut-être endommagé ton transistor et/ou ton ULN2803 sans cette résistance donc si ça ne marche toujours pas après avoir retourné le transistor et ajouté la résistance, tu devras changer ces 2 composants.

         

18 février 2018 à 19:44:26

Bonsoir lorrio,

J'ai changé tous les composants, câblé comme tu m'as dit et... rien. Au lieu d'un "5", j'ai un chiffre étrange qui apparait.

Bref, je vais me résoudre à abandonner ces afficheurs et me concentrer sur d'autres, peut-être moins gourmand... Merci encore pour tous tes conseils !! ;)

Staff 18 février 2018 à 20:26:34

Un chiffre étrange, c'est déjà meilleurs signe !

Si cela se trouve, tu as tout simplement inversé des fils sur la liaison des digits donc ce sont les mauvais qui s'allument.

Du coup, je te renvoie sur un test que j'avais évoqué plus haut :

Pour cela, il te suffit de faire un shift de 0x01, attendre une seconde, faire un shift de 0x02, attendre, 0x04, attendre, 0x08, 0x10, 0x20, 0x40 puis 0x80

Avec ce test, tu devrais avoir un seul segment qui s'allume à chaque fois.

Vérifie que c'est bien le bon segment qui s'allume ;)

18 février 2018 à 20:49:15

J'ai essayé de faire ce que tu m'as demandé... Je sais pas si ça correspond exactement à ce que tu m'as demandé, car j'ai repris cette ligne:

const byte table[]=
{0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};


Entre les crochets j'ai tout supprimé sauf "0x40" que j'ai conservé. Sur l'afficheur j'ai eu un beau "0" qui s'est affiché.

J'ai continué l'opération en conservant "0x79" et là le chiffre "1" est apparu sans bug.

Et ainsi de suite, où chaque chiffre est apparu sans problèmes ! Du coup j'en conclu que mon "chiffre étrange" correspond à un empilement de de tous les chiffres ! Je pense déjà être sur un meilleur chemin... :)

-
Edité par MatthieuWilhelm 18 février 2018 à 20:50:30

Staff 19 février 2018 à 8:12:39

C'est ce code que je te proposais de tester :

// test sur dig0 :
digitalWrite(dig1, 1);

// Test du segment N°1 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x01);
digitalWrite(latchPin, HIGH);
delay(1000);

// Test du segment N°2 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x02);
digitalWrite(latchPin, HIGH);
delay(1000);

// Test du segment N°3 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x04);
digitalWrite(latchPin, HIGH);
delay(1000);

// Test du segment N°4 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x08);
digitalWrite(latchPin, HIGH);
delay(1000);

[...]



19 février 2018 à 19:03:49

Bonsoir lorrio :)

Je viens de suivre ta procédure et rien ne s'affiche, aucun segments...

19 février 2018 à 21:21:31

int dataPin = 2;
int latchPin = 3;
int clockPin = 4;
  
//Alimentation chiffres de droite
int dig9 = 13;
int dig8 = 12;
int dig7 = 11;
  
//Alimentation chiffres de gauche
int dig6 = 10;
int dig5 = 9;
int dig4 = 8;
int dig3 = 7;
int dig2 = 6;
int dig1 = 5;
  
const byte table[]=
{0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
  
int var1;
int var2;
int var3;
int var4;
int var5;
int var6;
  
int var7;
int var8;
int var9;
  
void setup() {
    
Serial.begin(9600);
  
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
  
pinMode(dig1, OUTPUT);
pinMode(dig2, OUTPUT);
pinMode(dig3, OUTPUT);
pinMode(dig4, OUTPUT);
pinMode(dig5, OUTPUT);
pinMode(dig6, OUTPUT);
  
 
}
  
void loop() {
  
//Chiffres à afficher
  
var1 = 1;
var2 = 2;
var3 = 3;
var4 = 4;
var5 = 5;
var6 = 6;
  
var7 = 7;
var8 = 8;
var9 = 9;
  
{
  
digitalWrite(dig1, 0);
digitalWrite(dig2, 0);
digitalWrite(dig3, 0);
digitalWrite(dig4, 0);
digitalWrite(dig5, 0);
digitalWrite(dig6, 0);
  
digitalWrite(dig7, 0);
digitalWrite(dig8, 0);
digitalWrite(dig9, 0);
  
//Afficheur de gauche
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var1]);
digitalWrite(latchPin, HIGH);
      
digitalWrite(dig1, 1);
delay(1);
digitalWrite(dig1, 0);
   
//Dizaine
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var2]);
digitalWrite(latchPin, HIGH);
      
digitalWrite(dig2, 1);
delay(1);
digitalWrite(dig2, 0);
   
//Centaine
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var3]);
digitalWrite(latchPin, HIGH);
  
digitalWrite(dig3, 1);
delay(1);
digitalWrite(dig3, 0);
   
//Millier
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var4]);
digitalWrite(latchPin, HIGH);
      
digitalWrite(dig4, 1);
delay(1);
digitalWrite(dig4, 0);
  
//Dizaine de millier
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var5]);
digitalWrite(latchPin, HIGH);
  
digitalWrite(dig5, 1);
delay(1);
digitalWrite(dig5, 0);
  
//Centaine de millier
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, table[var6]);
digitalWrite(latchPin, HIGH);
  
digitalWrite(dig6, 1);
delay(1);
digitalWrite(dig6, 0);
 
}

J'utilise celui-ci. Mais, tout à l'heure, j'ai modifié la fin avec le code que tu m'as proposé pour tester les segments. Donc de cette façon:

int dataPin = 2;
int latchPin = 3;
int clockPin = 4;
  
//Alimentation chiffres de droite
int dig9 = 13;
int dig8 = 12;
int dig7 = 11;
  
//Alimentation chiffres de gauche
int dig6 = 10;
int dig5 = 9;
int dig4 = 8;
int dig3 = 7;
int dig2 = 6;
int dig1 = 5;
  
const byte table[]=
{0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
  
int var1;
int var2;
int var3;
int var4;
int var5;
int var6;
  
int var7;
int var8;
int var9;
  
void setup() {
    
Serial.begin(9600);
  
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
  
pinMode(dig1, OUTPUT);
pinMode(dig2, OUTPUT);
pinMode(dig3, OUTPUT);
pinMode(dig4, OUTPUT);
pinMode(dig5, OUTPUT);
pinMode(dig6, OUTPUT);
  
 
}
  
void loop() {
  
//Chiffres à afficher
  
var1 = 1;
var2 = 2;
var3 = 3;
var4 = 4;
var5 = 5;
var6 = 6;
  
var7 = 7;
var8 = 8;
var9 = 9;
  
{
  
digitalWrite(dig1, 0);
digitalWrite(dig2, 0);
digitalWrite(dig3, 0);
digitalWrite(dig4, 0);
digitalWrite(dig5, 0);
digitalWrite(dig6, 0);
  
digitalWrite(dig7, 0);
digitalWrite(dig8, 0);
digitalWrite(dig9, 0);
  
// test sur dig0 :
digitalWrite(dig1, 1);
 
// Test du segment N°1 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x01);
digitalWrite(latchPin, HIGH);
delay(1000);
 
// Test du segment N°2 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x02);
digitalWrite(latchPin, HIGH);
delay(1000);
 
// Test du segment N°3 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x04);
digitalWrite(latchPin, HIGH);
delay(1000);
 
// Test du segment N°4 :
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, ~0x08);
digitalWrite(latchPin, HIGH);
delay(1000);

}


Voilà.

Staff 20 février 2018 à 11:48:19

Pourtant, ce code devrait bien de faire allumé/éteindre chaque segment un par un sur dig1.

Mais est-ce que c'est bien cet afficheur que tu as cablé ??? (car sur ton montage, il n'y a qu'un seule transistor...est-ce bien le transistor de dig1 ???)

20 février 2018 à 19:15:12

Absolument ! Il s'agit de la sortie 5 de l'Arduino. Je n'utilise que un seul transistor sur un seul afficheur. Juste pour le test. Quand ce dernier fonctionnera (s'il fonctionne un jour correctement) je câblerai le reste.

Malheureusement, comme tu le sais, avec ton dernier code ça ne fonctionne pas, alors que tout est bien connecté. Je comprends pas non plus.

Le pire c'est que lorsque je supprime tous les codes en hexa dans ma table et n'en garde que un seul, il apparaît nettement, sans problèmes ! Si je les laisse tous, ils s'empilent sur l'afficheur et donne le chiffre "étrange".

Et si j'enlève cet appoint d'énergie en supprimant l'alim, le transistor et l'ULN, tout s'affiche correctement (en beaucoup beaucoup moins puissant, comme tu le sais).

Bref, un véritable casse tête...

Alimentation Arduino + Afficheurs

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown