ds18b20 non reconnu

Bonjour à tous,

Je suis en train de réaliser une horloge-thermomêtre à base de numitrons comme affichage.

J'utilise un arduino uno comme hardware pour le développement.
Pour le projet final j'utiliserais un atmega328p en standalone.

Pour la gestion du temps j'utilise un ds1307.
Pour la gestion de l'affichage j'utilise 4 decodeurs 7 segments 74ls47.
Enfin pour la température j'utilise 1 ds18b20.

J'ai fais tout le montage sur une plaque d'essai et cela fonctionne correctement.
J'ai l'affichage de l'heure puis de la température puis de la date et ainsi de suite.

Pour la suite du projet j'ai abandonné l'arduino uno pour le remplacer par l'atmega328p.
J'ai refais les branchements correctement (j'ai vérifier plus d'une fois) et cela fonctionne presque bien.
J'ai l'affichage de l'heure et de la date mais je n'ai aucun affichage de la température.

J'ai l'impression que le ds18b20 n'est pas reconnu par l'atmega328.

J'ai donc créer un code pour vérifier la détection du capteur.
Le voici :

#include <OneWire.h> 

const int broche_OneWire=2; 
int led = 9;

const int modeLecture=0xBE;
const int lancerMesure=0x44;

byte data[12];
byte adresse[8]; 
OneWire  capteur(broche_OneWire); 

void setup()   { 
  pinMode(led, OUTPUT);   
 
}
void loop() {
 while (capteur.search(adresse)== false)
  {
    digitalWrite(led, HIGH); 
    delay (1000); 
  }
  digitalWrite(led, LOW); 
  delay (1000); 
}

Sur l'arduino le code fonctionne bien.
La led est allumée temps que le capteur n'est pas branché.
Dès que je le branche la led s'éteint.

Quand je charge le sketch dans l'atmega328p la led reste desespérement allumée quelque soit l'etat de la connexion du capteur (branché ou non).

Avez vous des idées pour me dépanner.

Par avance merci beaucoup

Bonjour,
Tu n'aurais pas oublié la resistance de 4.7 K Ohm ?

A+

Le protocole oneWire est très dépendant du temps. Si tu regardes la librairie elle est truffée de delayMicroseconds().
Une chose à faire serait de commencer par vérifier que ton ATmega328 tourne bien à la fréquence attendue.

Merci pour votre aide

J'ai bien connecté la résistance de 4.7Kohm.

Je pense que mon atmega328 tourne à la bonne fréquence.
Je n'ai pas utilisé de quartz dans mon montage.

J'ai modifié le fichier boards.txt dans le répertoire arduino comme mentionné sur la page suivante :
http://www.chicoree.fr/w/Arduino_sans_Arduino

masterbalby:
Je pense que mon atmega328 tourne à la bonne fréquence.

Pour t'en assurer, est-ce que l'exemple blink clignote à la fréquence attendue?

oui pas de problème
j'ai même refais le test ce matin après ton post

masterbalby:
Pour le projet final j'utiliserais un atmega328p en standalone.

A tout hasard, ce ne serait pas une erreur entre un numéro de pin du circuit intégré et numéro de pin Arduino (les n° ne correspondent pas). ?

non c'est pas ça non plus.
J'ai bien vérifier les brochages de l'atmega
Je suis au courant des brochages différents.
merci

Bonjour,

Combien consomme tes afficheurs numitrons ?
C'est peut être un simple problème d'alimentation.