Show Posts
Pages: [1] 2 3
1  International / Français / Re: Ambilight simpliste (avec Freebox v6) on: March 29, 2012, 12:16:22 pm
Ok je vais tester sans les condos pour voir.
2  International / Français / Re: Ambilight simpliste (avec Freebox v6) on: March 29, 2012, 11:24:41 am
Oui j'ai testé, je me retrouve avec beaucoup de 1023. smiley-mad
Je vais voir ce que je peux faire avec l'ancienne méthode.
3  International / Français / Re: Ambilight simpliste (avec Freebox v6) on: March 29, 2012, 09:16:15 am
donc si je suis sur que la tension d'entrée ne dépassera pas 1.1V
je peux utiliser dans le setup()
   analogReference(INTERNAL)
du coup j'échantillonne 1.1V sur 1024 pas.

sinon, je dois appliquer une tension sur AREF suivant la formule suivante:
(tension à appliquer) * 32 / (32 + 5) = AREF
donc pour AREF 1.35V, je dois appliquer 1.56V.

sans oublier analogReference(EXTERNAL)

edit: on dépasse bien les 1.1V
4  International / Français / Re: Ambilight simpliste (avec Freebox v6) on: March 29, 2012, 08:16:50 am
Je prenais ça en compte dans la première version mais ça me faisait faire une double conversion
en entrée : 0/1.35V -> 0/5V
ensuite les divers réglages (offset...)
pour le pilotage du strip : valeur (0/5V) -> 0/255 PWM

Alors que cette version fait 0/1.35 -> réglages -> 0/255

Mais ça manque de fluidité :-(
5  International / Français / Re: Ambilight simpliste (avec Freebox v6) on: March 29, 2012, 06:53:43 am
Voici le câblage dispo sur la mini-DIN du player:

      G D
RG VID VE CL
GND    BL CR

GND: masse (pins 4, 14, 18, 20, 5, 9, 13, 17 péritel)
VID: video composite + synchro (pin 20 péritel)
CL : commutation lente (pin 8 péritel)
CR: commutation rapide (pin 16 péritel)
RG: rouge (pin 15 péritel)
VE: vert (pin 11 péritel)
BL: bleu (pin 7 péritel)
G: audio gauche (pin 6 péritel)
D: audio droite (pin 2 péritel)
6  International / Français / Re: Ambilight simpliste (avec Freebox v6) on: March 29, 2012, 06:45:07 am
Ah oui je suis bien certain, le système fonctionne parfaitement comme ça, c'est juste pas très jolie a regarder pour l'instant.

J'ai transféré 4 images sur le serveur, pour le réglage des valeurs min et max:
une blanche (255/255/255)
une rouge (255/0/0)
une verte (0/255/0)
une bleue (0/0/255)

quand je les sélectionne, l'éclairage ce fait bien avec ces couleurs là.
7  International / Français / Ambilight simpliste (avec Freebox v6) on: March 29, 2012, 06:32:34 am
Alors voilà, je me suis aperçu que mon Freebox Player diffusait simultanément le signal vidéo sur le port mini-DIN (vers Péritel) et HDMI.
N'utilisant jusque là que le HDMI, j'ai fabriqué un cordon mini-DIN vers RJ45 puis RJ45 vers Péritel pour relier une autre télé.

Puis je me suis dit que ce ne serait pas mal d'essayer de faire un Ambilight monocanal.
J'ai dévié les signaux RGB pour les relier aux ports analogiques d'un Arduino (100kohms en série + 1uF entre chaque entrée et la masse).

J'ai écrit un court programme de test qui fonctionne mais est loin d'être parfait... très loin même.
Au départ, comme c'est un mélange de couleur, tout était très blanc.
J'ai donc établit un seuil au dessous duquel je ne prends pas en compte la couleur.
Il existe un offset aussi, c'est ce que détecte le port analogique quand rien n'est affiché (perturbation sans doute).
Le port analogique 5 sert à ralentir le rafraichissement quand il est relié au 5V.

J'ai commenté au maximum le code.
Si vous avez des solutions pour un affichage plus progressif ou autre, n'hésitez pas.

Code:
/* vortof@hotmail.com
*  2012/03/00
*  Test pour Ambilight monocanal
*  on récupère le signal 0/1.35V de la péritel sur les entrées analogiques 0/5V
*/

// Seuil sous lequel, on n'affiche pas la couleur
int seuil = 80;

// sélectionne la pin d'entrée analogique
int analogRed = 0;
int analogGreen = 1;
int analogBlue = 2;
// sélectionne la pin de sortie numérique
int ledPinRed = 9;
int ledPinGreen = 10;
int ledPinBlue = 11;
// variable pour stocker la valeur d'entrée
int valInRed = 0;
int valInGreen = 0;
int valInBlue = 0;
// variable pour stocker la valeur de sortie
int valOutRed = 0;
int valOutGreen = 0;
int valOutBlue = 0;
// valeur max de la couleur reçue sur analog
int limitRed = 202;
int limitGreen = 179;
int limitBlue = 202;
// valeur min de la couleur reçue sur analog
int offsetRed = 176;
int offsetGreen = 176;
int offsetBlue = 176;

// DEBUG - pour ralentir le rafraichissement
int analogT = 5; // sélectionne la pin d'entrée analogique
int time; // ne sert que pour les tests

void setup() {
  Serial.begin(9600); // ouvre le port série à 9600 bauds
  pinMode(ledPinRed, OUTPUT); // déclare ledPinX comme sortie
  pinMode(ledPinGreen, OUTPUT);
  pinMode(ledPinBlue, OUTPUT);
}
void loop()  {
 
  //DEBUG - si niveau haut, on ralentit
  if (analogRead(analogT) > 1000){
    time = 2000;
  }
  else {
    time = 25;
  }

  valInRed = analogRead(analogRed) - offsetRed;
  if (valInRed > seuil) {
    valOutRed = map(valInRed, 0, limitRed, 0, 255); // Passe le signal 0~limit en 0~255
  }
  else {
    valOutRed = 0;
  }
  analogWrite(ledPinRed, valOutRed);
 
  valInGreen = analogRead(analogGreen) - offsetGreen;
  if (valInGreen > seuil) {
    valOutGreen = map(valInGreen, 0, limitGreen, 0, 255);
  }
  else {
    valOutGreen = 0;
  }
  analogWrite(ledPinGreen, valOutGreen);
 
  valInBlue = analogRead(analogBlue) - offsetBlue;
  if (valInBlue > seuil) {
    valOutBlue = map(valInBlue, 0, limitBlue, 0, 255);
  }
  else {
    valOutBlue = 0;
  }
  analogWrite(ledPinBlue, valOutBlue);
 
  // DEBUG - Affiche la valeur de l'entrée et de la sortie
  // (ln pour le retour à la ligne, \t pour la tabulation)
  Serial.print("R: "), Serial.print(analogRead(analogRed)), Serial.print("\t");
  Serial.print(valInRed), Serial.print("\t"), Serial.println(valOutRed);
  Serial.print("G: "), Serial.print(analogRead(analogGreen)), Serial.print("\t");
  Serial.print(valInGreen), Serial.print("\t"), Serial.println(valOutGreen);
  Serial.print("B: "), Serial.print(analogRead(analogBlue)), Serial.print("\t");
  Serial.print(valInBlue), Serial.print("\t"), Serial.println(valOutBlue);
 
  delay(time); // délai de x ms avant prochaine mesure
}

8  Topics / Home Automation and Networked Objects / Re: Operate from Blackberry/Android/Iphone-Ipad/Nokia/PC/Mac across the Globe W/O PC on: March 28, 2012, 07:26:18 am
me too.  smiley
9  International / Français / Re: Possibilité de la Librairie IR on: March 16, 2012, 08:29:43 am
@ Zoroastre: je connaissais ce lien mais avec ce programme quelle que soit la commande envoyée, j'ai toujours la même chose qui s'affiche!

@ chabot380: merci pour le lien, je ne le connaissais pas. Je le transmets de suite à mon pote, si ça l'aide tant mieux, j'ai aussi des Daikin à la maison ;-)
10  International / Français / Re: Possibilité de la Librairie IR on: March 15, 2012, 12:55:00 pm
çà presse pas, prends ton temps.

