Skyduino:~#
Articles
Processing, programmation, test

[Test] Rainbowduino

Salut à tous !

Aujourd’hui je vais vous parler de la « Rainbowduino ».

La Rainbowduino est une plateforme de développement « artistique » ou plutôt visuelle compatible arduino et avec des capacités de controle très élaboré.
La rainbowduino a été conçu pour contrôler des matrices de led de 8×8 à anode commune uniquement.

Les qualités annoncées dans le wiki de seeedstudio (le fabricant) sont les suivantes :
– Hardware plug & play, aucun bidouillage requis,
– 24 source de courants à 120mA,
– 8 super source de courant à 500mA,
– régulateur interne acceptant des tension de 6.5v à 12v DC,
– I/O et ADC libre pour une utilisation dans un projet,
– Port série et I2C pour la communication et permettant une mise en cascade de plusieur rainbowduino,
– form factor petit et leger.
(source : http://garden.seeedstudio.com/index.php?title=Rainbowduino_LED_driver_platform_-_Atmega_328)

Et là je vais passer pour un grincheux mais NON je ne suis pas d’accord avec ces « qualités », j’explique :
– La rainbowduino n’est pas du tout plug & play, certes elle ne requière aucun matos extérieur pour fonctionner mais niveau programmation c’est une catastrophe !
Rien que pour trouver l’API officiel pour créer ses propres effet visuel demande bac +8 !
– Seul 2 entrées analogiques sont libre et la pin PD2 ce qui n’est pas énorme !
Pour pouvoir contrôler des I/O il semble bien obligatoire d’utiliser un expanseur I2C !
– La mise en cascade et la communication I2C/série, holala … quand j’ai voulu cherché un exemple pour ça, la SEUL chose qui m’as été dite c’est « A faire soi même » …
L’hardware est prêt mais j’ai vraiment l’impression que le software est encore en beta voir même en alpha !

Bon passons !

Coté hardware, c’est plutôt pas mal sauf que !
– Les borniers d’alimentation sont en doubles (c’est déjà inexplicable en soit) mais en plus les vis des borniers sont obturé par la matrice de led ! (a vouloir rendre la chose microscopique c’est gagner !)
– Les 3 malheureuses I/O disponible sont routé … suspense ! … sous la matrice de led !
– Les 3 led de statut sont …. sous la matrice de led ! comment voir le statut ? On peut pas \o/ !
– L’alimentation se fait soit par les borniers soit par un câble JST impossible à trouvé excepté chez seeedstudio (et pas le choix c’est l’un OU l’autre, il y à un interrupteur pour choisir) …
Et alors le clou du spectacle, la cerise sur le gâteau ! Le port série ne correspond pas au pinout standard des FTDI basic ! Câblage à la main donc pour reprogrammer/ connecter la rainbowduino à un ordi !

Je me demande très sérieusement ce qu’ils ont fumé chez seeedtudio quand ils ont routé leur pcb !?

Autant dire qu’il est évidement que le connecteur ISCP et I/O n’est pas souder de base mais c’est compréhensible.

Bon restons calme il reste quand même un point trés important : ça marche !
Quelque soit les galères pour la faire fonctionner une fois la prise en main et les heures à râlé passé, la rainbowduino montre son potentielle !

La première chose qui m’as interpelé c’est la complexité de la matrice de led !
Un vrai labyrinthe de connexions laissait visible derrière une couche de vernis transparent !
Un vrai chef d’œuvre !

Ensuite il existe un soft PC (processing) avec un skecth arduino pour contrôler votre raibowduino :
mtXcontrol disponible ici : http://www.rngtng.com/mtxcontrol/
J’ai galéré comme un perdu pour l’installé mais ça en valait le coup !

Pour le téléchargé il faut allez sur le github du projet :
https://github.com/rngtng/mtXcontrol/downloads
Pour l’installation c’est assez bizarre mais tous est expliqué ici :
https://github.com/rngtng/mtXcontrol/blob/master/README.markdown

Pour le câblage FTDI -> Rainbowduino j’ai suivis les instructions de pobot disponible ici :
http://www.pobot.org/Test-d-une-Rainbowduino.html

voici ce que donne le câblage (j’ai profité de cet article pour mettre à jour ma rainbowduino ;)) pas la peine de dire qu’il faut enlever la matrice de led pour faire le câblage hein …
(Pour le choix de la board dans l’IDe arduino j’ai pris « arduino pro mini 5V 16Mhz »)

