Go Down

Topic: Problème Led matrix Attiny2313 (Read 2895 times) previous topic - next topic

JS7777

non il était pas avec.

Surement.

Comment ? (Je suis nul tout ce qui est calcul malheureusement).

Code: [Select]
void clearOutput(){
  for(int i=0;i<8;i++){
    digitalWrite(row[i],LOW); //Turn off rows
    digitalWrite(col[i],HIGH); //Turn off columns
  }
}


Code des pins du code original pour matrix cathode.

Code: [Select]
const int row[8]={ //Row pins
  9,14,7,12,0,6,1,4};
const int col[8]={ //Column pins
  13,2,3,10,5,11,15,16};


Encore merci !

dfgh

tu confirmes qu' avec le µ à l'endroit, tu écrit bien des lettres et des chiffres et que c'est bien ce que tu veux écrire ?
le schéma de la matrice correspond bien à celle que tu utilises?

JS7777

#17
Aug 14, 2015, 02:08 am Last Edit: Aug 14, 2015, 02:09 am by JS7777
Quote
tu confirmes qu' avec le µ à l'endroit, tu écrit bien des lettres et des chiffres et que c'est bien ce que tu veux écrire ?
Oui

Quote
le schéma de la matrice correspond bien à celle que tu utilises?
Oui, c'est un 1088AS Anode.

dfgh

#18
Aug 14, 2015, 11:47 am Last Edit: Aug 14, 2015, 01:55 pm by dfgh
alors, on repart de zéro :

as tu mis des résistances de limitation? (220 ohms pour 5V ). attention, avec toutes les inversions qu'il y a eu.....

sur ta matrice, as tu dans un angle, un repère pour te signaler la pinoche N°1?

sur le schéma de la matrice,  le N° de chaque ligne /colonne est en face de la pinoche de la matrice qui lui correspond.

selon le schéma ci joint, ta matrice est à cathodes communes sur les lignes.

pour allumer un point, il faut mettre "0" sur la ligne et "1" sur la colonne qui lui correspondent.

lorsque tu montes le µ à l'envers et que rien ne fonctionne .
donnes la correspondance des pinoches de la matrice et du µ sous forme de tableau comme je t'en ai fait un plus haut
comment dis tu à l'IDE arduino que tu compile pour un attyni2313, ( il a besoin de le savoir pour la correspondance des pinoches)
comment compiles tu le programme?
comment le charges tu dans le µ?
ton µ est monté en dur sur une plaquette, tu utilises une horloge interne?
le condo que je vois sur ta photo est pour un reset automatique à la mise sous tension?

dfgh

#19
Aug 14, 2015, 06:33 pm Last Edit: Aug 14, 2015, 07:07 pm by dfgh
bon, j'ai regardé le code
les colonnes sont déclarées comme ceci: col1, col2, col3, col4, col5, col6, col7, col8
les lignes sont déclarées comme ceci....: lig1,  lig2,  lig3,  lig4, lig5,  lig6, lig7, lig8

bien sur il faut déclarer les N° des pinoches du µ qui sont raccordées à ces pinoches de la matrice

exemple: colonne 1 de la matrice = pinoche 13 de la matrice, implique qu'il faut mettre le N° de pin du µ qui est raccordée à cette pinoche 13 de la matrice.

autrement, le programme d'origine est fait pour une matrice à cathodes communes sur les lignes.
la matrice 1088AS est inversée, donc il y a deux solutions

_soit dans les déclarations, inverser les libellés des lignes col et row et ensuite tourner d'un quart de tour la matrice.
_soit inverser les cdes dans le code : les HIGH en LOW et les LOW en HIGH et inverser X: x=!x

pour moi, n'étant un habitué de la prog des atiny avec arduino, je ne sais pas s'il faut mettre directement les N° des pinoches de l'atiny ou si l'atiny est monté sur une platine "arduino, il faudrait tenir compte d'une correspondance.

j'ai trouvé ceci:
// ATMEL ATTINY2313  et pins arduino
//
//                   +-\/-+
//          (D 17) PA2  1|    |29  VCC
// RX     (D  0) PD0  2|    |19  PB7 (D  16)
// TX     (D  1) PD1  3|    |18  PB6 (D  15)
//          (D  2) PA1  4|    |17  PB5 (D  14)
//          (D  3) PA0  5|    |16  PB4 (D  13)*
// INT0  (D  4) PD2  6|    |15  PB3 (D  12)*
// INT1  (D  5) PD3  7|    |14  PB2 (D  11)*
//          (D  6) PD4  8|    |13  PB1 (D  10)
//        *(D  7) PD5  9|    |12  PB0 (D  9)
//                  GND 10|    |11  PD6 (D  8 )

JS7777

#20
Aug 14, 2015, 06:45 pm Last Edit: Aug 14, 2015, 06:48 pm by JS7777
Quote
as tu mis des résistances de limitation? (220 ohms pour 5V ). attention, avec toutes les inversions qu'il y a eu.....
Non car j'alimente l'attiny2313V en un peu moins de 3V.

Quote
sur ta matrice, as tu dans un angle, un repère pour te signaler la pinoche N°1?
Oui, 1 et 16

Quote
selon le schéma ci joint, ta matrice est à cathodes communes sur les lignes.
C'est bien anode, le schéma c'est pour cathode, je le suis trompé mais c'est pareil pour les pins



Quote
donnes la correspondance des pinoches de la matrice et du µ sous forme de tableau comme je t'en ai fait un plus haut
comment dis tu à l'IDE arduino que tu compile pour un attyni2313, ( il a besoin de le savoir pour la correspondance des pinoches)
Je vais faire ça, avec des photos.

