jeudi 22 octobre 2015

Schémas de principe de l'ensemble

Cliquez dessus pour agrandir...


en cours: récupérer l'alimentation sur le contrôleur RGB

Il s'agit ici du point de base de tout mon schémas:

Récupérer l'alimentation à partir du contrôleur RGB pour alimenter le minuteur. En d'autres termes, le minuteur sera alimenté et donc démarrera dès que le bandeau à leds s'allumera et ce, quelque-soit la couleur activée.

Car ce merveilleux petit contrôleur garde en mémoire la couleur précédemment choisie.

En y regardant de plus près, la sortie 12V du contrôleur RBV est directement reliée aux leds. C'est la masse, plus précisément les masses (1 par couleur soit 3 pôles négatifs) qui commutent selon la couleur qui est choisie, voir les 3 en même temps que c'est le blanc qui est sélectionné.

Afin de ne pas perturber le fonctionnement du bandeau de led, l'idée est de relier les 3 masses ensemble par le biais de diodes afin de ne pas se retrouver avec uniquement une lumière blanche.

Sur ce point de liaison, je vais tenté, pour la première fois, d'utiliser un transistor.

En voici le schémas de principe. Dans un premier temps, le but est de récupérer entre 10 et 12Volts entre les points A et B quand et uniquement quand le ruban est allumé. 
Ce schémas risque d'évoluer en fonction de mes expérimentations.

Car il reste des interrogations. Comme je commute ce 10-12V avec un transistor il faudra adapter la résistance commandant l'ouverture du circuit (la saturation du transistor) à la consommation complète du minuteur qui n'est pas encore réalisé.

De rapides calculs m'amènent à penser que mon montage consommera environ 20mA soit, la même chose qu'une led verte. Je m'en servirai donc pour test.

En attendant, je laisserai la résistance attachée à la commande du transistor soudé "en l'air"

Les autre interrogations sont les suivantes: que se passera-t-il quand un mode clignotant, fader ou autre enchaînement automatique sera sélectionnée ou encore quand la luminosité sera abaissée.
Pour ce dernier point, cela sera rarement le cas, mais il faut tout de même tester le comportement de l'ensemble - Un temporisation intermédiaire à base de résistances et de condensateur est certainement à prévoir en entrée d'alimentation du minuteur afin que ce dernier, une fois de plus, ne fasse pas jour/nuit-jour/nuit quand un mode clignotant est activé


Régulateur de tension pour alimenter la télécommande

C'est la première fois que j'utilise ce composant de base.

Mais il n'y a rien de sorcier.

Je me suis basé sur ce tuto qui ne pose aucun problème.

Pour les condensateurs C1 et C2, j'ai utilisé respectivement:
C1: 10microF, condensateur chimique polarisé (attention au sens!)
Résultat de recherche d'images pour "condensateur chimique 10 micro"
C2: 0,10microF, condensateur ceramique.


Avec mon voltmètre, j'ai bien (environ) 12 volts à la sortie du bloc d'alimentation.
Je reprends directement ce courant sur l'entrée d'alimentation du kit Velleman interrupteur à clap.

Pour obtenir précisément 3V, il faut calculer la valeur des 2 résistances:

Ici se trouve une page qui fait le calcul pour vous

Dans mon cas, en partant avec une 1ère résistance de 150Ω, cela me donne pour la seconde 210Ω.

Pour le branchement du LM317, ce n'est pas bien sorcier. Ci-après, le numéro des broches correspondant au schémas de montage présenté ci-dessus:





Amélioration du ruban Led RGB

Je me concentre uniquement sur les commandes par infrarouge, bien sûr pour pouvoir facilement piloter ces rubans lumineux avec mon smartphone.

Résultat de recherche d'images pour "Ruban LED rgb"

Pour commencer, je disposais d'un mini contrôleur RGB et sa télécommande ultra plate à 44 boutons:
Télécommande IR avec contrôleur RGB pour bande led multicolore

Chez le même fournisseur, il y a un autre contrôleur, d'apparence similaire mais avec une télécommande infrarouge de seulement 24 boutons.

Sur d'autres site marchants, on peut trouver ces contrôleurs avec leur télécommande pour environ 4€, ce qui n'est pas si onéreux pour un appareil pilotable par infrarouge capable de commuter 3 voies de quelques ampères.

