terça-feira, maio 12, 2020

Construindo um Relógio e Termômetro com um Seeeduino XIAO

Como primeiro projeto com o Seeeduino XIAO resolvi fazer um "mashup" de três dispositivos que já examinei anteriormente: display OLED de 0,96", sensor de temperatura HDC1080 e relógio de tempo real DS1307.


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:

  1. // Loop Principal  
  2. void loop() {  
  3.   char buf[9];      // dd/mm/aa e hh:mm  
  4.   char bufTemp[5];  // xx.x  
  5.   char bufUmid[5];  // xxx%  
  6.     
  7.   while (Serial.available()) {  
  8.     trataAcerto();  
  9.   }  
  10.   
  11.   // Mostra data e hora no topo do display  
  12.   rtc_leData(buf);  
  13.   Display_print(0, 0, buf);  
  14.   rtc_leHora(buf);  
  15.   Display_print(0, 11, buf);  
  16.   
  17.   // Le temperatura e umidade  
  18.   sensor_le(bufTemp, bufUmid);  
  19.   Display_print_16x24 (0, 0, bufTemp);  
  20.   Display_print(3, 12, bufUmid);  
  21.   
  22.   // Dá um tempo entre as atualizações  
  23.   delay(500);  
  24. }  

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: