Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #30 on: March 14, 2012, 11:20:39 am » |
Réponse à Mattmouthe
Pour pouvoir t'aider, peux-tu m'indiquer le type de photo-résistance. Quel est ton schéma de montage ? Quel tension ? donne le plus de détails possible. J'essaierai de voir ce que je peux faire.
Merci A+ Cordialement
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #31 on: March 14, 2012, 11:34:32 am » |
On travaille sur du 9V (pile) et avec une photo-résistance: Diamètre : 4,1 mm Epaisseur capteur : 18 mm Ecartement entre pattes : 2,5 mm Longueur : 36 mm Resistance : 20 à 100 Kohms à 10 lux Temps de réponse : 20 ms Pic de sensibilité spectrale : 550 nm Tension maximale : 150 Volts à 0 lux Puissance : 100 mW (à 25°C)
Sinon, pour le schéma de montage, je suis entrain de réfléchir mais je sais pas trop comment le faire! Je pense faire des test dehors et en fonction des valeurs qu'on a en Volt, afficher sur un écran LCD par exemple ensoleillé. C'est pour ne pas faire la conversion volt-->lumens Je te remercie Mattmouthe
|
|
|
|
« Last Edit: March 14, 2012, 11:43:26 am by Mattmouthe »
|
Logged
|
Le zèle a tué plus d'hommes que la paresse.
Proverbe corse
|
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 98
|
 |
« Reply #33 on: March 14, 2012, 12:24:27 pm » |
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 822
|
 |
« Reply #34 on: March 14, 2012, 01:26:44 pm » |
y a pas de différence, c'est le même lien  simplement, tu peux prendre soit l'anémo, soit le pluvio, par contre pas de ref pour commander l'anémo à hélice, dommage, car avec celui ci, tu prends vraiment le vent dans la direction sans avoir de perturbations créées par le toit par exemple  je vais démonter mon boitier rf pour voir le nombre de fils, car j'ai un doute, 2 - 3 - 4 fils, je sais plus. par contre, attention, il y a un pointage a faire avec la girouette  , une petite fleche indiquant le nord de mémoire, sinon, c'est la misère. je dois avoir le schéma interne, ayant été revendeur de ces stations.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #35 on: March 14, 2012, 02:25:20 pm » |
Bonsoir, Mattmouthe, Je suppose que la photorésistance est du type LDR03. La résistance des photorésistance varie certes en fonction de l'éclairement : elle est à 1000 kilo-ohms dans l'obscurité, mais 1 ou 2 kilo-ohms à 1000 lux. Malheureusement cette variation n'est pas proportionnelle, elle n'est pas linéaire. Par ailleurs une photorésistance n'est pas un générateur de courant, ce n'est qu'une résistance. Pour pouvoir l'utiliser il faut l'intégrer dans un montage qui permette de mesurer une tension au borne d'une résistance, comme un diviseur de tension : résistance de 10 k-ohms + LDR Par ailleurs l'entrée analogique d'un Arduino est limitée à 5V A mon avis utiliser une photorésistance pour mesurer un éclairement c'est très difficile, très aléatoire. Avec une photorésistance, la conversion de la tension en lux, c'est un casse-tête. Personnellement pour mesurer le rayonnement solaire j'utilise une vraie sonde solaire : RG100 de Solems. Par contre, tu trouveras aussi ton bonheur chez Hobby-Boards : http://www.hobby-boards.com/catalog/product_info.php?cPath=22&products_id=82A+ Henri
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 98
|
 |
« Reply #36 on: March 14, 2012, 02:25:32 pm » |
y a pas de différence, c'est le même lien C'est bien, je voulais voir si tu suivais !  En fait ce n'est pas la même page mais le lien est identique. La différence est qu'ils ne sont pas fait pour les mêmes stations. Quelle est la technologie de ces capteurs, comment vas tu les interfacer avec l'arduino ? A+
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #37 on: March 14, 2012, 03:02:46 pm » |
Je pensais justement pour éviter la conversion de regarder à midi en plein soleil ce que donne comme mesure la photo-résistance. Après au alentour de 6h regarder ce que ça donne... et ainsi de suite pour tous les temps que je veux avoir dans mon affichage. c'est à dire: - nuageux
- ensoleillé
- couvert
- nuit
- pas de mesure
C'est pas très pro, mais pour ce que je veux faire ça suffit! Est ce que tu penses que ça va marcher?
|
|
|
|
|
Logged
|
Le zèle a tué plus d'hommes que la paresse.
Proverbe corse
|
|
|
|
Offline
God Member
Karma: 4
Posts: 822
|
 |