Merci.
11  International / Français / Re: Possibilité de la Librairie IR on: March 15, 2012, 11:58:22 am
non, pour l'instant nous n'avons rien essayé de modifier.

Ça ne va pas modifier uniquement l'émission (irsend, IROut) ??
12  International / Français / Possibilité de la Librairie IR on: March 15, 2012, 09:51:35 am
Alors aujourd'hui je poste pour un ami.

Voilà le problème:
La plupart des librairies IR sont faite pour les télécommande TV/SAT... fonctionnant entre 36 et 40 kHz si je ne me trompe pas.

Il faudrait capturer la trame d'une télécommande de Clim Daikin... mais c'est du 72 kHz.
Comment modifier la librairie pour lui faire accepter cette fréquence?

Merci.
13  Using Arduino / LEDs and Multiplexing / Re: Blink without Delay at driffent times as on and off ? on: March 12, 2012, 03:29:41 am
not working probably because

Code:
unsigned long ofTime = { 2000, 4000 , 4000 } ;

Code:
interval[idx] = onTime[idx];

ofTime or onTime ?? Change ofTime to onTime
14  International / Français / Re: [Aide] Comment structurer mon programme on: March 08, 2012, 07:52:16 am
Effectivement dans EE() il n'y a pas de delay, mais de toute façon EE() bloque sur la dernière valeur RGB(255,255,0)

Je me demandais si
Code:
irrecv.resume(); // reçoit la valeur suivante
ne remettais pas le code reçu à zéro ou à une valeur autre que celle reçu précédemment.

Si on remonte un peu dans les posts précédents, on peut voir des essais avec une variable globale mais soit ça ne bouclait pas, soit ça bouclait mais on ne pouvait plus sortir de la boucle.

Je vais quand même tester avec EE() pas défaut, si ça fonctionne, ce sera toujours ça.
15  International / Français / Re: [Aide] Comment structurer mon programme on: March 08, 2012, 04:52:34 am
Alors ça fonctionne, merci beaucoup.
Sauf un détail:
au départ je voulais que EE() tourne en boucle tant que l'on appui pas sur autre touche.
Pages: [1] 2 3