Je veux tester mon capteur Am2315 (Aosong) avec le programme :
exemple: am2315 test
Mais le capteur n'est pas reconnu. par le programme test.
J'ai fait:
Installé Library manager Adafruit Am2315 vers. 1.0.1
arduino uno :
pins comme indiqués SDA=A4 SDL=A5
Y-a-t-il quelque chose de travers?
Merci de voe réponses.
Cdt
Georges
Merci de ta réponse dfgh, mais après toutes les vérifications je reçois le message:
sensor not found, check wire...
Ce que j'ai fait:
-Vérification du cablage.
-Mis les 2 x10k en pullup - +5V et SDA(jaune) et +5V et SCL(blanc)
-Branché sur pin 4 et 5
J'ai fait la manip sur win 7 et win 10 avec IDE 1.6.5
Mais rien n'y fait.
Ma librarie est: Adafruit_AM2315-master.zip.
J'ai acheté le capteur am2315 en Chine (aliexpress- aosong)
Je ne vois que 2 possibilitées:
L'erreur, exceptée moi,
// Connect RED of the AM2315 sensor to 5.0V
// Connect BLACK to Ground
// Connect WHITE to i2c clock - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 5
// Connect YELLOW to i2c data - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 4
tu as bien réglé ton moniteur en 9600bauds? oui puisque tu reçois le message d'erreur
tu alimentes bien le capteur en 5V ?
peux tu charger ce prg et regarder sur ton moniteur s'il voit le périphérique i2c et à quelle adresse?
0xB8? ou 0x5C?
moniteur en 9600bauds
(merci à FDN pour ce prg)
// Wire Scanner
//
//
// Demonstrates the use of the Wire library
// Ping all valid adresses on the I²C bus
// and get the answer to see if there is a slave
// Print an 8 x 16 array with the results
// Created by fdufnews 2012 december 14th
// This example code is in the public domain.
#include <Wire.h>
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
Serial.println(); // Print a banner
Serial.println();
Serial.println("I2C slave scanner");
Serial.println(" reserved adress");
Serial.println(". no slave detected");
Serial.println("X slave detected");
Serial.println();
Serial.println();
int result;
Serial.println(" 0 1 2 3 4 5 6 7 8 9 A B C D E F");
// Scan only valid addresses (8 to 0x7B)
// 0-7 and 7C-7F are reserved ones
unsigned char devices=0; // holds how many devices found
for (unsigned char ad=0; ad<0x7C;ad++){
if(ad%16==0){ // If at start of a row
Serial.print(ad>>4,HEX); // Display high order bit address
Serial.print(" ");
}
if (ad>7){ // skip address from 0 to 7
Wire.beginTransmission(ad); // start transmission
result = Wire.endTransmission(); // end transmission and store answer
if (!result) devices++; // add a device to the count if ACK
Serial.print(" ");
Serial.print(result==0?"X ":". "); // If ACK there is a guy at this address
}
else{
Serial.print(" "); // Sorry nobody here
}
if(ad%16==15) Serial.println(); // end of the row add a new line
}
Serial.println();
Serial.println();
Serial.println();
Serial.print(devices, DEC);
Serial.print(" device");
Serial.print(devices>1?"s":"");
Serial.println(" found on the bus");
}
void loop()
{
}
non, ça ne donnera rien du coté de l'adresse
en fouillant sur la data sheet j'ai vu que l'adresse du composant est 0xB8
en fouillant dans le .h (ou le .cpp) l'adresse est 0x5C
donc surprise.........
mais en approfondissant la lecture de la data sheet:
le maitre envoie le 1er octet à l'esclave. cet octet correspond:
à l'adresse de l'esclave pour les bits de 1 à 7
et à R/W pour le bit 0 ( lecture ou écriture)
ce qui revient à dire que l'adresse est codée sur 7 bits et non 8
Merci pour tes "recherches".
J'ai connecté tous les pins comme indiqué plus haut mais rien n'y fait.
J'ai remarqué tout autre chose.
J'ai installé IDE 1.6.5 sur Win 10 mais lorsque j'agrandis une fenêtre d'un sketch les bords deviennent alors noir et le la souris ne réponds plus.
Je vais donc d'abord désinstaller IDE1.6.5 et réinstaller 1.6.6
Quelles sont les précautions à prendre et quels sont tous les dossiers à supprimer (bon nettoyage!) ??
Sont-ce les bonnes adresses à supprimer ? Avant que je fasses l'idi.....!
Seulement si tu as ajouté des librairies perso, mais tu peux les conserver tu les retrouveras dans 1.6.6...
Pour l'instant je n'en ai pas trouvé ailleurs
Sur Windows, comme d'hab, il y en a un peu partout dans le registre...
Même le désinstallateur Windows n'y fait pas le ménage... au moins en W7 !
Éventuellement de nouvelles entrées seront créées pour la 1.6.6. les autres ne seront pas utilisées, ce n'est pas la mort du petit cheval
J'ai réinstallé IDE 1.6.7
Je l'ai testé avec un sketch avec :
1x DHT 11
1x DHT 22
1x DHT 21
Et il fonctionne parfaitement!
J'ai testé le Am2315 (suivant exempe adafruit)comme décrit ,ça ne fonctionne pas !!
j'ai installé un autre capteur Am2315 (même ref) et ça ne fonctionne pas mieux.
Le capteur n'est pas reconnu!!!
C'est un capteur chinois, le produit d'adafruit serait-il différent?
La librarie d'adafruit ne fonctionnerait-elle seulement avec leur produit???
Les dht 11, 21, 22 ne sont pas I2C.
Ils sont " 1fil propriétaire Aosong".
Attention ce protocole n'as rien à voir avec le bus Dallas.
Le produit que tu testes est I2C, la comparaison n'est pas possible.
As tu un autre module I2C comme une RTC à tester pour d'assurer que le câblage ou le programme est bon ?
Édit il existe un autre produit Aosong qui est bi-mode : dht22 et I2C.
La consultation des bibliothèques dispos peut être utile.
Je n'ai pas sa référence sous la main, si tu es pressé on le trouve sur EBay : boîtier noir et référence en 23xx
EDIT : c'est le AM2320 (ou AM2321 seul le connecteur change)
En cours de route ça fonctionne. et oui.
J'avais écris "excepté moi" et ben oui c'était moi.
Un contact "mal serti et enfoncé.." sur le connnecteur Am2315
Un faux contact d'une des pullups (mal nettoyé les bouts...) je n'avais plus de papier de verre.
Bref le débutant, mais je le sais...un peu paresseux.
Mais seul le résultat compte...
Merci encore de votre aide et bonne année.
Georges