Personnellement j’ai eu pas mal de probléme avec la version pré-compiler de mtXcontrol sur mon Win7 x64!
Le seul moyen que j’ai trouvé pour faire marcher le GUI à été de le lancer via processing avec le code source fourni et quelques modifications dans la fonction setup() :

void setup() {
  frame.setIconImage( getToolkit().getImage("sketch.ico") );

  matrix = new Matrix(8, 8);
  device = new RainbowduinoDevice(this, "COM8", 57600); // <- changer le port par le votre !
  
  device.setColorScheme();

  size(780,720);
  smooth();
  noStroke();
  fontA = createFont("Arial.bold", 32);
  fontLetter = createFont("Arial.bold", 32); 
  setup_buttons();
  frameRate(15);
}

Et voila un peu de créativité et Hop !

Dans l’ensemble la rainbowduino est pas mal mais elle comporte encore beaucoup de point noir qui rend son utilisation impossible pour un débutant et c’est vraiment dommage espérons que la Rainbowduino++ sera meilleur !

Discussion

12 réflexions sur “[Test] Rainbowduino

  1. (Avant toute chose, je ne possède pas cette carte. Néanmoins, je me suis renseigné puisque je voulait m’en acheter une.)

    «  »Coté hardware, c’est plutôt pas mal sauf que !
    – Les borniers d’alimentation sont en doubles (c’est déjà inexplicable en soit) mais en plus les vis des borniers sont obturé par la matrice de led ! (a vouloir rendre la chose microscopique c’est gagner !)
    – Les 3 malheureuses I/O disponible sont routé … suspense ! … sous la matrice de led !
    – Les 3 led de statut sont …. sous la matrice de led ! comment voir le statut ? On peut pas \o/ !
    – L’alimentation se fait soit par les borniers soit par un câble JST impossible à trouvé excepté chez seeedstudio (et pas le choix c’est l’un OU l’autre, il y à un interrupteur pour choisir) … » »

    Tout ceci est normal et s’explique par l’une des premières phrases de l’article «  »La Rainbowduino est une plateforme de développement « artistique » ou plutôt visuelle «  ».

    En effet, le but est, en théorie, de disposer de tout plein de rainbowduino et de les mettre côte à côte. Ainsi :

    1) Les alimentations doubles sont normale, et étudiées pour être alignées avec la carte suivante, reliée à l’aide de grosses pattes de résistances ou de fil « costaud ». Toutes les diodes allumées, ça finit par consommer énormément, surtout si on en cascade plusieurs.

    2) Normal, les IO supplémentaires sont vraiment un plus, il leur restait des pattes, et ils les ont mis en libre service. Mais il ne faut pas que les composants débordent, sinon, il est impossible de créer une mosaïque.

    3) Itou. Faut pas perturber l’utilité première de la carte : l’affichage RGB.

    4) Il me semble que ce câble est le standard pour les batteries LiPo… Et donc faire une sorte d’afficheur autonome.

    En résumé, on en arrive à ma conclusion : la rainbowduino n’est qu’un afficheur que l’on peut programmer. L’interaction avec l’extérieur n’est, au final, qu’un bonus.

    Voilà, en espérant avoir aidé ^^

    Publié par TheDarkTiger | 11 septembre 2013, 19 h 26 min
  2. Bonjour.

    Je suis prof, j’ai décidé de faire un projet sympa avec mes élèves avec un afficheur LED 8*8 et une carte rainbowduino. Le problème est qu’il y a 1 mois je ne savais pas ce qu’était une carte arduino (je suis prof de mécanique, donc les fils électriques connais pas !!). J’essaye de comprendre le principe de programmation de la carte mais je dois avouer que je nage (plutôt je coule). Puis-je programmer directement la carte rainbowduino via le logiciel arduino ou bien dois-je passer par ma carte léonardo ?
    Je ne comprends pas se que je dois télécharger (firmware), il y a tout un tas de fichiers.
    Bon, je reconnais que je suis nul de chez nul mais je me suis embarqué dans cette histoire pour faire plaisir a mes élèves.
    Si quelqu’un peut m’aider SVP.
    Merci
    Cyrille.

    Publié par cyrrou | 18 février 2014, 17 h 05 min
    • >> Puis-je programmer directement la carte rainbowduino via le logiciel arduino ou bien dois-je passer par ma carte léonardo ?

      La rainbowduino EST une carte Arduino, enfin « compatible Arduino » (Arduino c’est une marque déposé, enfin bref).
      Avec un dongle usb-série (classiquement un câble « FTDI BASIC ») la carte se programme exactement comme un carte Arduino UNO.
      Pas besoin de logiciel spécial ou autre, juste d’un câble usb-série (le petit truc usb sur les photos).

      >> Je ne comprends pas se que je dois télécharger (firmware), il y a tout un tas de fichiers.

      1) https://github.com/downloads/rngtng/mtXcontrol/latest_cubeXcontrol_and_firmware_windows.zip
      2) dans le dossier « firmware » il faut renommer le fichier « firmware.pde » en « firmware.ino »
      3) ouvrir le fichier .ino avec l’ide arduino
      4) programmer la rainbowduino avec le logiciel arduino comme ci s’était une carte arduino UNO
      5) lancer le programme mtXcontrol
      6) jouer avec les jolies lumière 😉

      Publié par skywodd | 22 février 2014, 16 h 23 min
      • Merci beaucoup Skywood pour ta réponse

        J’en suis à la partie 4 de ta réponse.

        Après avoir changé toutes les fonction Wire.receive et wire.read, la compilation me surligne :
        Serial.write(command);

        et me dit : serial was not declare in the scope

        et puis :

        In file included from Connection.cpp:5:
        /Connection.h:34:22: error: WProgram.h: No such file or directory
        Connection.cpp: In function ‘void onReceiveMasterCallback(int)’:
        Connection.cpp:29: error: ‘Serial’ was not declared in this scope
        Connection.cpp: In member function ‘void Connection::begin(bool)’:
        Connection.cpp:71: error: ‘delay’ was not declared in this scope
        Connection.cpp:88: error: ‘max’ was not declared in this scope
        Connection.cpp:92: error: ‘class TwoWire’ has no member named ‘send’

        Que dois-je faire ?

        Publié par Cyrille. | 8 mars 2014, 19 h 23 min
      • Si tu repasses par là.

        J’ai regardé tes 4 pages de tuto, c’est super complet mais extrêmement complexe pour un novice.
        Je me suis embarqué dans une grosse affaire, les élèves risques d’êtres déçus car mes autres projets avec arduino fonctionnent bien. Avec la matrice j’ai tapé trop haut.
        En fait dans mon idée je voulais fournir aux élèves le programme, ensuite ils devaient simplement le modifier pour allumer les bonnes leds au bon moment.
        Même quand je récupère tes exemples de programme, ils ne fonctionnent pas message :
        avrdude: stk500_getsync(): not in sync: resp=0x00

        Je dois avouer que je suis coincé.

        Cyrille.

        Publié par Cyrille | 8 mars 2014, 21 h 12 min
      • Utilise l’ide Arduino 0023 est tout les problèmes de compilation seront résolus 😉

        Publié par skywodd | 9 mars 2014, 15 h 04 min
      • Pour le not in sync c’est surement un problème de choix de carte dans l’IDE.
        Essaye de choisir « arduino pro mini 5v 16mhz ».

        Publié par skywodd | 9 mars 2014, 15 h 05 min
  3. La version 023 résoud bien tous les problèmes de compilation…bravo !!

    Par contre j’ai essayé toutes les cartes mais rien a faire j’ai toujours :

    avrdude: stk500_getsync(): not in sync: resp=0x00
    avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

    Merci beaucoup pour ton aide.

    Publié par cyrille | 9 mars 2014, 20 h 44 min
    • Problème de liaison série, as-tu bien croisé Rx et Tx ?

      Publié par skywodd | 15 mars 2014, 18 h 12 min
      • Salut.
        Non je n’ai pas croisé Rx et TX car je n’utilise pas ma carte arduino comme maitre. Je programme directement (enfin j’essaye) la rainbowduino avec le PC via le cable USB (la matrice LED est, elle, directement branchée sur la carte rainbowduino).
        Merci.

        Cyrille.

        Publié par Cyrille | 17 mars 2014, 22 h 11 min
      • Il faut croiser Tx et Rx entre maître et esclave, c’est comme ça qu’est fait un port série.
        Si tu utilises ta carte Arduino en maître pense à enlever le microcontrôleur avant, sinon c’est lui qui va se programmer et pas ta rainbowduino.

        Publié par skywodd | 24 mars 2014, 14 h 14 min
  4. Merci beaucoup pour ton aide.

    Publié par Cyrille | 27 mars 2014, 22 h 45 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.