Quote
comment compiles tu le programme?
Avec le logiciel Arduino.

Quote
comment le charges tu dans le µ?
Je relie l'attiny2313 sur mon Arduino Uno, je le programme en sélectionnant Attiny2313 1Mhz
(J'ai bien programmer le sketch "Arduino ISP" sur l'arduino).

Quote
ton µ est monté en dur sur une plaquette, tu utilises une horloge interne?
Oui quand l'attiny est à l'endroit sinon j'ai soudé un socket derrière un autre led matrix identique.
J'utilise 1Mhz horloge interne.

Quote
le condo que je vois sur ta photo est pour un reset automatique à la mise sous tension?
Sur mon premier post j'ai dit que cela n'était pas me photos, j'ai trouver ca sur internet, j'ai pas pu prendre de photo car mon appareil était déchargé :). Je vais prendre des photos.

Merci.

dfgh

et quand tu compiles le prg, tu as sélectionné quelle platine arduino ?

si tu as un plug pour ATtiny 2313, si tu programmes la pinoche 1  en entrée, quelle est la pinoche du µ qui est concernée?

ou alors..., c'est la pratique normale de programmer les atiny via un uno et donc si en prog on déclare la pin 1 en entrée, c'est obligatoirement la pinoche 1 du µ qui est concernée

je l'ai déjà dit, je ne connais pas la prog des atiny sur arduino

JS7777

#22
Aug 14, 2015, 07:27 pm Last Edit: Aug 14, 2015, 07:29 pm by JS7777
Quote
et quand tu compiles le prg, tu as sélectionné quelle platine arduino ?





"Ouvrir l'image dans un nouvel onglet" pour voir l'image en taille réelle

JS7777


dfgh

#24
Aug 14, 2015, 08:02 pm Last Edit: Aug 14, 2015, 08:55 pm by dfgh
non, si tu as fait fonctionné correctement avec cette initialisation, d'où sort t'elle ?
je n'arrive pas a la retrouver ( la reconstruire ) ?


dfgh

#26
Aug 14, 2015, 08:52 pm Last Edit: Aug 14, 2015, 09:01 pm by dfgh
oui, c'est le lien que tu as donné au départ, mais je parle de ton initialisation en colonne et lignes avec l'attiny monté en direct ?

ce qui est sur, c'est que ce ne sont pas le N° de broches du µ car il y aurait un 17, 18, 19
donc nous avons des N° de pinoches d'une platine arduino ( ou autre)

peux tu mettre le soft blink plusieurs dans l'atiny en changeant l'affectation de la broche de sortie a chaque fois. avec une led tu pourrais relever la correspondance entre ce que tu programmes et ou cela arrive sur le µ

exepmle dans blink tu changes le N° par 1, puis 2 etc

JS7777

Quote
oui, c'est le lien que tu as donné au départ, mais je parle de ton initialisation en colonne et lignes avec l'attiny monté en direct ?
code ? schéma ? je voi pas trop ce que tu veut dire.

Quote
donc nous avons des N° de pinoches d'une platine arduino
Oui, je viens de trouver des infos :

RowColumnScanning

Quote
peux tu mettre le soft blink plusieurs dans l'atiny en changeant l'affectation de la broche de sortie a chaque fois. avec une led tu pourrais relever la correspondance entre ce que tu programmes et ou cela arrive sur le µ
Pas besoin, j'avais déjà donné un schéma


Par exemple si on met pin 0 dans le code cela sera pin 2

dfgh

le lien , ca ne va pas,  car dans les" init" lignes et colonnes, il n'y a jamais 17,18,19.
et le schéma ne va pas non plus car si le 0 est séduisant. dans l'init il est bien placé pour être L5,
mais la matrice ne peut pas être branchée sur la patte 11 du µ.


lorsque je te demande d'où sort l'init que tu utilise pour faire fonctionner ton montage à l'endroit, je parle de cette init:
const int row[8]={ //Row pins
16,15,11,5,10,3,2,13 };
const int col[8]={ //Column pins
9,14,7,12,0,6,1,4};

car celle du soft d'origine est
const int row[8]={ //Row pins
  9,14,7,12,0,6,1,4};
const int col[8]={ //Column pins
  13,2,3,10,5,11,15,16};

donc d'où sort la tienne (qui fait fonctionner ton montage et t'affiche que tu aime Jacqueline)

JS7777

#29
Aug 14, 2015, 10:24 pm Last Edit: Aug 14, 2015, 10:28 pm by JS7777
Quote
le lien , ca ne va pas,  car dans les" init" lignes et colonnes, il n'y a jamais 17,18,19.
et le schéma ne va pas non plus car si le 0 est séduisant. dans l'init il est bien placé pour être L5,
mais la matrice ne peut pas être branchée sur la patte 11 du µ.
J'ai envoyé un message à l'auteur du code pour qu'il nous donne un peu plus de précision, la dernière fois qu'il était connecté date de fin juillet.

Quote
lorsque je te demande d'où sort l'init que tu utilise pour faire fonctionner ton montage à l'endroit, je parle de cette init:
J'ai modifié pour faire marcher sur anode car le code original est pour cathode.

j'ai inversé :  9,14,7,12,0,6,1,4 et 13,2,3,10,5,11,15,16

et j'ai modifié 13,2,3,10,5,11,15,16 en 16,15,11,5,10,3,2,13 (le premier nombre dont 13 devient le dernier nombre et etc...)

Quote
donc d'où sort la tienne (qui fait fonctionner ton montage et t'affiche que tu aime Jacqueline)
J'ai modifié  :)

Go Up