A montagem de hardware é bem simples, pois estou usando módulos e os três dispositivos trabalham com I2C.
Na parte de software fiz as coisas "na raça", usando meu código dos posts anteriores, ao invés de usar bibliotecas. O acerto do relógio é pela serial (por exemplo usando o monitor da IDE do Arduino), como eu fiz com o DS3231. O loop principal ficou assim:
// Loop Principal
void loop() {
char buf[9]; // dd/mm/aa e hh:mm
char bufTemp[5]; // xx.x
char bufUmid[5]; // xxx%
while (Serial.available()) {
trataAcerto();
}
// Mostra data e hora no topo do display
rtc_leData(buf);
Display_print(0, 0, buf);
rtc_leHora(buf);
Display_print(0, 11, buf);
// Le temperatura e umidade
sensor_le(bufTemp, bufUmid);
Display_print_16x24 (0, 0, bufTemp);
Display_print(3, 12, bufUmid);
// Dá um tempo entre as atualizações
delay(500);
}
O código completo está no meu github: https://github.com/dquadros/TermometroCalendario.
Este projeto não tira proveito das características sofisticadas do XIAO (inclusive deve rodar em qualquer placa com I2C suportada pela IDE do Arduino), mas o resultado é bem simpático e poderia ser montado de forma compacta.


Nenhum comentário:
Postar um comentário