2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
O'quv qo'llanmalari Arduino meteorologiyasi va ob -havo haroratining pasayishi bilan bog'liq.
1 -qadam: Materiallar
Maqolani ko'rib chiqish kerak:
-20 ta kabel
- BMP180 haroratining sensori
- QY-1602A LCD displeyi
- Arduino Uno
- Potentsiometro
- qarshilik 220 ohm
- Impresora kabeli
- Grande protoboard
-Kompyuter
2 -qadam: Montaje
Oldindan o'rnatilgan rasmlar. Sensor BMP 180, embargo, buyruqlar bilan ta'minlangan:
"VIN" sensori BMP 180 va "Arduino 3, 3 V", "GND" va "GND", "SCL" va "A5" va "Arduino" tugmachalari bilan yakunlanadi. "SDA" va "A4".
3 -qadam: Codigo
Meteorologika bo'yicha hisob -kitoblar Arduino -da, shuningdek, kitoblar (Liquid Crystal, SFE_BMP180) ni yuklab olish uchun javobgardir (ob -havo ma'lumoti):
#qo'shing
#qo'shing
#qo'shing
SFE_BMP180 bosimi;
ikki tomonlama PresionBase;
er -xotin Prezident = 0;
er -xotin temperatura = 0;
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
char holati;
bo'sh o'rnatish () {
Serial.begin (9600);
lcd.begin (16, 2);
Sensorni ishga tushirish ();
}
void loop () {
ReadSensor ();
lcd.setCursor (0, 0);
lcd.print ("T:");
lcd.print (harorat);
lcd.print ("C");
lcd.setCursor (0, 1);
lcd.print ("P:");
lcd.print (Presion);
lcd.print ("mbar");
kechikish (2000);
}
bo'sh SensorStart () {
agar (bosim.begin ())
Serial.println ("BMP180 boshlang'ich muvaffaqiyati");
boshqa
{
Serial.println ("BMP180 boshlang'ichi ishlamayapti (uzilganmi?) N / n");
vaqt (1);
}
holat = bosim.startTemperature ();
agar (holat! = 0) {
kechikish (holat);
status = bosim.getTemperature (Temperatura);
agar (holat! = 0) {
status = bosim.start Bosim (3);
agar (holat! = 0) {
kechikish (holat);
status = bosim.getPressure (PresionBase, Temperatura);
}
}
}
}
void ReadSensor () {
holat = bosim.startTemperature ();
agar (holat! = 0)
{
kechikish (holat);
status = bosim.getTemperature (Temperatura);
agar (holat! = 0)
{
status = bosim.start Bosim (3);
agar (holat! = 0)
{
kechikish (holat);
status = bosim.getPressure (Presion, Temperatura);
agar (holat! = 0) {}
else Serial.println ("error en la lektura de presion / n");
}
else Serial.println ("error iniciando la lektura de presion / n");
}
else Serial.println ("error en la lektura de temperatura / n");
}
else Serial.println ("xato / in temperatura / n xato");
}
4 -qadam: Sharmandalik !!
Meteorologiyaga ko'ra, bu havo harorati o'zgarib turadi. Espero que este tutorial sizga juda yoqadi!