Modifications

Sauter à la navigation Sauter à la recherche
1 751 octets ajoutés ,  19 janvier 2017 à 21:21
Page créée avec « {{I2C-Hacking-NAV}} == I2C-Scanner == I2C Scanner est un croquis/Sketch Arduino écrit par Nick Gammon et [http://www.gammon.com.au/i2c disponible dans ce billet]. SI vo... »
{{I2C-Hacking-NAV}}

== I2C-Scanner ==
I2C Scanner est un croquis/Sketch Arduino écrit par Nick Gammon et [http://www.gammon.com.au/i2c disponible dans ce billet].

SI vous avez un périphérique I2C mais que vous n'êtes pas certain de son adresse sur le bus ALORS vous pouvez exécuter le croquis suivant.

Le croquis essaye toutes les adresses possible du bus I2C (de 1 à 119) et s'il reçoit une réponse, il affiche l'adresse.

Cela fonctionne avec la plupart des périphériques I2C mais sachez qu'il existe quand même quelques périphérique I2C "''non standard''".

== Croquis Arduino ==

<syntaxhighlight lang="c">
// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011

#include <Wire.h>

void setup() {
Serial.begin (115200);

// Leonardo: Attendre la connexion du port serie
while (!Serial)
{
}

Serial.println ();
Serial.println ("I2C scanner. Scanning ...");
byte count = 0;

Wire.begin();
for (byte i = 8; i < 120; i++)
{
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
{
Serial.print ("Found address: ");
Serial.print (i, DEC);
Serial.print (" (0x");
Serial.print (i, HEX);
Serial.println (")");
count++;
delay (1); // peut être pas necessaire?
} // fin d une bonne reponse
} // Fin de la boucle
Serial.println ("Done.");
// Indique le nombre de peripherique trouve
Serial.print ("Found ");
Serial.print (count, DEC);
Serial.println (" device(s).");
} // fin de setup()

void loop() {}
</syntaxhighlight>

Ce qui produit un résultat comme celui-ci

<syntaxhighlight lang="bash">
I2C scanner. Scanning ...
Found address: 42 (0x2A)
Done.
Found 1 device(s).
</syntaxhighlight>


{{I2C-Hacking-TRAILER}}
29 922

modifications

Menu de navigation