Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Led RGB 5050 WS2812B
cyril13110
Confirmé
Confirmé
Messages : 732
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#11 Message par cyril13110 » sam. 16 mai 2020 17:14

Cest bon j'ai trouvé le bon candidat pour démarrer, ca sera un 18F26K22 qui peut monter bien sur à 64Mhz avec un peut de mémoire pour programmer les sequences.
Je vais récupérer le code de temps-x et voir ce que je vais pouvoir bricoler.

Led RGB 5050 WS2812B
cyril13110
Confirmé
Confirmé
Messages : 732
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#12 Message par cyril13110 » sam. 16 mai 2020 17:17

ptdr, javais pas vue que temps-x avait prit le meme......

Temps-x, j'ai récupéré ton code pour tenter de l'utiliser . Je ne trouve pas la partie ou tu a codé la séquence lumineuse des leds.
Ca se situe dans quelle partie du code?
Je vais tenter de l'utiliser tel quel dans le compilateur pour voir en adaptant la conf.

Led RGB 5050 WS2812B
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2616
Enregistré en : juillet 2016
Localisation : Terre

#13 Message par Temps-x » sam. 16 mai 2020 21:02

Bonsoir cyril13110, et tout le forum,

Normalement tu peux l'utiliser comme telle, même si l'écran Nokia n'est pas présent ça doit fonctionner, fait un essai avec les branchements prévu en post #1 :wink:

Pour faire un essai c'est tout simple, il faut connecter RA7 sur Din de ta première LED

Code : Tout sélectionner

#DEFINE din_2  LATA,7                 ; RA7 ==> entrée des données de la Led RGB 5050 WS2812B
 


cyril13110 a écrit :Source du message Je ne trouve pas la partie ou tu a codé la séquence lumineuse des leds.


Normalement j'ai fait des macros, donc rien de plus simple, lire ce que j'ai dit ICI j'ai compilé une version sans l'écran Nokia, mais il faut que je la teste.

:roll: Pouah... tout en ASM en gagnerais du temps, celle de paulfjujo son intéressante, car elle consomme moins d'ampère, donc câble moins gros.

Elle fonctionne de la même manière au point de vu protocole, mais le 5 volts est de plus en plus répandu.

==> A+
Modifié en dernier par Temps-x le dim. 17 mai 2020 03:07, modifié 3 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Led RGB 5050 WS2812B
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2616
Enregistré en : juillet 2016
Localisation : Terre

#14 Message par Temps-x » sam. 16 mai 2020 22:47

Re

Si ça fonctionne pas essai avec ce fichier il faut au moins 5 leds de soudée les un derrière les autres (comme sur la vidéo)


==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le dim. 17 mai 2020 12:22, modifié 3 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Led RGB 5050 WS2812B
cyril13110
Confirmé
Confirmé
Messages : 732
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#15 Message par cyril13110 » sam. 16 mai 2020 23:14

Merci pour ton aide Temps-x ce soir j'ai rien pu faire ma femme monopolise l'ordinateur.
comme quoi même si on mi tous on peut passer à côté de quelque chose.....
j'ai commandé une bobine de 1m constitué de 144 les, j'ai du coup de quoi testé.
j'ai même un bloqué alimentaire de 5V 2A pour ammener plus de puissance.
j'espère que demain je pourrais faire le test.
par contre ce que je ne sais pas c'est si je peux utiliser ton ficher tous compilé avec ma platine mikroe....
Je ferais le test avec ton code qui utilise que 5 leds ça sera un très bon départ.
Sinon avec ton code asm je linclurais dans un code basic, j'ai trouvé comment faire.

Led RGB 5050 WS2812B
cyril13110
Confirmé
Confirmé
Messages : 732
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#16 Message par cyril13110 » dim. 17 mai 2020 09:45

Bonjour Temps-X et bonjour à tous,
Je viens de tester ton code exe et nickel ca fonctionne.

Elles ont vraiment une belle couleurs ces leds.

Arf j'ai copié tel quel ton code ASM et mon compilateur me fait des erreur a tous les paramétrages de registres.
J'ai bien l'impression qu'il va falloir que je reprogramme toute les conf à coté
Le compilateur me fait aussi de belle erreurs sur toutes les variables et les appel de sous fonction.
Il y a du bricolage à faire.....heureusement que je suis en manche courte je n'ai pas besoin de remonter mes manches dehors!!

