vendredi 14 juin 2013

8rgb Led multiplexing

J'ai réussi à faire marcher les leds à cathode commun en multiplexage de base.
Je me base sur la vidéo en dessous, avec les mêmes composants et schéma (qui d'ailleurs n'est plus accessible depuis quelques jours parceque la page est.. remplie de virus d'un coup?)



Je travaille aussi avec l'arduino Uno, et dois maintenant transposer sur le lilypad (à 3.3V)
Ce que je remarque c'est que c'est moins puissant en luminosité en 3.3V comparé aux 5V, mais c'est normal. Il faudra modifier les resistances un peu pour que les leds allument assez bien et que les couleurs se mélangent correctement (le rouge a une facheuse tendance à predominer)

5V


3.3V


Comparaison des deux (led verte avec et sans resistance)


jeudi 13 juin 2013

Element Piezo - mode émetteur de sons

En partant sur une base d'un sketch trouvé sur le site d'arduino  (http://www.arduino.cc/en/Tutorial/Melody) et en rajoutant des notes et modifiant certaines autres (qui n'étaient pas en accord avec l'échelle)

d'accord le son n'est pas très fort mais c'est un bon début


mardi 11 juin 2013

Des tests avec Piezo - mode capteur de pression

Donc je fais des tests avec les composants piezo électriques, achetés chez Evola. Il peuvent à la fois servir de capteurs de pression et d'émetteurs de sons, mais la je les utilise comme capteurs, je ferai par la suite des tests de sons. 

Étant donné qu'ils créent un certain voltage quand on les touche, pressione ou tapote, on peut facilement capter ces données avec l'arduino.

Il y a d'ailleurs un tuto sur le site d'arduino pour ça: http://www.arduino.cc/en/Tutorial/Knock
Je l'ai utilisé et modifié pour avoir 2 approches différentes: le piezo comme bouton (logique on/off) et le piezo comme capteur de niveaux de pression.

Donc tout d'abord: tapoter pour allumer/éteindre une diode, rien de plus simple. Dès qu'on tapote le piezo, il crée un voltage. Il n'ya même pas besoin de tapoter fort, au simple toucher ou avec un légère pression on a deja un voltage qui apparait. Un seuil permettant de faire la différence entre un toucher volontaire et du bruit est utilisé afin d'activer ou désactiver la led.



Ensuite, je me suis dit qu'on pouvait faire un peu comme sur les manettes de jeu ou sur les claviers des telephones portables nokia d'il y a quelques années (1=abc, 2=def...): 1 tap pour allumer une led de couleur bleue, 2 tap pour allumer une led de couleur verte, 3 tap pour faire du cyan, 4 ou plus ça éteint les diodes. Évidemment il faut un compteur de tap, ainsi qu'un timer qui permet de savoir si j'ai fait 3 tap a la suite ou 3 tap a des intervales plus long.. un peu comme quand on appuie trois fois la touche 1 sur un nokia et ça fait 'c' ou 'aaa' , selon si on a appuyé dans les temps ou pas.


Après je me suis penchée sur les niveaux de pression, parce qu'effectivement, selon si j'appuie fortement ou pas, les valeurs captées par l'Arduino varient: entre 0 et 1023 (1023 ou 1024 je ne sais jamais) comme pour tout capteur branché à des pins analogiques.
Dans ce cas là, effleurer a peine le composant piezoelectrique génère un courant assez faible, et des valeurs captées sur l'Arduino qui vont entre 30 et 200 dans mon cas (mais ça depend de la résistance qu'on utilise, ainsi que du composant piezo). Ceci allume la led bleue.
Tapoter un peu pour allumer la led verte, et finalement tapoter plus fort pour activer le cyan.

Évidemment il y a du calibrage encore à faire, parceque les valeurs sont ponctuelles et variantes: c'est à dire que quand j'appuie fortement, il y a pas mal de valeurs en dessous de mon plus grand seuil (700).
Ça fait comme une sorte de courbe lorsque je tapote le piezo, donc il y a beacoup de parasites qui font que la led sera bleue puis verte puis cyan en moins d'une demie seconde et qu'elle peut eventuellement repasser au bleue après le cyan, si des valeurs inférieures viennent se coller juste après ma valeur la plus grande au dessus de 700.. 

Créer un tableau de valeur et calculer la moyenne des 5 ou 10 dernières valeurs peut être du coup une solution, et c'est ce que j'utilise pour l'accéléromètre par exemple.



Les trois couleurs:







lundi 10 juin 2013

Led multiplexing

L'affichage visuel du bracelet consiste en un ensemble de leds. J'avais deja expliqué qu'il fallait qu'il soit non-écran, et qu'il devait y avoir plusieurs façons d'informer sur l'état du jouer et du jeu à travers plusieurs systèmes d'affichage... sonore / vibration et lumière; et que, dans le cas du labyrinthe il fallait 2 systèmes d'information visuelle: un système qui indique l'orientation à prendre, et un système qui indique les points de vie restants au joueur.
À partir de ça j'ai imaginé un cercle (ou l'on peut plus facilement 'afficher' l'orientation N-S-E-W..NW-NE-SE-SW) mais aussi un certain nombre de points dans le contexte d'un autre jeu (un maximum de 8 points du coup)
Mis à part le fait que ce cercle sera couvert d'une couche de textile qui permettra de customiser les leds (triangles, feuilles, ronds.. etoiles... coquilles..que sais je).. je me suis intéressée aux système d'affichage double, comme pour le jeu du labyrinthe.
Je sais que le multiplexing n'est pas une chose facile pour moi, et que ..avec du textile conducteur ça risque d'Être très galère.. faudra une plaque ou quelque chose de solide...
bref.. je me suis dit que j'avais 2 options: soit je suppose que le cercle de 8 leds n'est composé que de LEDs monochromes (sur lesquelles, on pourrait mettre des tissus 'filtres' pour customiser...) et que ces leds étaient branchées aux pins digitaux de l'arduino (logique on/off); et qu'en plus de ces 8 leds il y aurait une zone colorée (led rgb connectée en PWM à l'arduino) indiquant l'état du joueur (par exemple: rouge pour etat critique, vert pour max vie..) mais tout ça rendait l'affichage du coup moins intéressant... 


 ça le rendait moins intéressant, mais aussi plus compliqué... moins elegant.. etc.
Une autre option était d'utiliser ce même cercle de leds, mais composé que de led rgb. De cette façon, l'affichage de l'orientation et de la barre de vie pourraient coexister sur les mêmes lumières... ça semblait joli.. mais coté éléctronique,cc'est une belle galère.


toutes les DEL doivent pour le coup être connectées à des pins PWM sur l'arduino, 3 pins par leds + la masse... au total 24 PWM.. ce qui est inexistant sur n'importe quel arduino..notamment le lilypad. Il faut du coup multiplexer (ça se dit en français?) ces leds.. mais pas n'importe comment parcequ'il ne s'agit pas juste d'allumer et d'éteindre..mais de faire ceci avec la modulation en plus...

(schéma de base de multiplexing de led rgb à anode commune, au total 6 pins pour 8 leds rgb)

Ensuite vient le problème des leds rgb à cathode ou anode commune... qui ne marchent pas du tout pareil (oui je me suis deja plantée avec ces leds, j'ai eu les couleurs complémentaires de celles que je voulais :) rien de grave mais bon)





J'ai deux types de leds rgb chez moi, des standart à cathode commune, plus brillantes. et des carrées moins fortes en luminosité mais avec anode commune du coup.




Je fouille l'interwebs du coup pour savoir du coup quel multiplexer je dois acheter ,et pour le moment je suis tombée sur des ULN2803 ou des MAX7219CNG (avec lesquels on peu allumer 64 leds woot..un peu trop quand même), tout ça avec des transistors et des resistances.. faudra vraiment avoir une platine d'experimentation ou quelque chose pour tenir le tout...sinon ça va être trop difficile de tenir tous les cable correctement sur le bracelet.

jeudi 6 juin 2013

Capteurs de pression souples

J'aimerais inclure un capteur de pression souple sur le bracelet, le problème est que je n'ai pas encore trouvé les matériaux adéquats.
Quelques tentatives en photos: des pompons conducteurs avec de la feutrine et de la fibre conductrice (très sympathiques, mais qui puent horriblement); un sandwich de mousses écrasables, avec un circuit des deux cotés et un trou sur la mousse au milieu.. c'est plus un bouton qu'un capteur de pression (à droite); et un capteur avec 2 fils (gauche) : un a l'horizontale et un a la verticale qui sont presque incrustés dans la mousse blanche, ce qui fait que lorsqu'on fait pression la led s'allume plus ou moins (photo 2).. mais la encore il manque quelque chose, c'est plus un bouton qu'un capteur, même si on retrouve des degrés d'intensité lumineuse différents.




le lien dont je me sers au sujet des pompoms conducteurs: http://www.kobakant.at/DIY/?p=2028
encore un lien sur des capteurs de pression avec de la feutrine: http://learning.codasign.com/index.php?title=Creating_Felt_Sensors

Design du bracelet

Je n'ai encore qu'esquissé l'apparence et la structure du bracelet pour le moment, mais une chose est certaine: il faut plusieurs couches de tissu, d'une part parce que je veux que tout ce qui est electronique soit dans une couche 'cachée', d'autre part parceque je veux que l'on puisse personnaliser l'objet en posant une couche suppérieure différente pour chaque utilisateur. On peut supposer alors que le bracelet vient avec une couche suppérieure 'standart' et que l'on peut transformer l'accessoire à sa guise [et peut-être même si on a gagné un certain nombre de parties d'un des jeux, et qu'on a obtenu un tour de force et une recompense textile].

Pour le moment j'opte pour un bracelet plutot long, principalement parceque j'adore quand c'est grand mais aussi parceque coté composants et tout, ça risque d'être dur de les superposer sur une surface plus petite.. mais c'est à voir.. comme a dit etienne, des fois il faut faire des protos qui ne marchent pas mais qui sont bien designés et beaux, et après on réussi par les faire marcher des fois...

Pour ce qui est du textile, j'ai peut-être un contact qui s'y connait bien. Pour le moment je fais des recherches sur le webs, mais comme je suis presque totalement ignorante à ce sujet, ça risque d'être dur.



mardi 4 juin 2013

Des idées de jeu: batailles de sorts

Une autre idée qui m'est venue depuis un moment est de faire des sortes de batailles de magie où grâce à une combinaison de gestes et un système de recharge de 'magie', on peut lancer des sorts à l'adversaire, et jouer à des combats imaginaires. Un peu comme dans un jeu rpg.

Les gestes seraient alors captés grace à une combinaison des valeurs de l'accéléromètre et du magnétomètre (si seulement j'avais un IMU à la place de tout ça, avec le gyroscope en plus)...Avec ces deux elements, un grand nombre de gestes différents peuvent être faits, ainsi qu'un plus grand nombre de combinaisons.

Chaque combinaison dans ce sens, serait une série de gestes effectuée avec des intervales plutôt courts, et dépenserait un nombre donnée de points de magie (mana..). Ces points de magie sont alors symbolisés par les différentes leds à la surface du bracelet. Ils se rechargent petit à petit, ce qui permet de lancer des sorts plus ou moins forts, plus ou moins vite.

À ce système de recharge magie, on peut aussi ajouter un système de blockage des sorts, de sorte à ce que certains dégats sont empechés ou réduits.
Aussi, des sons peuvent accompagner certaines actions. Tout cela n'est encore qu'une idée, qui requiert pas mal d'essai et d'erreurs.