Tableaux correspondance bornes Arduino

Répondre
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 6561
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 56
Pays :
France (fr)
France
nov. 2021 12 16:06

Tableaux correspondance bornes Arduino

Message par likikiFrance

Trois tableaux très pratique.

.
encodeur rotatif.jpg
encodeur rotatif.jpg (18.6 Kio) Vu 939 fois
.


.
Carte SD.jpg
Carte SD.jpg (26.93 Kio) Vu 939 fois
.


.
tableau i2C.jpg
tableau i2C.jpg (93.49 Kio) Vu 940 fois
.


Pour ne pas se perdre.

:kingmoi:
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 6561
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 56
Pays :
France (fr)
France
nov. 2021 12 16:11

Re: Tableaux correspondance bornes Arduino

Message par likikiFrance

En ce qui concerne les shields i2C, ils ont tous des adresses d'origine données en usine.

Il arrive que certain ont la même adresse et là, ça coince. Pour cela, tout les appareils i2C disposent de points de soudure qu'il suffit de shunter pour en changer l'adresse.

Il y a aussi certain fabriquant qui mettent l'adresse i2C en 8 bits alors qu'il faut l'adresse i2C en 7 bits.

Il y a malheureusement des équipements où l'adresse i2C de fonctionnement ne figure pas, alors pour la connaitre il faut utiliser un petit programme qui vas chercher les adresses i2C des appareils connectés a l'Arduino et y répondant.

Je vais vous le mettre ici (le temps de le retrouver). :lollol:

Scanner i2C (je ne l'ai pas testé)

Code : Tout sélectionner

#include <Arduino.h>
#include <Wire.h>

#define DISPLAY_ERROR false 
#define LOOP_DELAY    10000
#define USER_PIN      false

// Personnaliser les broches du bus I2C pour ESP8266 ou ESP32 
// Customize I2C bus pins for ESP8266 or ESP32
const int PIN_SCL = D1;
const int PIN_SDA = D2;

String I2Ctest() {
  byte error, address;
  int nDevices;
  String s;
 
  s="Scanning...\n";
 
  nDevices = 0;
  for(address = 1; address < 127; address++ ) {  
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
    if (error == 0) {
      s+="I2C device found at 0x";
      if (address<16)
        s+="0";
        s+=String(address,HEX);
        s+="\n";
 
      nDevices++;
    } else if ( error > 0 ) {
      if ( DISPLAY_ERROR ) {
        s+="Unknow error at 0x";
        if (address<16)
          s+="0";
          s+=String(address,HEX);
          s+="\n";
      }  
    }    
  }
  if (nDevices == 0)
    s+="No I2C devices found\n";
  else
    s+="done\n";
  return s; 
}

void setup() {
  Serial.begin(115200);
  Serial.println("I2C scanner");
  #if USER_PIN
    Wire.begin(PIN_SDA, PIN_SCL);
  #else
    Wire.begin();
  #endif
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println(I2Ctest());
  delay(LOOP_DELAY);
}
:a_suivre:
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Avatar du membre
herwatFrance
2000 posts et +
2000 posts et +
Messages : 4864
Enregistré le : 11 mars 2021, 16:14
Prénom : Hervé
LOCALISATION : Creuse
Centres d'intérêts : Modélisme ferroviaire
Impression 3D
Arduino
Echelle pratiquée : H0
Âge : 76
Pays :
France (fr)
France
nov. 2021 12 17:14

Re: Tableaux correspondance bornes Arduino

Message par herwatFrance

GÉNIAL ! :bien:

:merciiii: , Christian

A toute fin utile, si ton scanner ne marche pas, (ce qui est peu probable) j'en ai un qui fonctionne .
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 6561
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 56
Pays :
France (fr)
France
nov. 2021 12 18:00

Re: Tableaux correspondance bornes Arduino

Message par likikiFrance

Tu peut toujours le mettre, ça en fera deux.

:hhhaaaa:
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Avatar du membre
herwatFrance
2000 posts et +
2000 posts et +
Messages : 4864
Enregistré le : 11 mars 2021, 16:14
Prénom : Hervé
LOCALISATION : Creuse
Centres d'intérêts : Modélisme ferroviaire
Impression 3D
Arduino
Echelle pratiquée : H0
Âge : 76
Pays :
France (fr)
France
nov. 2021 12 19:01

Re: Tableaux correspondance bornes Arduino

Message par herwatFrance

A vos ordres ! :D

Il est brut de décoffrage ! Dans son jus , sorti de je ne sais où sur le net : :hhhaaaa:

Code : Tout sélectionner


    // --------------------------------------
    // i2c_scanner
    //
    // Version 1
    //    This program (or code that looks like it)
    //    can be found in many places.
    //    For example on the Arduino.cc forum.
    //    The original author is not know.
    // Version 2, Juni 2012, Using Arduino 1.0.1
    //     Adapted to be as simple as possible by Arduino.cc user Krodal
    // Version 3, Feb 26  2013
    //    V3 by louarnold
    // Version 4, March 3, 2013, Using Arduino 1.0.3
    //    by Arduino.cc user Krodal.
    //    Changes by louarnold removed.
    //    Scanning addresses changed from 0...127 to 1...119,
    //    according to the i2c scanner by Nick Gammon
    //    https://www.gammon.com.au/forum/?id=10896
    // Version 5, March 28, 2013
    //    As version 4, but address scans now to 127.
    //    A sensor seems to use address 120.
    // Version 6, November 27, 2015.
    //    Added waiting for the Leonardo serial communication.
    //
    //
    // This sketch tests the standard 7-bit addresses
    // Devices with higher bit address might not be seen properly.
    //
     
    #include <Wire.h>
     
     
    void setup()
    {
      Wire.begin();
     
      Serial.begin(9600);
      while (!Serial);             // Leonardo: wait for serial monitor
      Serial.println("\nI2C Scanner");
    }
     
     
    void loop()
    {
      byte error, address;
      int nDevices;
     
      Serial.println("Scanning...");
     
      nDevices = 0;
      for(address = 1; address < 127; address++ )
      {
        // The i2c_scanner uses the return value of
        // the Write.endTransmisstion to see if
        // a device did acknowledge to the address.
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
     
        if (error == 0)
        {
          Serial.print("I2C device found at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.print(address,HEX);
          Serial.println("  !");
     
          nDevices++;
        }
        else if (error==4)
        {
          Serial.print("Unknown error at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.println(address,HEX);
        }    
      }
      if (nDevices == 0)
        Serial.println("No I2C devices found\n");
      else
        Serial.println("done\n");
     
      delay(5000);           // wait 5 seconds for next scan
    }
Répondre