« Reply #38 on: March 14, 2012, 04:55:20 pm » |
y a pas de différence, c'est le même lien C'est bien, je voulais voir si tu suivais !  En fait ce n'est pas la même page mais le lien est identique. La différence est qu'ils ne sont pas fait pour les mêmes stations. Quelle est la technologie de ces capteurs, comment vas tu les interfacer avec l'arduino ? A+ j'ai pas retrouvé la doc encore, je sécurisais le server d'un pote. de mémoire, la girouette travaille par secteur, il y a 3 rangées de "contacts" en demi lune, et un aimant sur la girouette, le calcul se fait à partir de ca. pour l'anémo, c'est un capteur comme sur les vélo avec un aimant, donc par impulsion. je vais démonter mon bloc anemo/girouette pour vérifier, depuis le temps que c'est sur le toit, une vérif s'impose de toute facon, je prendrais des photos si je peux les démonter.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 822
|
 |
« Reply #39 on: March 17, 2012, 06:25:15 am » |
bonjour, je viens de recevoir l'anémo/giro TX20 ce matin. par contre après pas mal de recherches, je suis tomber sur le cablage dans la partie espagnole. mais ne parlant pas la langue de don diego de la vegas, j'aurais besoin de quelques explications sur les branchements et code. ca se passe ici http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284720711/0je pige un peu le cablage, mais j'ai de gros doutes Tx-20 <-------------------------> Arduino 1 - serial I/O - Resistenza 8K - Pin Digitale 2 - VCC 3.3v ------------------- 3.3V 3 - Reg. CE -(to gnd)-\ 4 - GND ------------+----- GND
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 6
Posts: 2414
|
 |
« Reply #40 on: March 17, 2012, 06:53:24 am » |
bonjour, je viens de recevoir l'anémo/giro TX20 ce matin. par contre après pas mal de recherches, je suis tomber sur le cablage dans la partie espagnole. mais ne parlant pas la langue de don diego de la vegas, j'aurais besoin de quelques explications sur les branchements et code. ca se passe ici http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284720711/0je pige un peu le cablage, mais j'ai de gros doutes Tx-20 <-------------------------> Arduino 1 - serial I/O - Resistenza 8K - Pin Digitale 2 - VCC 3.3v ------------------- 3.3V 3 - Reg. CE -(to gnd)-\ 4 - GND ------------+----- GND qu'est ce qui te perturbe ?  le 3 ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 822
|
 |
« Reply #41 on: March 17, 2012, 07:18:41 am » |
Artouste, toujours dans les trucs loufoques  déjà le 1 pour moi je verrais ca sur la 3 ou 5-6-9-10-11, me trompes je? et oui le 3 car sur la station normale, rien n'est relié à la terre. ce qui nous donnerait en fait tx20-----------------arduino 1----------------------R 8K sur la 3 2----------------------3.3v 3----------------------GND arduino 4----------------------idem
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 6
Posts: 2414
|
 |
« Reply #42 on: March 17, 2012, 07:28:32 am » |
Artouste, toujours dans les trucs loufoques  déjà le 1 pour moi je verrais ca sur la 3 ou 5-6-9-10-11, me trompes je? et oui le 3 car sur la station normale, rien n'est relié à la terre. ce qui nous donnerait en fait tx20-----------------arduino 1----------------------R 8K sur la 3 2----------------------3.3v 3----------------------GND arduino 4----------------------idem de ce que j'ai compris pour le 1 c'est code dependant (voir ton pin sur ton arduino qui reçoit les données selon le programme, pour la 8K c'est pas critique =4.7 ou 10 K ça fera la "rue michel  ) pour le 3 c'est juste un "enable" (activation/autorisation de sortir des data) par tirage au GND ) d’après ce que j'ai compris , l'anemo est conçu à l'origine pour être connecté derrière un autre équipement "propriétaire" le 3 est surement utilisé dans cet équipement pour sélectionner le dispositif à ecouter.
|
|
|
|
« Last Edit: March 17, 2012, 07:42:17 am by Artouste »
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 822
|
 |