Télécommande IR 24 touches avec contrôleur RGB.
Bien qu'il y a beaucoup moins de touches, nous verrons par la suite que ce dernier kit est préférable car une différence de taille les distingues:

celle à 44 boutons possède une touche bascule ON/OFF, alors que celle à 24 boutons présente un bouton ON et un bouton OFF bien distincts.


Afficher l'image d'origine
Bref, je décide d'allumer ou d'éteindre le ruban à l'aide d'un interrupteur Clap, c'est à dire qui commute l'appareil en frappant dans les mains, à relier à la télécommande 44 touches.

En attendant de mieux me ré-équiper en petit outillage électronique, j'opte pour un kit à souder Velleman MK139
Résultat de recherche d'images pour "Velleman-MK139"

Première point: j'ai choisi celui-ci car il s'alimente en 12v,
En faisant une dérivation sur le bloc d'alimentation secteur du ruban à leds, il m'est donc facile d'alimenter ce kit sur le même bloc d'alimentation.

Deuxième point: Il est possible de le régler en impulsion, c'est à dire qu'un contact sec se fait momentanément lors d'un bruit sec.

Je démonte donc cette télécommande; il suffit de décoller le dessus qui n'est rien d'autre qu'une sorte d'autocollant.
Au milieu des pistes carbone, je trouve 2 points en cuivre en suivant le parcours du circuit de chaque coté du bouton ON/OFF. En soudant un petit fils électrique entre ces 2 points, c'est comme si j'appuyais en permanence sur ce bouton ON/OFF de la télécommande.

L'astuce consiste alors à isoler la pile de la borne + et de relier les deux avec deux petits bouts de fils conducteur que je relie aux bornes du relais du kit Velleman.

Ainsi, à chaque bruit sec, le kit Velleman met brièvement en contact la pile de la télécommande à la borne +. La télécommande est alimenté pendant un court instant et envoie donc l'ordre ON/OFF au contrôleur RGB.

Vous me direz que j'aurais pu faire la commutation du kit interrupteur à clap directement entre les 2 bornes du bouton On/Off mais cela aurait impliqué que la télécommande soit alimentée en permanence, ce qui n'est pas terrible pour la durée de vie de la pile-bouton et donc pour l’économie d'énergie...

Ainsi, à chaque frappe dans les mains, le bandeau s'allume ou s'éteint alternativement.

2 choses restent à améliorer dans ce montage:


1 - Remplacer la pile de la télécommande.
En effet, même si elle va durer 1 ou 2 ans, je préfère alimenter directement la télécommande par le même adaptateur secteur, c'est à dire celui qui alimente déjà le ruban à leds RGB et le kit Velleman.

J'ai réalisé un petit montage assez simple basé sur un régulateur de tension. Comme la pile est en 3V, il n'y a pas de régulateur capable de délivrer directement cette tension. Je me suis donc servi d'un régulateur variable, le LM317



2 - Améliorer l’interaction avec les bruits secs captés par le kit interrupteur clap.

On se rends vite compte que les bruits ambiants assez secs font réagir l'ensemble.

Poser un verre, fermer une porte de placard, une quinte de toux... Le kit est très sensible; trop même. Tous ces bruits allument ou éteignent le ruban à leds.

Un second réglage est présent sur ce kit, permettant de ne réagir qu'avec 2 claps successifs.
Mais après différents tests, ce n'est pas mieux: ces même bruits non volontaires font réagir l'ensemble: poser un verre, une casserole ou une assiette en 2 temps, tousser plusieurs fois, vider le lave vaisselle.
Et oui, la difficulté est que cette installation  est destinée pour la cuisine.

Même en réduisant la sensibilité du micro (à l'arrache en l'emballant dans de la mousse), je me rends compte que ça n'ira jamais.

En effet, suivant nos activités, nombreuses dans une cuisine, le ruban n'arrête pas de faire jour/nuit - jour/nuit comme dans les visiteurs.
Il faut vraiment se comporter comme un ninja pour ne pas être ennuyé.

Le constat est évident, je peux garder le kit clap pour allumer les leds, mais il faut une autre méthode pour les éteindre.

Oui, à bien y réfléchir, j'aurais pu y penser avant!!! Pfff!!!

