je suis sur un projet 16out/3in numériques... le hardware marche impec, la partie logicielle pour les sorties aussi. Et, après avoir épluché les topics anglais/français et lu les references et un bouquin à fond, je bloque méchant : mes entrées digitals 0 et 1 (tx/rx) restent bloquées en position haute (~5v mesurée au multimètre) ; je n'utilise bien sur pas de communication série! et mon projet est alimenté de manière autonome...
ces deux entrées devrais me permettre de swicher sur 16 ensembles de chaines de données...
voilà le bout de code incriminé :
alors j'ai du rater quelque chose...
avant le setup je n'ai déclaré que des variables et chaines dont j'aurais besoin. j'ai déjà réalisé quelques protos sans avoir à déclarer les pins en dehors du setup(), mais, par acquis de conscience je n'utilisais pas les fameuses E/S des pins 0 et 1 (car j'expérimentais avec l'alimentation usb du pc, et que je n'avais pas besoins d'autant d'E/S)...
comment peut-on alors les "forcer" à un état de repos bas? (j'ai encore fouillé qql heures et je craque un peu désolé...)
oui, c'est que je pensais, et j'ai shunté mes 3 entrées à la masse avec des résistances de 18k (trop?) en mesurant au multi j'ai :
pin0:4.7V
pin1:5.1V
pin2:0V (avec celle là j'ai mon défilement de leds sans problème)
pin3:0.002V (non shunté)
j'ai retiré les variables 'digi0' et 'digi1', en utilisant directement digitalRead() ça fonctionne très bien (et je ne suis pas pour tout ces renommages, on s'embrouille vite...)
un ptit bout de code pour les mettre au pas ces deux pins?
merci, mais j’ai déjà écumé tout les exemples fournis, digitalRead fonctionne parfaitement pour toute les pins 2 à 19 mais pas pour 0 et 1 qui reste à l’état haut même shunté à la masse, je vais tenté de réduire les résistances de shunt ou d’inverser l’utilisation de ces deux premières pins (action à l’état bas ; mais j’aime pas trop, ça consomme plus, c’est dangereux pour la platine et pas très élégant)
sinon je me rabat pour un défilement dans un seul sens (pas très agréable à l’usage) en utilisant la dernier pin disponible (pin3)
ça m’intrigue quand même… j’ai revu tout mon montage, soudures propres, contacts impeccables, résistances ok…
problème matériel sur la carte arduino?
bon, ça à l'air de fonctionner en inversion (mes deux poussoir mette à la masse pin0 et pin1, et permettent le défilement dans les deux sens quand digitalRead()=0) et je n'ai que qql mA de drain, donc pas dangereux pour la platine...