In acest articol vom vedea cum putem detecta adresa I2C a diferitilor senzori folosind Raspberry Pi Pico.

Pentru a incarca fisierul cu codul sursa vom folosi editorul Thonny. Configurarea acestui editor pentru a fi utilizat cu Raspberry Pi Pico poate fi facuta conform instructiunilor din acest articol.

Senzorii folositi in acest articol sunt urmatorii: BMP180, BH1750, VEML6070, MPU9250, ADS1115, HMC5883L si ADXL345.

Acestia vor fi conectati la Raspberry Pi Pico dupa cum urmeaza:

Pin SDA senzor la pinul GPIO 0 iar pinul SCL se va conecta la GPIO 1.

Codul sursa folosit este cel de mai jos:

import machine
sda=machine.Pin(0)
scl=machine.Pin(1)
i2c=machine.I2C(0,sda=sda, scl=scl, freq=400000)

print('Scan i2c bus...')
devices = i2c.scan()

if len(devices) == 0:
    print("No i2c device !")
else:
    print('i2c devices found:',len(devices))

    for device in devices:
        print("Decimal address: ",device," | Hexa address: ",hex(device))

 Prin rularea acestui cod se va returna adresa I2C a fiecarui senzor.

Pentru BMP180 se va returna urmatorul rezultat:

Scan i2c bus...
i2c devices found: 1
Decimal address:  119  | Hexa address:  0x77

BH1750:

Scan i2c bus...
i2c devices found: 1
Decimal address:  35  | Hexa address:  0x23

VEML6070:

Scan i2c bus...
i2c devices found: 2
Decimal address:  56  | Hexa address:  0x38
Decimal address:  57  | Hexa address:  0x39

MPU9250:

Scan i2c bus...
i2c devices found: 1
Decimal address:  104  | Hexa address:  0x68

HMC5883L:

Scan i2c bus...
i2c devices found: 1
Decimal address:  30  | Hexa address:  0x1e

ADS1115:

Scan i2c bus...
i2c devices found: 1
Decimal address:  72  | Hexa address:  0x48

ADXL345:

Scan i2c bus...
i2c devices found: 1
Decimal address:  83  | Hexa address:  0x53

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.