C'est donc à ce moment que je change de contrôleur pour utiliser celui à 24 touches.
Toujours de la même manière, je shunte le bouton On de la télécommande et je relie son alimentation au kit Velleman et ainsi, à chaque bruit sec, le ruban s'allume.

Il me reste donc ensuite à trouver le moyen d'éteindre de façon sympa le ruban de leds.

------------------------------------------------------

L'idée me vient alors de faire une minuterie de quelques minutes au bout de laquelle le bouton off sera automatiquement actionné, avec une remise à zéro de la minuterie dès que le kit clap s'active, ce qui arrive très souvent au vu de sa sensibilité.

Et tant qu'à faire les choses bien, pourquoi ne pas ajouter un rang de petites leds qui s'allument avec la minuterie et qui s'éteignent une à une au fur et à mesure du décompte de la minuterie, histoire de visualiser quand la lumière va s'éteindre???

Tout cela reste à réaliser. Il va falloir utiliser des circuits intégrés, je pense notamment au NE555, CD4017... bref, me voilà replongé dans l'électronique.

 A suivre donc.

mardi 20 octobre 2015

RCoid

Il s'agit donc dans cette appli d'attribuer pour chaque touche de la télécommande le code infrarouge correspondant. Très fastidieux de prime abord, avec un peu de méthode, on s'en sort finalement assez rapidement.

Vous pouvez partir d'un écran vide ou en reprenant une télécommande existante dont vous modifierez tous les codes de chaque bouton. Pour cette dernière solution, les "dessins" des touches seront donc déjà fait, mais il faut veiller à bien tous les reprendre uns-part uns.

Tandis qu'en partant d'un écran vide, si on oublie d'appliquer un code infrarouge sur une touche, ce sera plus simple de s'en apercevoir puisque rien ne se passera.

Car en effet sous RCoid, quand on transmet un ordre infrarouge, le smartphone vibre et le haut de l'écran scintille en rouge.

Pour creer un écran vide, appuyez sur les 3 petits point en bas à gauche et sélectionnez edit Remote control.

Appuyez une nouvelle fois sur ces 3 petits points puis sélectionnez New Remote Control.
Tapez un coup sur l’écran, choisissez add element, choisissez l'image de votre choix pour votre 1er bouton: le voilà créé!

En farfouillant dans l'éditeur, vous apprendrez facilement à modifier l'image, à ajouter du text dessus... Mais ce qui nous intéresse, c'est que ce fichu bouton fonctionne.

Nous allons donc lui attribuer le premier code infrarouge enregistré sur votre PC.

Appuyez sur le bouton récemment crée.
En haut de l'écran, juste en dessous de Element et à droite de Switch se trouve un petit bouton (pas facile à voir). Vous activerez votre bouton en appuyant dessus.
Juste un peu plus à droite appuyez sur Generate, puis sur LIRC Converter.
Là, vous avez une dizaines de paramètres à rentrer (voir ci-après) pour associer le bon code infrarouge à votre bouton.  En bas, à droite, le symbole d’émission infrarouge vous permet de tester le résultat sur votre appareil. Si cela fonctionne, il suffit d'appuyer sur INSERT pour associer le code à votre bouton.


voilà à quoi ressemble le fichier créé par IRRecord.exe de votre télécommande:
begin remote

  name  REMOTE_Televiseur
  bits           16
  flags  SPACE_ENC
  eps            30
  aeps          100

  header       3503  1681
  one           449  1255
  zero          449   381
  ptrail        450
  gap          74158
  toggle_bit      0

      begin codes
          Power                    0x00BCBD
          Vol+                     0x000405
          Vol-                     0x008485
          Mute                     0x004C4D
          Prog+                    0x002C2D
          Prog-                    0x00ACAD
      end codes

end remote





Donc dans cet exemple, on a : De Name à toggle: ces paramètres sont à rentrer dans RCoid

Laissez presque toujour la fréquence à 38000

activez header et remplissez les 2 valeurs à gauche: On à droite: Off

Pareil pour logic one et logic Zero

renseignez Ptrail, gap, eventuellement toggle bit mask

toggle bit, on le trouve en haut, ici 16, puis data.

Data concerne à proprement parler votre bouton. Pour bit, je mets la même chose que pour toggle bit.

et 0x ??? ??? correspond à la fonction de chaque bouton. Donc ici pour Power, il faut entrer 00BCBD


