Alternativa com LCD I²C

Libere pinos GPIO trocando o LiquidCrystal paralelo por um módulo adaptador I²C quando o shield Ethernet esgota os pinos disponíveis.

Vista de cima de uma placa microcontroladora Arduino Uno azul sobre fundo branco
Placas compatíveis com Arduino rodam o sketch que lê as sondas e publica o JSON. Foto: Wikimedia Commons contributor. CC0

O modo paralelo usa seis linhas GPIO, mais o acionamento da luz de fundo: pouco espaço em um Uno com o W5100 empilhado. Módulos adaptadores I²C (normalmente PCF8574) precisam só de SDA/SCL, liberando pinos para sondas extras ou para o PWM da luz de fundo. Em troca, você tem mais uma biblioteca, jumpers de endereço e temporização de barramento compartilhada com futuros sensores I²C.

Comparação da quantidade de pinos entre um LCD paralelo e um adaptador I²C no Arduino Uno
Os adaptadores I²C reduzem o uso de GPIO a duas linhas de dados mais a alimentação: útil quando os pinos SPI estão reservados.

Conta do orçamento de pinos

Revise os pinos SPI reservados e o mapa do modo paralelo: duas linhas de DHT22 mais seis linhas de LCD deixam pouca folga. O I²C recupera de quatro a seis pinos, dependendo da fiação.

Notas de migração

  1. Instale a biblioteca LiquidCrystal I²C e defina o endereço do adaptador (geralmente 0x27).
  2. Refaça a fiação de SDA/SCL. A4/A5 do Uno nas placas clássicas.
  3. Atualize os textos do display no formato do LCD: a largura em caracteres não muda.

Quando continuar no paralelo

Se a sua pilha de shields já funciona e os pinos bastam, o modo paralelo continua mais simples: visão geral do DHT22 e do LCD. Considere o I²C ao adicionar uma terceira sonda ou luz de fundo com PWM em um mapa de pinos lotado.