Инструменты пользователя

Инструменты сайта


подключение_по_i2c

Для того, чтобы подключить 2 или более датчика на один разъем нам нужен хаб/макетка, ну и конечно знать адреса наших модулей. Для этого подключаем наши модули и запускаем скетч:

#include <Wire.h>
 
void setup() {
    Wire.begin();
 
    Serial.begin(9600);
    while (!Serial);
    Serial.println("\nI2C Scanner");
}
 
void loop(){
    byte error, address;
    int nDevices;
 
    Serial.println("Scanning...");
 
    nDevices = 0;
    for(address = 8; address < 127; 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("Unknow 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);
}
подключение_по_i2c.txt · Последнее изменение: 2020/12/16 20:16 — admin

Инструменты страницы