Quand vous entrez de la même manière le code des autres touches, vous verrez que tous ces paramètres que vous avez renseignés seront gardé en mêmoire et proposé pour votre nouveau bouton.


En fait tous ces paramètres concerne votre télécommande. Seul le dernier code 0x[00BCBD] pour Power change. Cela se fait donc rapidement dans la majorité des cas.

Ex: pour la seconde touche: Vol+, vous n'aurez qu'à renseigner [000405], pour Vol- [008485], et ainsi de suite.


Voilà, il ne vous reste plus qu'à faire de beaux écran pour vos télécommandes sur smartphone.



Bon, dans certains cas, l'enregistrement des code infrarouge est plus difficile pour WinLirc. Il ne vous proposera pas le fichier comme vu au dessus mais une suite de code (une liste de code vraiment infernale).


Et oui, cela m'est arrivé justement pour mon mini récepteur TNT.


Il ne s'agit plus du même protocole, c'est du Raw. Ca tombe bien, RCoid le comprend également. Par contre, une si grande série de nombre à recopier pour une seule touche, c'est quasi impossible à faire, qui plus est sur téléphone, sans compter que comme pour mon récepteur TNT il m'a fallu répéter l'opération environ 40 fois (oui, il y a pas mal de bouton sur cette télécommande).


Mais finalement, c'est encore plus simple car et appuyant sur GENERATE puis LIRC RAW-Converter, il n'y a qu'un paramètre à renseigner puisqu'on ne touche pas à Frequenz.


C'est RAW-Data qu'il faut renseigner avec toute cette série de nombre pour chaque touche.


Pour ce faire, je m'envoie par mail (ou autre) le fichier config.cfg, qui n'est rien d'autre qu'un fichier text. Il suffit alors de jouer avec copier-coller et le tour est joué.


Voila, à vous de faire.

En titillant RCoid, vous verrez que vous pouver faire autant d'écrans que vous voulez pour une télécommande, accessible par un simple glisser droit ou gauche, faire des boutons-lien qui ouvre un autre fichier de télécommande, ou encore copier des bouton d'une télécommande précise pour les inclure sur une autre de manière à tout avoir à porté de doigt.

WinLirc

Téléchargez le programme ici, dézippez-le et installez-le.
En fait, pour apprendre une télécommande, le programme en lui-même ne sert que peut.

Je me suis cassé la tête à tenter de le configurer alors qu'en fait, vous n'avez besoin de n'utiliser que son sous-programme IRRecord.exe.

Mais auparavant, vous pouvez directement vérifier, bande de petits impatients que l'ordinateur reçois bien des trames de code.
IrGraph1.png


Assurez-vous d'avoir connecté votre récepteur fait-maison au port série de votre PC, lancez IRGraph.exe puis placez la télécommande de votre téléviseur par exemple devant le récepteur.
Quand vous appuierez sur une touche (choisissez là bien... non je rigole, n'importe quelle touche convient - non! ne me demandez pas ou se trouve la "n'importe quelle touche sur votre zapette!!!). Bref appuyez sur une touche, le graph à l'écran devrait réagir si tout fonctionne bien.

Donc, tout ce dont vous avez besoin c'est IRRecord.exe.

Il s'agit d'un programme MS-Dos, c'est à dire à lancer dans une fenêtre d’exécution qui aura tendance à se fermer trop vite et assez pénible à lancer en mode invité de commande à partir de Windows->executer->cmd.

J'ai donc fait un raccourcis sur le bureau de windows avec tous les paramètres qui vont bien:

