Envoyer des images sur un écran LED ws2812b

Bonjour,

Je suis nouveau sur arduino, et mon projet est d'agrémenter une table de salon à l'aide de leds ws2812b, à la manière de ceci ou cela: https://www.youtube.com/watch?v=v56zLOqhjV4 http://imgur.com/gallery/mfAce

J'ai déjà commandé un peu de matériel, je n'ai pas encore de ces leds entre les mains mais je voudrais déjà commencer à étudier le coté logiciel.

Je ne crois pas qu'il soit possible de lire des images directement sur l'Arduino (à moins que..?), il faudrait alors que je convertisse les images en texte, pour les transférer via port série ou carte SD. L'importation se ferai sur l'arduino dans un tableau avec les valeurs RGB.

Est ce qu'il existe des programmes capables de faire ce genre de conversion? Que ce soit graphiquement ou en ligne de commande. Ou un programme qui fait des choses similaires (comme xlights, je ne retrouve plus un autre logiciel sur lequel je suis tombé...).

Pour information,mon ordinateur tourne sur Linux.

Merci d'avance pour vos conseils.

Vous pourriez utiliser processing sur votre pc pour faire un programme qui charge une image, accèdes chaque pixel et l'envoie en binaire à arduino sur le port série

Voici un tuto sur comment accéder les pixels un par un et ce tuto pour communiquer avec votre arduino sur le port série.

(Souvenez vous que vous avez peu de mémoire dans les UNOs et similaire et que les LEDs ça consomme bcp de courant - prévoir donc une alimentation dédiée, pas depuis les PINs de l'Arduino)

Merci pour votre réponse, je vais étudier ce logiciel. D'après ce que j'ai compris, pour envoyer des images sur l'arduino, il faut créer un programme avec Processing et le compiler à chaque fois?

J'ai prévu une alimentation externe, bien sûr :) . Concernant la mémoire, vous parlez de la ROM ou RAM? J'ai une mega2560 pour faire les tests, et j'ai également commandé une UNO et une NANO. La table aura au maximum 360 pixels, je ne sais pas combien ça peut représenter en RAM.

Le programme processing peut choisir un fichier image et ensuite le traiter.

Pas besoin de recompiler à chaque fois. si vous mettez un moyen de communiquer sans fil (bluetooth par exemple) sur l'arduino et le PC, alors le programme processing pourra envoyer l'image à l'arduino sans que celui ci ne soit branché. faut juste prévoir un mode de "programmation de l'image" qui mette l'arduino en attente de lecture de quelque chose sur le port série.

Sinon je parle de la RAM. Si vous voulez représenter un pixel en couleur = 3 octets (R, G, B).

Le Mega à 8 KB de RAM - c'est mieux que le UNO qui n'en a que 2.

Si vous voulez que ça fonctionne sur un UNO en prenant disant 75% de la mémoire pour votre image et le reste pour votre code, 75% x 2ko / 3 octets par pixel = vous pouvez gérer 512 Pixels soit en gros une image de 22 pixels sur 23 environ... donc pas très grosse image...

Si vous prenez 90% de la mémoire du Mega 90% x 8ko / 3 octets par pixel = vous pouvez gérer ~2460 pixels soit un image de 49 x 50 pixels.

bref dans tous les cas avec ces processeurs, vous n'avez pas une super image...

Bonjour Kimented,

avez-vous fini votre projet ? si oui pourriez vous nous faire une retour :)

Vepty.