Pour etre plus complet voila la liste d'erreur:
0 1 mBPic.exe -MSF -DBG -pP18F26K22 -Y -DL -O11111114 -fo64 -N"C:\Users\Public\Documents\Mikroelektronika\programme\etoile_WS2812B.mbppi" -SP"C:\Users\Public\Documents\Mikroelektronika\mikroBasic PRO for PIC\Defs\" -SP"C:\Users\Public\Documents\Mikroelektronika\mikroBasic PRO for PIC\uses\P18\" -SP"C:\Users\Public\Documents\Mikroelektronika\programme\" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_SPI_c345b123.mcl" "etoile_WS2812B.mbas"
0 155 Available RAM: 3875 [bytes], Available ROM: 65536 [bytes]
0 133 Compilation Started C:\Users\Public\Documents\Mikroelektronika\programme\etoile_WS2812B.mbas
1 1015 Hint: Compiling unit "C:\Users\Public\Documents\Mikroelektronika\programme\etoile_WS2812B.mbas" etoile_WS2812B.mbas
1322 304 Syntax error: Expected "asm" but "end" found etoile_WS2812B.mbas
41 313 Invalid ASM instruction: "CBLOCK H" etoile_WS2812B.mbas
43 313 Invalid ASM instruction: "loop1 etoile_WS2812B.mbas
44 313 Invalid ASM instruction: "loop2 etoile_WS2812B.mbas
45 313 Invalid ASM instruction: "loop3 etoile_WS2812B.mbas
46 313 Invalid ASM instruction: "loop4 etoile_WS2812B.mbas
47 313 Invalid ASM instruction: "loop5 etoile_WS2812B.mbas
48 313 Invalid ASM instruction: "loop6 etoile_WS2812B.mbas
49 313 Invalid ASM instruction: "loop7 etoile_WS2812B.mbas
50 313 Invalid ASM instruction: "loop8 etoile_WS2812B.mbas
51 313 Invalid ASM instruction: "loop9 etoile_WS2812B.mbas
52 313 Invalid ASM instruction: "loop10 :1" etoile_WS2812B.mbas
54 313 Invalid ASM instruction: "rouge etoile_WS2812B.mbas
55 313 Invalid ASM instruction: "vert etoile_WS2812B.mbas
56 313 Invalid ASM instruction: "bleu etoile_WS2812B.mbas
58 313 Invalid ASM instruction: "couleur :1" etoile_WS2812B.mbas
59 313 Invalid ASM instruction: "bits etoile_WS2812B.mbas
61 313 Invalid ASM instruction: "buzzer :1" etoile_WS2812B.mbas
63 313 Invalid ASM instruction: "zero etoile_WS2812B.mbas
65 313 Invalid ASM instruction: "tmps etoile_WS2812B.mbas
66 313 Invalid ASM instruction: "temps etoile_WS2812B.mbas
68 313 Invalid ASM instruction: "res8 etoile_WS2812B.mbas
69 313 Invalid ASM instruction: "res16 etoile_WS2812B.mbas
71 313 Invalid ASM instruction: "unité etoile_WS2812B.mbas
72 313 Invalid ASM instruction: "dizaine :1" etoile_WS2812B.mbas
73 313 Invalid ASM instruction: "centaine :1" etoile_WS2812B.mbas
74 313 Invalid ASM instruction: "millieme :1" etoile_WS2812B.mbas
75 313 Invalid ASM instruction: "dix_millieme :1" etoile_WS2812B.mbas
77 313 Invalid ASM instruction: "virgule :1" etoile_WS2812B.mbas
79 313 Invalid ASM instruction: "phrase :1" etoile_WS2812B.mbas
81 313 Invalid ASM instruction: "lettre :1" etoile_WS2812B.mbas
82 313 Invalid ASM instruction: "lecture :1" etoile_WS2812B.mbas
84 313 Invalid ASM instruction: "somme etoile_WS2812B.mbas
85 313 Invalid ASM instruction: "reste etoile_WS2812B.mbas
86 313 Invalid ASM instruction: "quotient :1" etoile_WS2812B.mbas
88 313 Invalid ASM instruction: "adresse_low :1" etoile_WS2812B.mbas
89 313 Invalid ASM instruction: "adresse_hi :1" etoile_WS2812B.mbas
91 313 Invalid ASM instruction: "donner_low :1" etoile_WS2812B.mbas
92 313 Invalid ASM instruction: "donner_hi :1" etoile_WS2812B.mbas
94 313 Invalid ASM instruction: "ENDC" etoile_WS2812B.mbas
97 313 Invalid ASM instruction: "tableau MACRO adresse" etoile_WS2812B.mbas
108 313 Invalid ASM instruction: "ENDM" etoile_WS2812B.mbas
110 313 Invalid ASM instruction: "locate MACRO hauteur,largeur" etoile_WS2812B.mbas
113 313 Invalid ASM instruction: "movwf loop8" etoile_WS2812B.mbas
116 313 Invalid ASM instruction: "movwf loop9" etoile_WS2812B.mbas
120 313 Invalid ASM instruction: "ENDM" etoile_WS2812B.mbas
122 313 Invalid ASM instruction: "print MACRO longueur,emplacement" etoile_WS2812B.mbas
125 313 Invalid ASM instruction: "movwf phrase" etoile_WS2812B.mbas
128 313 Invalid ASM instruction: "movwf lecture" etoile_WS2812B.mbas
132 313 Invalid ASM instruction: "ENDM" etoile_WS2812B.mbas
135 313 Invalid ASM instruction: "rgb MACRO valeur1,valeur2,valeur3,led_debut,led_fin" etoile_WS2812B.mbas
138 313 Invalid ASM instruction: "movwf rouge" etoile_WS2812B.mbas
140 313 Invalid ASM instruction: "movff valeur1,vert" etoile_WS2812B.mbas
140 313 Invalid ASM instruction: "movff valeur1,vert" etoile_WS2812B.mbas
142 313 Invalid ASM instruction: "movwf vert" etoile_WS2812B.mbas
145 313 Invalid ASM instruction: "movwf bleu" etoile_WS2812B.mbas
148 313 Invalid ASM instruction: "movwf loop1" etoile_WS2812B.mbas
151 313 Invalid ASM instruction: "movwf loop2" etoile_WS2812B.mbas
157 313 Invalid ASM instruction: "ENDM" etoile_WS2812B.mbas
160 313 Invalid ASM instruction: "led_cls MACRO" etoile_WS2812B.mbas
166 313 Invalid ASM instruction: "ENDM" etoile_WS2812B.mbas
170 313 Invalid ASM instruction: "ORG H" etoile_WS2812B.mbas
175 313 Invalid ASM instruction: "ORG etoile_WS2812B.mbas
180 313 Invalid ASM instruction: "ORG etoile_WS2812B.mbas
183 313 Invalid ASM instruction: "debut" etoile_WS2812B.mbas
301 313 Invalid ASM instruction: "movwf phrase" etoile_WS2812B.mbas
304 313 Invalid ASM instruction: "movwf virgule" etoile_WS2812B.mbas
307 313 Invalid ASM instruction: "movwf buzzer" etoile_WS2812B.mbas
321 313 Invalid ASM instruction: "movwf loop5" etoile_WS2812B.mbas
323 313 Invalid ASM instruction: "clignote" etoile_WS2812B.mbas
328 313 Invalid ASM instruction: "decfsz loop5,F" etoile_WS2812B.mbas
333 313 Invalid ASM instruction: "led_cls" etoile_WS2812B.mbas
345 313 Invalid ASM instruction: "print D" etoile_WS2812B.mbas
348 313 Invalid ASM instruction: "boucle" etoile_WS2812B.mbas
349 313 Invalid ASM instruction: "locate D" etoile_WS2812B.mbas
351 313 Invalid ASM instruction: "print D" etoile_WS2812B.mbas
353 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
359 313 Invalid ASM instruction: "locate D" etoile_WS2812B.mbas
361 313 Invalid ASM instruction: "print D" etoile_WS2812B.mbas
363 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
369 313 Invalid ASM instruction: "locate D" etoile_WS2812B.mbas
371 313 Invalid ASM instruction: "print D" etoile_WS2812B.mbas
373 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
379 313 Invalid ASM instruction: "locate D" etoile_WS2812B.mbas
381 313 Invalid ASM instruction: "print D" etoile_WS2812B.mbas
383 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
389 313 Invalid ASM instruction: "locate D" etoile_WS2812B.mbas
391 313 Invalid ASM instruction: "print D" etoile_WS2812B.mbas
393 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
399 313 Invalid ASM instruction: "locate D" etoile_WS2812B.mbas
401 313 Invalid ASM instruction: "print D" etoile_WS2812B.mbas
403 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
405 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
407 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
409 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
411 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
413 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
415 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
417 313 Invalid ASM instruction: "rgb D" etoile_WS2812B.mbas
0 102 Finished (with errors): 17 mai 2020, 10:04:02 etoile_WS2812B.mbppi



