Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Büşra Ö.

maker_busra

@busra-ozturk · Se unió el enero 2026

Recién llegado

Hobi elektronikçisi · ev otomasyonu · Eskişehir · sahada 19 yıl

Temas
2
Respuestas
19
Puntos
0
Recién llegado10 puntos para Miembro

Respuestas de foro creadas

Viendo 4 entradas – de la 16 a la 19 (de un total de 19)

Traducido del Türkçe por IA ·

No lo escribas tú en Python, el kernel ya tiene un I2C por software listo que hace el bit-banging y vigila correctamente el clock stretching. Justo por eso yo también pasé el SCD30 a él. /boot/config.txt (en Bookworm /boot/firmware/config.txt):

dtoverlay=i2c-gpio,bus=3,i2c_gpio_sda=23,i2c_gpio_scl=24,i2c_gpio_delay_us=2

Reinicia y comprueba con i2cdetect -y 3 que aparece 0x61. En el código, usa SMBus(3) en lugar de SMBus(1). Mueve el sensor a GPIO 23/24 y pon una resistencia pull-up de 4,7k a 3,3V (los pull-ups internos de los pines I2C del hardware no están aquí). Si tienes otros sensores, pueden quedarse en el bus 1.
Además, haz la lectura según el comando «data ready» del sensor (0x0202); si lees mientras la medición no está lista, también sale basura. Si aun así vuelve a producirse un error, reintenta una vez y omite esa lectura; para una lectura omitida no envíes nada, en Hermetry se mantiene el último valor.

Solución aceptada♥ 2
Viendo 4 entradas – de la 16 a la 19 (de un total de 19)