Ayant reçu mes derniers composants hier, j'ai commencé à faire des essais toute cette journée.
J'ai testé la led clignotante sans aucun problème.
Mais depuis plusieurs heures, j’essaie de lire la température. Or je n'arrive pas; mon capteur n'est pas détecté.
J'ai utilisé ce tuto mais voici le message que je reçois :
**** Detection du capteur ****
Aucun capteur 1-wire present sur la broche !
J'ai vérifier plusieurs fois le câblage mais je n'arrive pas à trouver le problème
+1
J'ai une installation mettant plusieurs DS18B20 en oeuvre, et les 1k proposés sur mon-club-elec ne semblent pas vraiment appropriés. Ca fonctionne très bien, que ce soit sur 2 ou 3 fils, avec une R=4.7k.
De même, si tu essaies de mettre plusieurs DS18B20 en cascade, le sketch proposé dans ton tuto ne fonctionnera pas, contrairement à ce qui est annoncé. En tout cas, ça ne marchait pas chez moi: j'avais dû retoucher le sketch ...
Dans un premier temps alimentez le ds18B20 en +5V et pas en parasite power , le boitier est un TO92 je suppose?
Pin 1 au GND
Pin 2 DQ sur pin 10 de l 'arduino tiré au +5V par une 4.7K
Pin 3 au + 5V (et pas au GND)
Je viens de les acheter et j'essaie de les faire fonctionner pour la première fois.
Comme j'en ai acheté 4, j'avais essayé avec 2 autres et toujours le même résultat : capteur non détecté.
Le câblage est sur une breadboard.
Je ferais les autres essais au soir quand je serais rentré du travail
silverbeach:
Je viens de faire les différents test proposé et il ne détecte pas mon capteur
J'ai essayé avec 2 capteurs différents.
Ps: l'alimentation est un chargeur de gsm 4,9V 450mA mais j'ai 5,1V à sa sortie. Le problème peut-il venir de ce chargeur?
Vous voulez dire que vous alimentez l'arduino par une alim externe ?
faites une connection minimale déjà pour voir
pas d'alim externe
arduino unio alimenté par l'usb
reprendre GND et 5 V sur l'arduino vers le breadboard
pin 1 et 3 DS18B20 au gnd sur le board
pin 2 DS18B20 vers pin 10 arduino
une R de 4.7K entre +5V et pin 10 arduino
avec l'exemple onewiresearch ça fonctionne tres bien
je viens de faire un test avec 3 compo 1wire
DS18B20 Dq pin 2 vers pin 10 de l'arduino
photo commentée
silverbeach:
Je pensais qu'il fallait une alim externe
Je viens de faire le test avec onewiresearch et voici le résultat:
Id= 28 CC 26 55 03 00 00 25 ScratchPad= 62 01 4B 46 7F FF 0E 10 03 FF FF FF FF FF FF FF 49,5
No more addresses.
Et voici le résultat avec sample :
R=28 CC 26 55 03 00 00 25 P=1 5A 1 4B 46 7F FF 6 10 A3 CRC=A3 45,5
No more addresses.
Ps: Merci pour la photo
bon ça avance
en mettant tes 4 18B20 comme mes 3 sur la photo tu devrais avoir 4 adresses reconnues.
ATTENTION :
le code ne renvoi pas la bonne température pour des 18B20 (il faut passer de 8 9 bits à 11 bits)
mais ça c'est du detail, le principal c'est qu'il soit reconnus.
avec une photo c'est toujours plus parlant
R ou ID c'est l'adresse unique de chaque compo 1 Wire
avec 28 en debut là qui est l'ID family (DS18B20) 10 pour un DS18S20
Je viens de tester le programme de mon club elec :
comme indiqué par vincelge, il ne détecte qu'un 18B20
mais sinon ça fonctionne et renvoi une bonne temp
pour utiliser avec le câblage "photo"
attention à bien penser à remplacer
const int broche_OneWire=2; //declaration constante de broche
par
const int broche_OneWire=10; //declaration constante de broche
ok merci, j'ai réussi à lire la température de tout les capteurs.
Mais j'ai encore une question:
Pour la programmation, est-il préférable de faire rechercher les adresses une seule fois dans void setup() et de sauvegarder les adresses ou de tout faire dans void loop() ou de mettre l'adresse directement dans le programme sans faire de recherche?
silverbeach:
ok merci, j'ai réussi à lire la température de tout les capteurs.
Mais j'ai encore une question:
Pour la programmation, est-il préférable de faire rechercher les adresses une seule fois dans void setup() et de sauvegarder les adresses ou de tout faire dans void loop() ou de mettre l'adresse directement dans le programme sans faire de recherche?
perso et depuis le temps que j'utilise du 1-W (bien avant l'arduino et pas que pour de l'arduino )
j'utilise "cette méthode", elle n'a pas vocation à être universelle, mais
Mode découverte : sur le bus (au "hard reset" ou par "soft reset engagé" = "jumper") des compo présents
mode production : interrogation des seuls 1-W préalablement découverts/acceptés (pas de cycle de recherche pour découvrir les... "petits nouveaux" insérés sur le bus )
En application "perso" le codage d'adresse en "dur" est aussi une bonne solution, et comme en règle générale sur les applis perso, il n'y a que le concepteur/codeur qui sait ce qu'il veut/souhaite faire c'est un peu : "après lui, le déluge"
je vais utiliser la dernière solution car normalement, il y aura peu de changement.
Maintenant je me demande pou quelle raison ça ne marchait pas avec l'alim externe. A moins qu'on ne peut pas alimenter l'arduino avec l'usb et les composants avec une autre alim en même temps.
silverbeach:
je vais utiliser la dernière solution car normalement, il y aura peu de changement.
Maintenant je me demande pou quelle raison ça ne marchait pas avec l'alim externe. A moins qu'on ne peut pas alimenter l'arduino avec l'usb et les composants avec une autre alim en même temps.
rapide reflexion
alim externe 5.1 , la tension de "dechet" du régulateur était trop faible.
mais bloquait celle fournie par l'USB
voir specifs pour l'arduino
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V