« Reply #43 on: March 18, 2012, 03:48:05 am » |
après pas mal de tests hier et quelques heures d'efferalgan, jamais les même datas ??????? si je connecte la 4 à la masse, ca coupe tout, plus de datas??????? j'ai bien trouvé un code sur le forum, mais pas le résultat escompté. le code en question qui me parait zarbi en plus, sachant que si le DTR n'est pas relié à GND l'émission data se fait toutes les 2s (cf : http://www.john.geek.nz/2011/07/la-crosse-tx20-anemometer-communication-protocol/) int dataPin = 2; int bitlenght = -1; char data[41]; void setup() { Serial.begin(9600); Serial.print("\n\nInitializing...\n"); Serial.print("startpin:"); Serial.println(digitalRead(dataPin)); pinMode(dataPin, INPUT); }
void loop() { collectdata3(); delay(1000); }
int collectdata3(void){ if (bitlenght <0){ bitlenght = 1220;//getbitlenght2();
} pinMode(dataPin, OUTPUT);
digitalWrite(dataPin, HIGH); delay(100); digitalWrite(dataPin, LOW ); delay(500); pinMode(dataPin, INPUT);
while(digitalRead(dataPin) == LOW){ } //wait slave start signal while(digitalRead(dataPin) == HIGH){ } while(digitalRead(dataPin) == LOW){ }
for (int i=0 ; i<42 ; i++){
data[i] = (digitalRead(dataPin) == LOW)? 48 : 49 ; delayMicroseconds(bitlenght); }
showdatasimple(); return 0; }
void showdatasimple(){ Serial.println("");
//HEAD for (int i =0 ; i< 5 ; i++){ Serial.print( ((data[i] == 48)? 0 : 1) ); } Serial.print(" "); //WINDDIR for (int i =5 ; i< 9 ; i++){ Serial.print( ((data[i] == 48)? 0 : 1) ); }
Serial.print(" "); //WIND SPEED for (int i =9 ; i< 18 ; i++){ Serial.print( ((data[i] == 48)? 0 : 1) ); } Serial.print(" "); //WIND SPEED+3 for (int i =18 ; i< 21 ; i++){ Serial.print( ((data[i] == 48)? 0 : 1) ); } Serial.print(" "); //CC for (int i =21 ; i< 25 ; i++){ Serial.print( ((data[i] == 48)? 0 : 1) ); } Serial.print(" "); //WIND DIR NEGATEIVE for (int i =25 ; i< 29 ; i++){ Serial.print( ((data[i] == 48)? 0 : 1) ); } Serial.print(" "); //WIND SPEED NEGATIVE for (int i =29 ; i< 38 ; i++){ Serial.print( ((data[i] == 48)? 0 : 1) ); } Serial.print(" "); //WIND SPEED NEGATIVE+3 for (int i =38 ; i< 41 ; i++){ //BUG A MON AVIS 41 au lieu de 42 Serial.print( ((data[i] == 48)? 0 : 1) ); } }
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 822
|
 |
« Reply #44 on: April 14, 2012, 10:57:28 am » |
bonjour, un petit up sur l'anemo/girouette avec un TX23 depuis ce matin, je me bats, mais je tiens le bon bout, reste a trouver le moyen de récupérer la vitesse de l'anémo. donc pour ceux que ca pourrait intéresser voici le code, fait de bric et de broc, mais qui affiche bien la direction (N,NNE,ENE,etc...) void delay2(unsigned long ms); int collectdata(void); void showdatasimple(); int dataPin = 2; int bitlenght = -1; char data[41]; String Wind_Direction; int DTR=8;
void setup() { Serial.begin(9600); Serial.print("\n\nInitializing...\n"); Serial.print("Data Pin: "); Serial.println(digitalRead(dataPin)); pinMode(dataPin, INPUT); pinMode(DTR, OUTPUT); }
void delay2(unsigned long ms){ unsigned long start = micros(); while (micros() - start <= ms); }
void loop() { collectdata(); pinMode(DTR, INPUT); digitalWrite(DTR, HIGH); delay(100); digitalWrite(DTR, LOW); delay(1400); pinMode(DTR, OUTPUT); }
int collectdata(void){ if (bitlenght <0){ bitlenght = 1230;//getbitlenght2() 1230; } pinMode(dataPin, OUTPUT); digitalWrite(dataPin, HIGH); // digitalWrite(DTR, HIGH); delay(5); digitalWrite(dataPin, LOW ); // digitalWrite(DTR, LOW ); delay(500); pinMode(dataPin, INPUT);
while(digitalRead(dataPin) == LOW){
} while(digitalRead(dataPin) == HIGH){
} while(digitalRead(dataPin) == LOW){
} for (int i=0 ; i<42 ; i++){
data[i] = (digitalRead(dataPin) == LOW)? 41 : 42 ; delay2(bitlenght); }
showdatasimple(); return 0; }
void showdatasimple(){ Serial.println(""); String Wind_Dir_PatternStr = "b"; String Wind_Dir_DescStr = ""; for (int i =8 ; i> 4 ; i--){ Wind_Dir_PatternStr += ((data[i] == 41)? 0 : 1); }
Serial.print(Wind_Dir_PatternStr); Serial.print(" = "); if (Wind_Dir_PatternStr == "b0000") { Serial.print("N"); } if (Wind_Dir_PatternStr == "b0001") {Serial.print("NNE");} if (Wind_Dir_PatternStr == "b0010") { Serial.print("NE"); } if (Wind_Dir_PatternStr == "b0011") { Serial.print("ENE"); } if (Wind_Dir_PatternStr == "b0100") { Serial.print("E"); } if (Wind_Dir_PatternStr == "b0101") { Serial.print("ESE"); } if (Wind_Dir_PatternStr == "b0110") { Serial.print("SE");} if (Wind_Dir_PatternStr == "b0111") { Serial.print("SSE"); } if (Wind_Dir_PatternStr == "b1000") { Serial.print("S"); } if (Wind_Dir_PatternStr == "b1001") { Serial.print("SSO");} if (Wind_Dir_PatternStr == "b1010") {Serial.print("SO");} if (Wind_Dir_PatternStr == "b1011") { Serial.print("OSO"); } if (Wind_Dir_PatternStr == "b1100") { Serial.print("O"); } if (Wind_Dir_PatternStr == "b1101") { Serial.print("ONO"); } if (Wind_Dir_PatternStr == "b1110") { Serial.print("NO"); } if (Wind_Dir_PatternStr == "b1111") { Serial.print("NNO");}
Serial.println(Wind_Dir_DescStr);
Serial.println("");
//HEAD for (int i =0 ; i< 5 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); } Serial.print(" "); //WINDDIR for (int i =5 ; i< 9 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); }
Serial.print(" "); //WIND SPEED for (int i =9 ; i< 18 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); } Serial.print(" "); //WIND SPEED+3 for (int i =18 ; i< 21 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); } Serial.print(" "); //CC for (int i =21 ; i< 25 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); } Serial.print(" "); //WIND DIR NEGATEIVE for (int i =25 ; i< 29 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); } Serial.print(" "); //WIND SPEED NEGATIVE for (int i =29 ; i< 38 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); } Serial.print(" "); //WIND SPEED NEGATIVE+3 for (int i =38 ; i< 41 ; i++){ Serial.print( ((data[i] == 41)? 0 : 1) ); } }
ce qui donne sur la console 11011 0001 000000000 000 0001 1110 111111111 111
b0000 = N
11011 0000 000000000 000 0000 1111 111111111 111
b0001 = NNE
11011 1000 000000000 000 1000 0111 111111111 111
b0010 = NE
11011 0100 000000000 000 0100 1011 111111111 111
b0011 = ENE
11011 1100 000000000 000 1100 0011 111111111 111
b0100 = E
11011 0010 000000000 000 0010 1101 111111111 111
b0111 = SSE
11011 1110 000000000 000 1110 0001 111111111 111
b1100 = O
11011 0011 000000000 000 0011 1100 111111111 111
b0000 = N
11011 0000 000000000 000 0000 1111 111111111 111
|
|
|
|
|
Logged
|
|
|
|
|
|