avec pour cible: "...\WinLIRC\IRRecord.exe -d SerialDevice.dll ..\config.cfg"  [les 3 points à modifier selon l'emplacement du répertoire WinLirc, bien évidemment]

Maintenant quand on a besoin, il suffit de double cliquer sur l'icone de ce raccourcis.

Ensuite, il suffit de suivre les instructions. Avant de procéder, je conseille de supprimer ou de renommer le fichier config.cfg s'il est présent dans le répertoire racine de Winlirc.
En résumépour utiliser IRRecord.exe , il faut appuyer sur les touches de la télécommande aléatoirement un grand nombre de fois, jusqu'à ce que la dernière ligne soit remplie de points puis passe à la ligne suivante.
L'opération est souvent à répéter une seconde fois.
Suivant la télécommande, il arrive aussi que ce petit programme demande de choisir une touche au hazard et d'appuyer dessus aussi vite que possible, toujours jusqu'à remplir la dernière ligne de point.

Puis, enfin, il va demander de nommer le premier bouton (le nom de votre choix), et demandera alors d'appuyer dessus pour l'enregistrer.
C'est assez fastidieux car il faut le faire pour chaque touche de la télécommande.
Quand vous avez fini, tapez entrée (sur l'ordi, bien sûr) et le programme se ferme.
Résultat de recherche d'images pour "telecommande tv"
Renommez alors le fichier config.cfg avec le nom correspondant à l'appareil à commander (ex: "tv-samsung.cfg"). Si vous ne le faites pas, vous risquez de devoir recommencer toute cette procédure lors de votre prochain essais.

Dans ce fichier se trouve alors les codes de toutes les touches de votre télécommandes, codes que vous pourrez entrer dans votre smartphone pour enfin profiter pleinement de son émetteur infrarouge.

C'est ce que nous allons voir dans la suite: RCoid



Récepteur infrarouge sur PC

Il doit bien en exister des tout fait, mais comme je découvrais ce domaine, je suis resté sur les indication trouvé sur la page de WinLirc. Cette dernière n'est pas d'une présentation conviviale aussi, comprenant que c'est le pendant du logiciel LIRC (sous Linux), je me suis intéressé au récepteur.

Sur prise entrée de ligne audio, les essais n'étaient pas concluants. J'ai fais le montage avec des composants de récupération, surement pas les bons voir défectueux.

J'ai alors insisté en me basant sur le récepteur du port série, en achetant des composants neufs (depuis le temps que je bataille pour arriver à mes fins, je voulais mettre toutes mes chances à contribution pour parvenir à lancer un yessss, enfin!!!).

Vous trouverez tout ce qu'il faut dans des boutiques spécialisées comme Selectronic, Conrad, même Ebay (pour ce dernier, évitez les boutiques chinoises, hong-kong..). Votre commande risque de ne jamais arrivée ou pire, que les composants soient des copies médiocres ou contrefaits qui peuvent mal fonctionner, voir pas du tout et là, c'est la grosse prise de tête.

L'explication du montage se trouve ici sur le site de LIRC.

Pour le montage, rien de plus simple si on a déjà tenu un fer à souder. L'explication du montage et des quelques composants à se procurer est parfaitement expliqué  ici sur webarchive avec toutes les photos pour une parfaite compréhension.

C'est en anglais mais très simple à comprendre.
The circuit is inserted in the serial box

Bon me concernant, je ne me sert pas de ce récepteur pour piloter mon PC, juste pour apprendre les codes infrarouge autrement dit, de façon très occasionnelle. Il ne m'est donc pas très utile de faire un beau montage tout petit. Tout ce que je lui demande est de bien fonctionner. J'ai donc monté mon récepteur de façon bien plus grossière sur une prise série dont j'ai coupé le câble, le tout englobé dans de la colle au pistolet à chaud.

Une fois votre récepteur monté, il ne reste plus qu'à le tester afin de vérifier si vous n'avez commis aucune erreur.  On va donc installer et utiliser WinLirc, dans mon cas, sur un vieux windows XP.
voir la suite sur WinLirc

tout l'infrarouge sur smartphone

Cela fait très longtemps que cette idée me trotte dans la tête. Cela est venue avec mon vieux sony erricson P910i. Il disposait d'un émetteur infrarouge mais hélas, il n'était pas très puissant et même en insistant, les applis infrarouges ne m'étaient pas satisfaisantes.



Tous les téléphones portables ou tablettes ne disposent pas d'une diode émettrice infrarouge. Parmi les plus commun on peut citer samsung, sony...

Pour l'heure, je tourne avec un samsung note 4, ainsi que la tablette note 10" edition 2014. Les 2 disposent du fameux émetteur. Mais là aussi, le logiciel proposé n'est pas satisfaisant à mon goût.

en appli préinstallé, c'était watch On qui est devenu universal remote. Très bonne petite appli qui permettait de personnaliser sa télécommande, mais les appareils cibles ne sont pas forcément tous compatible et il n'y a pas la possibilité d'en ajouter d'autres... enfin difficilement.

Je n'ai pas eu le temps de trop me pencher sur le sujet. J'avais fait quelques personnalisation sur la télécommande TV (seul appareil qui voulait bien réagir). mais sans crer gare, cette appli a été remplacée par Peel Smart remote.

Vraiment une bonne appli avec widget dans la barre de notification et sur l’écran de verrouillage (très pratique pour utiliser la télécommande sans devoir déverrouiller l'appareil.
Cette appli propose de plus le programme TV du moment, fonctionnant très bien pour la TNT française.

Seul souci, impossible d'ajouter des appareils non présent dans la liste. Les demandes d'ajout sont restées muettes. Et les ecrans, même s'ils sont très bien fait ne sont pour ainsi dire pas customisables mise à part une télécommande de 9 boutons au choix... bref, ce n'est toujours pas satisfaisant.

Puis, je suis tombé sur 2 trucs:




D'abord RCoid. Une application android qui pilote l'émetteur infrarouge. Les écrans, tout comme les widgets, aussi personnalisables à loisir. Seule votre imagination ou votre détermination seront les limites pour faire ce que bon vous semble.

Le seul manque de cette appli: un widget dans la barre de notification (ouais, bof) et un autre sur l'écran de verrouillage (dommage). Pour ce second manque, j'ai trouvé une astuce assez sympas.

Coté appareil compatible, la liste est longue, mais c'est aussi de fait, difficile à trouver la bonne configuration pour sa TV, sono...

Par contre, ce qui m'a fait adopter définitivement cette appli, au point de me payer la version Pro (la version free présentent une petite zone de pub en bas et les widgets ne sont pas utilisables), c'est la possibilité d'apprendre (presque) n'importe quel code avec la télécommande d'origine.

Grace à cela, voilà enfin sur mon smartphone une télécommande universelle et personnalisable sans limite, mieux que les télécommandes Harmony ou autre vendues entre 100 et 400€.

Cependant, mon portable n'a pas de récepteur infrarouge! je raconte n'importe quoi, devez vous penser!

En fait, en scrutant rapidement l'application, (j'ai dû tester l'ensemble des applications infrarouge de google Play!) afin de chercher la possibilité d'entrer, même manuellement des codes pour de nouvelles télécommande, je suis tombé sur un onglet Generate et là, tout un menu incompréhensible pour moi le néophyte dans ce domaine: RC5, Rc6, Lirc, Pronto...


En fouinant sur le net, je trouve le plus accessible à mon gout: Lirc, et plus précisément WinLirc.

En réalisant un petit montage très simple à brancher sur le port série d'un PC j'arrive enfin à récupérer les codes de toutes mes télécommandes infrarouge et en les recopiant dans RCoid, à télécommander tout avec mon smartphone.

Voici ce que cela donne avec un récepteur TNT, un tout petit boitier TNT pouvant enregistrer sur une clés USB, de marque Matea, autrement dit marque inconnue qu'on ne trouve dans aucune appli infrarouge:


Alors, comment faire: Je n'ai rien inventé, juste utilisé les bons conseils trouvé sur le net.

Donc, pour faire de même, cela se passe ici:

Récepteur infrarouge pour PC

WinLirc

RCoid

PREMIERS PAS: Installation d'un ruban leds RGB

Voici par ou tout a commencé.

Mais d'abord, une petite présentation s'impose.

Je suis un peu touche à tout et j'ai déjà plongé ma tête et mes mais dans l'électronique, sans toutefois y connaitre grand chose, me contentant de reproduire ce qui est expliqué sur le net et en particulier sur le site  sonelec-musique.com , une véritable bible pour les débutants et plus expérimentés. Merci à l'auteur.


Donc tout a commencé en installant un ruban leds comme lumière d'appoint dans la cuisine.
Quitte à faire une commande de ce matériel, pourquoi ne pas opter pour un ruban RGB (pour les très débutants: un ruban lumineux qui change et mélange les couleurs à volonté - RGB pour Red - Green - Blue).

L'ensemble est livré avec une télécommande infrarouge (même principe que pour la télécommande de votre TV).

L'installation montre ses limites me donnant envie de l'améliorer, ce qui a générer en moi 2 projets phares:

- la gestion et l'intégration de toutes les télécommandes sur un smartphone

- un pilotage plus sympathique du bandeau à leds