рдкрд░рд┐рдЪрдп"рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!" рдХреЛ рдЫреЛрдбрд╝рдХрд░ рджреЛ-рд▓рд╛рдЗрди рд╕реНрдХреНрд░реАрди рдкрд░ рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рддрд╛рдкрдорд╛рди рдЖрд░реНрджреНрд░рддрд╛ рдФрд░ рджрдмрд╛рд╡ рдХреНрдпреЛрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рддреЗ?
Arduino (DHT11, DHT22) рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рд╕реЗрдВрд╕рд░ рддрд╛рдкрдорд╛рди рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП (рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рд▓рд┐рдП) рдЙрд╕реА рддрд░рд╣ рджрдмрд╛рд╡ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╡рд┐рднрд╛рдЧ рдХреЗ рдкрд╛рд╕ рдмреИрд░реЛрдореАрдЯрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЛрдб рдореЗрдВ рд░реАрдбрд┐рдВрдЧ рдЬрдорд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рд╣реИ рдЖрд░реНрдбрд┐рдиреЛ рдореЗрдВред
рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп, рдШрдЯрдХреЛрдВ рдХреЛ рдЪреАрди рд╕реЗ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХArduino рдкреНрд░реЛ рдорд┐рдиреАрдПрд▓рд╕реАрдбреА рдХреЗ рд▓рд┐рдП I2C (рдпрд╣ рддреБрд░рдВрдд рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рджреЗрдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рд╕рд╕реНрддрд╛ рдирд┐рдХрд▓рд╛)
рдПрд▓рд╕реАрдбреА 1602BME280USB-UART рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдХреЗрдЪ рдХреЛ arduino рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдпрд╛ COM рдкреЛрд░реНрдЯ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рдерд╛ред
рдлрд░реНрдорд╡реЗрдпрд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдЖрд░реЗрдЦрдЪреАрди рд╕реЗ, USB- UART рд╡рд╛рдпрд░рд┐рдВрдЧ рдХреЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЖрдпрд╛:

рд╡реЗ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рдереЗред рдореИрдВрдиреЗ 3.3 рд╡реЛрд▓реНрдЯ рдкрд░ рдЬрдореНрдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдореЗрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг arduino 5 рд╡реЛрд▓реНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реИред
UART - Arduino
5v - рд╡реАрд╕реАрд╕реА
TXD - RXD
RXD - TXD
GND - GND
рд╕реАрдЯреАрдПрд╕ - рдбреАрдЯреАрдЖрд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рдЧреНрдирд▓ рд╡реЛрд▓реНрдЯреЗрдЬ 3.3V рд░рд╣рд╛)
рдпрджрд┐ рдЖрдк DTR рдХреЛ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Arduino рдлрд░реНрдорд╡реЗрдпрд░ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рдмрдЯрди рдХреЗ рд╕рд╛рде рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рдХреНрд░рд┐рдп рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рджреЛрдиреЛрдВ рддрд░рдл рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдЬреИрд╕рд╛ рдХрд┐ USB-UART LED рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдлрд░реНрдорд╡реЗрдпрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрд╡рдпрдВ рдХреЛ рд░реАрдмреВрдЯ рдХрд░реЗрдЧрд╛ред
рдЖрд╡рд╢реНрдпрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА:
SparkFunBME280рд▓рд┐рдХреНрд╡рд┐рдб рдХреНрд░рд┐рд╕реНрдЯрд▓ I2CрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдХреЛрдб, рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде (рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
рдХреЛрдб#include <stdint.h> #include "SparkFunBME280.h" #include "Wire.h" #include "SPI.h" #include <LiquidCrystal_I2C.h> //Global sensor object BME280 mySensor; LiquidCrystal_I2C lcd(0x3F,16,2); // , 0x3F void setup() { lcd.init(); lcd.backlight(); //***Driver settings********************************// //commInterface can be I2C_MODE or SPI_MODE //specify chipSelectPin using arduino pin names //specify I2C address. Can be 0x77(default) or 0x76 //For I2C, enable the following and disable the SPI section mySensor.settings.commInterface = I2C_MODE; mySensor.settings.I2CAddress = 0x76; // , //For SPI enable the following and dissable the I2C section //mySensor.settings.commInterface = SPI_MODE; //mySensor.settings.chipSelectPin = 10; //***Operation settings*****************************// //renMode can be: // 0, Sleep mode // 1 or 2, Forced mode // 3, Normal mode mySensor.settings.runMode = 3; // Forced mode, Normal mode //tStandby can be: // 0, 0.5ms // 1, 62.5ms // 2, 125ms // 3, 250ms // 4, 500ms // 5, 1000ms // 6, 10ms // 7, 20ms mySensor.settings.tStandby = 5; // //filter can be off or number of FIR coefficients to use: // 0, filter off // 1, coefficients = 2 // 2, coefficients = 4 // 3, coefficients = 8 // 4, coefficients = 16 mySensor.settings.filter = 0; //tempOverSample can be: // 0, skipped // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively mySensor.settings.tempOverSample = 1; //pressOverSample can be: // 0, skipped // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively mySensor.settings.pressOverSample = 1; //humidOverSample can be: // 0, skipped // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively mySensor.settings.humidOverSample = 1; //Calling .begin() causes the settings to be loaded mySensor.begin(); } void loop() { // , , . lcd.setCursor(0,0); lcd.print("H="); lcd.print((uint8_t)mySensor.readFloatHumidity()); lcd.print("%"); lcd.print(" T="); lcd.print(mySensor.readTempC()); lcd.setCursor(13,0); lcd.print(" P:"); lcd.setCursor(0,1); int mmH=mySensor.readFloatPressure()/133; lcd.print(mmH); lcd.print("mmH "); lcd.print(mySensor.readFloatPressure()); lcd.setCursor(14,1); lcd.print("Pa"); delay(1000); }
рд╕реЗрдВрд╕рд░ рдХреЗ рдкрддреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рд╣реИрдВред
рдЕрдкрдиреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдПрдВ, рдЖрдк
рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд┐рдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рджреЛ рдкреНрд▓реЗрдЯреЗрдВ рд╣реИрдВред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ:
рдФрд░ рдкрддрд╛ 0x3F рд╣реЛрдЧрд╛ A0 - A2 рдЦреБрд▓рд╛:

рдЕрдВрдбрд╛рдХрд╛рд░ рдореЗрдВ рд▓рдЧрд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрд▓рдИрдбреА рд╡рд╛рд╖реНрдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП
рдмреЗрд╣рддрд░ рд╣реИред
рддрд╛рд░реЛрдВ рдХрд╛ рдЖрд░реЗрдЦрд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рдХреЛ рд╕реЗрдВрд╕рд░ рдкреНрд░рддрд┐рд░реЛрдз рдХреЗ рдЖрдзреЗ (рд╡реАрд╡реАрд╕реА рдФрд░ рдЬреАрдПрдирдбреА рдХреЗ рдмреАрдЪ) рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ рдЙрд╕ рдкрд░ рд╡реЛрд▓реНрдЯреЗрдЬ рдбреНрд░реЙрдк 1.7 рд╡реЛрд▓реНрдЯ рд╣реЛред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд░реНрдХрд┐рдЯ рдХреЛ рд░реЙ рдХреЗ рдЗрдирдкреБрдЯ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдп рд╡реЛрд▓реНрдЯреЗрдЬ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рддрд╛рдЬ рд╕реЗ)ред

рдлреЛрдЯреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЙрдореНрдкреИрдХреНрдЯрдиреЗрд╕ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реЗрдВрд╕рд░ рдХреЛ рдкрд╛рд╡рд░ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реЗ рдкрд┐рди рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдирд╛рд░рдВрдЧреА-рдкреАрд▓реА рдЬреЛрдбрд╝реА рдХреА рддрд╛рд░реЛрдВ рдХреА рдПрдХ рд╢рд╛рдЦрд╛ рдХреЛ рднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдмреИрдХрд▓рд╛рдЗрдЯ рдХреА рдЪрдордХ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рдкрд░ 100 рдУрдо рдХрд╛ рдПрдХ рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рд▓рдЯрдХрд╛ рджреЗрддрд╛ рд╣реИ (рдЖрдк рдЬрдореНрдкрд░ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреА рдЖрдВрдЦреЛрдВ рдХреЛ рдХрд╛рдЯ рджреЗрдЧрд╛)ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдПрдХ рдкреБрд░рд╛рдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реИред USB рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рднреА рдШрдЯрдХ рдореЛрдореЗрдВрдЯ рдЧреЛрдВрдж рдХреЗ рд╕рд╛рде рдЪрд┐рдкрдХреЗ рд╣реБрдП рдереЗ, рдЬреЛ рд╣рд╛рде рдореЗрдВ рдерд╛ред
рдкрд░рд┐рдгрд╛рдордХрд╛рд░реНрдпрд╕реНрдерд▓ рдореЗрдВ рдЯреЗрдмрд▓ рдкрд░ 1602 рдмреЛрд▓реНрдЯ рд▓рдЧрд╛ рд╣реБрдЖ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рджрдмрд╛рд╡, рдЖрд░реНрджреНрд░рддрд╛, рддрд╛рдкрдорд╛рди рджрд░реНрд╢рд╛рддрд╛ рд╣реИред Arduino рдХреЛ рдЗрд╕реЗ рд╣рдЯрд╛рдП рдмрд┐рдирд╛ рд░рд┐рдлреНрд▓реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (
рдпрд╣ рд░реЗрдВрдЧрдиреЗ рд╡рд╛рд▓реА рд░реЗрдЦрд╛ рдмрди рд╕рдХрддреА рд╣реИ )ред
рдлрд╝реЛрдЯреЛ
рдХрд╛рд░реНрдпрд╕реНрдерд▓, рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдпред

рд╕рд╛рдордиреЗ рдХрд╛ рджреГрд╢реНрдпред

рдкреАрдЫреЗ рдХрд╛ рджреГрд╢реНрдпред