Estação meteorológica Arduino v1.0 (BMP280)
Componentes e suprimentos
| | × | 1 | |
| Adafruit LCD padrão - 16x2 branco em azul | | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| Fios de jumpers (genérico) | | × | 17 | |
| Peças eletrônicas UTSOURCE | | × | 1 | |
Aplicativos e serviços online
Sobre este projeto
Primeira versão de uma estação meteorológica muito simples feita com um Arduino UNO, um sensor BMP280 e um LCD.
Link do patrocinador: Utsource.net
Comentários: É um site confiável para solicitar componentes eletrônicos para concluir projetos!
Já estou trabalhando na v2.0 (que será sem fio), fique por dentro para ficar por dentro!;)
Código
Código Arduino C / C ++
Com este código você poderá enviar dados do sensor para o LCD. #include // Biblioteca para a tela LCD # include // Biblioteca para o BMP280 sensorBMP280 bmp; // Inicialize seu sensorLiquidCrystal lcd (12, 11, 5, 4, 3, 2); / * Inicialize seu LCD, certifique-se de conectá-lo corretamente * / # define P0 1013.25 // Pressão atmosférica padrão # define o contraste 9 // 9 e 10 são os pinos onde você conecta os pinos correspondentes do LCD # define o brilho 10 // para o contraste e regulação de brilho duplo T =0; // Temperatura inicial valuedouble P =0; // Pressão inicial valuechar measure =0; void collectData () {measure =bmp.startMeasurment (); if (medir! =0) {atraso (medir); medida =bmp.getTemperatureAndPressure (T, P); se (medir! =0) {P =P + 17; // '+17' é uma correção para o erro do sensor T =T - 0,8; // como dito acima lcd.clear (); lcd.print ("T:"); lcd.print (T); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("P:"); lcd.print (P); lcd.print ("hPa"); } else lcd.print ("Erro."); } else lcd.print ("Error.");} void setup () {lcd.begin (16, 2); pinMode (contraste, OUTPUT); pinMode (brilho, SAÍDA); analogWrite (contraste, 100); // '100' e '255' são o contraste e o brilho analogWrite (brilho, 255); // valores eu sugiro, mas você pode alterá-los como se (! bmp.begin ()) {// você preferir delay (1000); lcd.print ("Falha na inicialização."); lcd.setCursor (0, 1); atraso (1000); lcd.print ("Verifique a fiação."); enquanto (1); } else lcd.print ("Init. OK."); bmp.setOversampling (4); atraso (2000); collectData ();} void loop () {collectData (); atraso (2000);}
Esquemas
Com esta fiação você não deve ter problemas