J'ai trouvé pour le parétrage par contre tous ce qui est variables me genere des erreurs, je suis en train de rechercher comment faire ce reglage et si je ne me trompe pas ca devrait le faire, enfin j'espere....

Led RGB 5050 WS2812B
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#17 Message par paulfjujo » dim. 17 mai 2020 10:53

bonjour à tous,

pour utiliser les variables en asm avec mikroC ( je suppose que ce doit etre idem avec MikoroB)
le mieux c'est de les declarer en bank0
et surtout de les initialiser dans le main program
pour qu'elles soient reconnues comme telles dans la partie ASM
la variable doit commencer par un underscore dans le code ASM


//declaration
unsigned char LATCx absolute 0x0F8B ; // c'est l'adresse du registre LATC

Les adresse des registres se trouvent facilement dans STATISTICS ... SFR

sinon ex pour une donnee quelconque :

unsigned byte MaDonnee absolute 0x0020;

_asm{
movlw 20
movwf _MaDonnee
....
}



void ONES ()
{
_asm {
BSF _LATCx,5; // LATC.B5 =RC5 = sortie MOSI --> DIN ruban 60 led SK6812
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
BCF _LATCx,5;
NOP;
NOP;
NOP;
NOP;
NOP;
}
}



void main()
{
LATCx=0; // pour etre reconnu par le compilateur
.....
Aide toi, le ciel ou FantasPic t'aidera

Led RGB 5050 WS2812B
cyril13110
Confirmé
Confirmé
Messages : 732
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#18 Message par cyril13110 » dim. 17 mai 2020 12:40

Merci Paulfjujo, pour les variables c'est réglé par contre les appels de sous fonctions c'est carnages, je vais te tenter de structurer le code en basic avec la gestion des sous fonction et dans chaque fonction utiliser le code assembleur.
La suite cet après midi

Led RGB 5050 WS2812B
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2616
Enregistré en : juillet 2016
Localisation : Terre

#19 Message par Temps-x » dim. 17 mai 2020 12:43

Bonjour cyril13110, paulfjujo, et tout le forum,

Je suis en train de revoir mon code, pour allumer toutes les leds qui peuvent être connectés au maximum de 255 leds,

ça te permettra de faire des essais sur ton ruban qui est au nombre de 144 leds

cyril13110 a écrit :Source du message j'ai même un bloqué alimentaire de 5V 2A pour ammener plus de puissance.


:eek: 144 leds sous 5 volts ça te fait 8,64 Ampères au maximum de leurs puissance, oops les câbles d'alimentation vont souffrir

Ok paulfjujo, mais je crois que cyril13110 veux mettre tout le code, là... je pense pas que ça soit possible, mes variables son déclaré en bank 0

Je connais pas assez vos langages pour intervenir dedans, beaucoup de complication en plus avec c'est langage de haut niveau, j'ai pas ce problème avec ASM.

Après on diras que ASM est plus long que d'autre langage pour écrire et test.... :lol:


==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Led RGB 5050 WS2812B
cyril13110
Confirmé
Confirmé
Messages : 732
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#20 Message par cyril13110 » dim. 17 mai 2020 13:21

Temps-x a écrit :
:eek: 144 leds sous 5 volts ça te fait 8,64 Ampères au maximum de leurs puissance, oops les câbles d'alimentation vont souffrir


oui si je commande la totalité des leds en meme temps ca va faire beaucoup.
En gros ce que je vais faire je vais decouper en 6 la bande de 1 m pour faire toutes les branches de l'etoiles que j'ai préparé, je vais chainer la ligne de data entre chaque partie et l'alim sera raccordé en paralle sur chaque branche.
Et de ce qui est de la séquence bein en faite je ne compte pas éclairer plus de 24 leds en meme temps répartie sur les 6 banches. ce qui va me porter a moins de 2A

et par contre je vais mettre en commentaire tous ce qui est gestion de l'afficheur et me concentrer sur les leds.


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 20 invités