Подключение датчика атмосферного давления BMP280 к Arduino

BMP280 — это цифровой датчик от Bosch Sensortec позволяющий получить текущие значения атмосферного давления и температуры окружающей среды. Этот датчик специально разработан для мобильных приложений, где малый размер и низкое энергопотребление очень важны. В данной статьи увидим, как подключить датчик атмосферного давления BMP280 к Arduino по I2C и SPI, какие библиотеки установить и приведём несколько примеров скетчей.

BMP280 основан на технологии пьезорезистивного датчика давления, обладающей высокой точностью, линейностью и стабильностью с устойчивостью к электромагнитной совместимости.

BMP280 может использоваться в различных приложениях, таких как улучшение систем навигации GPS, внутренняя навигация, таких как обнаружение пола и обнаружение лифта, наружная навигация, спортивные приложения, прогноз погоды и т. д. Еще одним применением данного модуля является определений высоты, которая зависит от давления и рассчитывается по международной барометрической формуле.

Установка библиотек

Для работы с датчиком BMP280 существуют различные библиотеки, упрощающие работу. К ним относятся BMP280_DEV, Adafruit_BMP280_Library. Для датчика BMP280 будет используется библиотека от Adafruit.

Adafruit Unified Sensor Driver — общий драйвер

  1. В Arduino IDE открываем менеджер библиотек: Скетч->Подключить библиотеку->Управлять библиотеками…Подключение BMP280 к Arduino - Управлять библиотеками...
  2. В строке поиска вводим «Adafruit Unified Sensor», выбираем последнюю версию и кликаем УстановитьПодключение BMP280 к Arduino - Установка Adafruit Unified Sensor
  3. Библиотека установлена (INSTALLED)Подключение BMP280 к Arduino - Adafruit Unified Sensor INSTALLED

Библиотека Arduino для датчиков BMP280

Чтобы начать считывать данные с датчиков, вам необходимо установить библиотеку Adafruit_BMP280 (код в репозитории github). Она доступна в менеджере библиотек Arduino, поэтому рекомендуется его использовать.

  1. В Arduino IDE открываем менеджер библиотек: Скетч->Подключить библиотеку->Управлять библиотеками…Подключение BMP280 к Arduino - Управлять библиотеками...
  2. В строке поиска вводим «Adafruit BMP280», выбираем библиотеку от Adafruit, но можете использовать любую.Подключение BMP280 к Arduino - Выбор BMP280
  3. Выбираем последнюю версию и кликаем УстановитьПодключение BMP280 к Arduino - Установка BMP280
  4. Выбираем пример: Файл->Примеры->Adafruit BMP280 Library->bmp280testПодключение BMP280 к Arduino - Пример Adafruit BMP280 Library-bmp280test
  5. Компилируем этот пример. Если получаем ошибку fatal error: Adafruit_Sensor.h: No such file or directory, нужно установить Adafruit Unified Sensor (смотрите выше)
    ...\Documents\Arduino\bmp280-i2c\bmp280-i2c.ino:1:30: fatal error: Adafruit_Sensor.h: No such file or directory
    
     #include <Adafruit_Sensor.h>
    
                                  ^
    compilation terminated.
    
    exit status 1
    Ошибка компиляции для платы Arduino Pro or Pro Mini.

    Подключение BMP280 к Arduino - Компиляция bmp280test.ino - include Adafruit_Sensor.h - ошибка

Подключение BMP280 к Arduino по I2C/TWI

Так как датчик может работать по I2C и SPI, подключение можно реализовать двумя методами. При подключении по I2C нужно соединить контакты SDA и SCL.

Схема подключения BMP280 к Arduino

Для подключения понадобятся сам датчик BMP280, плата Ардуино, соединительные провода. Схема подключения показана на рисунке ниже.

 

Схема подключения BMP280 к Arduino UNO по I2C/TWI

Землю с Ардуино нужно соединить с землей на датчике, напряжение 3.3 В — на 3.3 В, SDA — к пину А4, SCL — к А5. Контакты А4 и А5 выбираются с учетом их поддержки интерфейса I2C.

Существуют несколько модулей с этим датчиком. Первый вариант — это модуль для работы в 3.3 В логике, данные модули будут подешевле; второй вариант — для работы в 5.0 В логике, на нём присутствуют: линейный стабилизатор напряжения на 3.3 В и преобразователи уровней 3.3/5.0 В на линиях SCK/SCL и SDI(MOSI)/SDA. Первый подойдёт для ардуин работающих от 3.3 В и Raspberry Pi / Orange Pi / Banana Pi и т.д., а второй — для обычных ардуин на 5.0 В.

Adafruit BMP280 - стабилизатор на 3.3 В и преобразователь уровней 3.3/5ВПодключение BMP280 с встроенными стабилизатором напряжения на 3.3 В и преобразователями уровней 3.3/5.0 В на линиях SCK/SCL и SDI(MOSI)/SDA к Arduino.

Arduino Mega Arduino Uno/Nano/Pro Mini BMP280 модуль Цвет проводов на фото
GND GND GND Черный
5V 5V Vin Красный
20 (SDA) A4 SDA/SDI Зелёный
21 (SCL) A5 SCL/SCK Жёлтый

Подключение BMP280 без встроенного стабилизатора напряжения на 3.3 В к Arduino. В данном случае нужно использовать внешний преобразователь уровней на линиях SCK/SCL и SDI(MOSI)/SDA.

Arduino Mega Arduino Uno/Nano/Pro Mini BMP280 модуль Цвет проводов на фото
GND GND GND Черный
3.3V 3.3V VCC/3.3V Красный
20 (SDA) A4 SDA/SDI Зелёный
21 (SCL) A5 SCL/SCK Жёлтый

Примеры скетча

После запуска вы можете инициализировать датчик с помощью:

if (!bmp.begin()) {  
  Serial.println("Could not find a valid BMP280 sensor, check wiring!");
  while (1);
}

begin() вернет True, если датчик был найден, и False, если нет. В случае с False, проверьте соединение датчика с платой Arduino!

Считать температуру и давление легко, просто вызовите функции:

bmp.readTemperature(); // Температура в градусах Цельсия.
bmp.readPressure();    // Атмосферное давление в гПа

Копируйте и скомпилируйте нижеприведённый скетч в Arduino IDE.

#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp280;

void setup() {
  Serial.begin(9600);
  Serial.println(F("BMP280"));

  while (!bmp280.begin(BMP280_ADDRESS - 1)) {
    Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
    delay(2000);
  }
}

void loop() {
  float temperature = bmp280.readTemperature();
  float pressure = bmp280.readPressure();
  float altitude = bmp280.readAltitude(1013.25);

  Serial.print(F("Temperature = "));
  Serial.print(temperature);
  Serial.println(" *C");

  Serial.print(F("Pressure = "));
  Serial.print(pressure);
  Serial.println(" Pa");

  Serial.print(F("Altitude = "));
  Serial.print(altitude);
  Serial.println(" m");

  Serial.println();
  delay(2000);
}

Результат

Подключение BMP280 к Arduino I2C - Результат

Температура рассчитывается в градусах Цельсия, вы можете преобразовать ее в градусы Фаренгейта, используя классическое уравнение F = C * 9/5 + 32.

Давление возвращается в единицах СИ Паскалей. 100 Паскалей = 1 гПа = 1 миллибар. Часто барометрическое давление сообщается в миллибарах или миллиметрах ртутного столба. Для дальнейшего использования 1 паскаль = 0,00750062 миллиметров ртутного столба или 1 миллиметр ртутного столба = 133,322 Паскаля. Таким образом, если вы возьмете значение паскаля, скажем, 100734 и разделите на 133,322, вы получите 755,57 миллиметров ртутного столба.

Также возможно превратить BMP280 в альтиметр. Если вы знаете давление на уровне моря, библиотека может рассчитать текущее атмосферное давление в высоту.

Подключение BMP280 к Arduino по SPI (аппаратный)

Поскольку это датчик с поддержкой SPI, можно использовать аппаратный или «программный» SPI для работы с датчиком.

Схема подключения BMP280 к Arduino

При подключении по SPI нужно соединить SCK/SCL с модуля к SCK (13й контакт на Ардуино), SDO с модуля к 12 выводу Ардуино, SDA/SDI — к 11 контакту, CSB (CS) — к любому цифровому пину, в данном случае к 10 контакту на Ардуино.

Схема подключения BMP280 к Arduino UNO по SPI (hardware)

Подключение по SPI BMP280 с встроенными стабилизатором напряжения на 3.3 В и преобразователями уровней 3.3/5.0 В на линиях SCK и SDI(MOSI) к Arduino.

Arduino Mega Arduino Uno/Nano/Pro Mini BMP280 модуль Цвет проводов на фото
GND GND GND Черный
5V 5V Vin Красный
52 (SCK) 13 (SCK) SCL/SCK Зелёный
50 (MISO) 12 (MISO) SDO Оранжевый
51 (MOSI) 11 (MOSI) SDA/SDI Жёлтый
48 (SS/CS) 10 (SS/CS) CS/CSB Синий

Примеры скетча

Вы можете использовать аппаратный SPI. С аппаратным SPI вы должны использовать аппаратные выводы SPI вашего Arduino — у каждого типа arduino разные выводы! В этом случае вы можете использовать любой контакт CS, но остальные три контакта фиксированы.

Adafruit_BMP280 bmp(BMP_CS); // hardware SPI

Полный код примера:

#include <Adafruit_BMP280.h>

#define BMP_CS 10

Adafruit_BMP280 bmp280SPI(BMP_CS);

void setup() {
  Serial.begin(9600);
  Serial.println(F("bmp280SPI"));

  while (!bmp280SPI.begin()) {
    Serial.println(F("Could not find a valid bmp280SPI sensor, check wiring!"));
    delay(2000);
  }
}

void loop() {
  float temperature = bmp280SPI.readTemperature();
  float pressure = bmp280SPI.readPressure();
  float altitude = bmp280SPI.readAltitude(1013.25);

  Serial.print(F("Temperature = "));
  Serial.print(temperature);
  Serial.println(" *C");

  Serial.print(F("Pressure = "));
  Serial.print(pressure);
  Serial.println(" Pa");

  Serial.print(F("Altitude = "));
  Serial.print(altitude);
  Serial.println(" m");

  Serial.println();
  delay(2000);
}

Результат

Подключение BMP280 к Arduino по SPI (аппаратный) - Результат

Подключение BMP280 к Arduino по SPI (программный)

Под программным SPI понимается использование драйвера Arduino SPI для эмуляции аппаратного SPI с использованием «битовой синхронизации». Это позволяет подключить SPI-устройство к любым контактам Arduino.

Схема подключения BMP280 к Arduino

Схема подключения BMP280 к Arduino UNO по SPI (software)

Подключение по SPI BMP280 с встроенными стабилизатором напряжения на 3.3 В и преобразователями уровней 3.3/5.0 В на линиях SCK и SDI(MOSI) к Arduino.

Arduino Mega Arduino Uno/Nano/Pro Mini BMP280 модуль Цвет проводов на фото
GND GND GND Черный
5V 5V Vin Красный
52 (SCK) 13 (SCK) SCL/SCK Зелёный
50 (MISO) 12 (MISO) SDO Оранжевый
51 (MOSI) 11 (MOSI) SDA/SDI Жёлтый
48 (SS/CS) 10 (SS/CS) CS/CSB Синий

Примеры скетча

Вы можете создать объект BMP280 с любым программным SPI (где все четыре контакта могут быть любыми входами / выходами Arduino), используя:

Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

Полный код примера:

#include <Adafruit_BMP280.h>

#define BMP_SCK   13
#define BMP_MISO  12
#define BMP_MOSI  11
#define BMP_CS    10

Adafruit_BMP280 bmp280SoftSPI(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

void setup() {
  Serial.begin(9600);
  Serial.println(F("BMP280 SPI (программный)"));

  while (!bmp280SoftSPI.begin()) {
    Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
    delay(2000);
  }
}

void loop() {
  float temperature = bmp280SoftSPI.readTemperature();
  float pressure = bmp280SoftSPI.readPressure();
  float altitude = bmp280SoftSPI.readAltitude(1013.25);

  Serial.print(F("Temperature = "));
  Serial.print(temperature);
  Serial.println(" *C");

  Serial.print(F("Pressure = "));
  Serial.print(pressure);
  Serial.println(" Pa");

  Serial.print(F("Altitude = "));
  Serial.print(altitude);
  Serial.println(" m");

  Serial.println();
  delay(2000);
}

Результат

Подключение BMP280 к Arduino по SPI (программный) - Результат

Материалы

Arduino Test | Adafruit BMP280 Barometric Pressure + Temperature Sensor Breakout | Adafruit Learning System
BME280 — датчик давления, температуры и влажности
GitHub — adafruit/Adafruit_BMP280_Library: Arduino Library for BMP280 sensors
Барометр BMP180 и BMP280 (датчик атмосферного давления, высотомер) (Trema-модуль v2.0) — Описания, примеры, подключение к Arduino
Датчик Давления BMP-280 С Arduino Учебник

Похожие записи

Комментарии 7

  • Такая херня. Копирую ,а у меня ничего не происходит.
    То ли я тупой, то ли лыжи не едут

  • Все норм, запустилось с первого раза, самое интересное, adafuit test из примеров не хотел никак запускаться

    • Adafruit test из примеров для железного SPI необходимо:
      закомментировать строку (в моём случае 27)
      27 //Adafruit_BMP280 bmp; // I2C
      раскомментировать строку (в моём случае 28)
      28 Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
      Удачи!

  • как поменять показания давления в мм.рт.ст?

    • Коэффициент для пересчета есть в ответе яндекса на этот вопрос. Умножите и вставите еще мм. вместо Па

  • RGBET trang chủ
    RGBET trang chủ với hệ thống game nhà cái đỉnh cao — Nhà cái uy tín số 1 Việt Nam trong lĩnh vực cờ bạc online

    RG trang chủ, RG RICH GAME, Nhà Cái RG
    RGBET Trang Chủ Và Câu Chuyện Thương Hiệu
    Ra đời vào năm 2010 tại Đài Loan, RGBET nhanh chóng trở thành một trang cá cược chất lượng hàng đầu khu vực Châu Á. Nhà cái được cấp phép hoạt động hợp pháp bởi công ty giải trí trực tuyến hợp pháp được ủy quyền và giám sát theo giấy phép Malta của Châu Âu — MGA. Và chịu sự giám sát chặt chẽ của tổ chức PAGCOR và BIV.

    RGBET trang chủ cung cấp cho người chơi đa dạng các thể loại cược đặc sắc như: thể thao, đá gà, xổ số, nổ hũ, casino trực tuyến. Dịch vụ CSKH luôn hoạt động 24/7. Với chứng chỉ công nghệ GEOTRUST, nhà cái đảm bảo an toàn cho mọi giao dịch của khách hàng. APP RG thiết kế tối ưu giải quyết mọi vấn đề của người dùng IOS và Android.

    Là một nhà cái đến từ đất nước công nghệ, nhà cái luôn không ngừng xây dựng và nâng cấp hệ thống game và dịch vụ hoàn hảo. Mọi giao dịch nạp rút được tự động hoá cho phép người chơi hoàn tất giao dịch chỉ với 2 phút vô cùng nhanh chóng

    RGBET Lớn Nhất Uy Tín Nhất — Giá Trị Cốt Lõi
    Nhà Cái RG Và Mục Tiêu Thương Hiệu
    Giá trị cốt lõi mà RGBET mong muốn hướng đến đó chính là không ngừng hoàn thiện để đem đến một hệ thống chất lượng, công bằng và an toàn. Nâng cao sự hài lòng của người chơi, đẩy mạnh hoạt động chống gian lận và lừa đảo. RG luôn cung cấp hệ thống kèo nhà cái đặc sắc, cùng các sự kiện — giải đấu hàng đầu và tỷ lệ cược cạnh tranh đáp ứng mọi nhu cầu khách hàng.

    Thương hiệu cá cược RGBET cam kết đem lại cho người chơi môi trường cá cược công bằng, văn minh và lành mạnh. Đây là nguồn động lực to lớn giúp nhà cái thực tế hóa các hoạt động của mình.

    RGBET Có Tầm Nhìn Và Sứ Mệnh
    Đổi mới và sáng tạo là yếu tố cốt lõi giúp đạt được mục tiêu dưới sự chuyển mình mạnh mẽ của công nghệ. Tầm nhìn và sứ mệnh của RGBET là luôn tìm tòi những điều mới lạ, đột phá mạnh mẽ, vượt khỏi giới hạn bản thân, đương đầu với thử thách để đem đến cho khách hàng sản phẩm hoàn thiện nhất.

    Chúng tôi luôn sẵn sàng tiếp thu ý kiến và nâng cao bản thân mỗi ngày để tạo ra sân chơi bổ ích, uy tín và chuyên nghiệp cho người chơi. Để có thể trở thành nhà cái phù hợp với mọi khách hàng.

    Khái Niệm Giá Trị Cốt Lõi Nhà Cái RGBET
    Giá trị cốt lõi của nhà cái RG luôn gắn kết chặt chẽ với nhau giữa 5 khái niệm: Chính trực, chuyên nghiệp, an toàn, đổi mới, công nghệ.

    Chính Trực
    Mọi quy luật, cách thức của trò chơi đều được nhà cái cung cấp công khai, minh bạch và chi tiết. Mỗi tựa game hoạt động đều phải chịu sự giám sát kỹ lưỡng bởi các cơ quan tổ chức có tiếng về sự an toàn và minh bạch của nó.

    Chuyên Nghiệp
    Các hoạt động tại RGBET trang chủ luôn đề cao sự chuyên nghiệp lên hàng đầu. Từ giao diện đến chất lượng sản phẩm luôn được trau chuốt tỉ mỉ từng chi tiết. Thế giới giải trí được xây dựng theo văn hóa Châu Á, phù hợp với đại đa số thị phần khách Việt.

    An Toàn
    RG lớn nhất uy tín nhất luôn ưu tiên sử dụng công nghệ mã hóa hiện đại nhất để đảm bảo an toàn, riêng tư cho toàn bộ thông tin của người chơi. Đơn vị cam kết nói không với hành vi gian lận và mua bán, trao đổi thông tin cá nhân bất hợp pháp.

    Đổi Mới
    Nhà cái luôn theo dõi và bắt kịp xu hướng thời đại, liên tục bổ sung các sản phẩm mới, phương thức cá cược mới và các ưu đãi độc lạ, mang đến những trải nghiệm thú vị cho người chơi.

    Công Nghệ
    RGBET trang chủ tập trung xây dựng một giao diện game sắc nét, sống động cùng tốc độ tải nhanh chóng. Ứng dụng RGBET giải nén ít dung lượng phù hợp với mọi hệ điều hành và cấu hình, tăng khả năng sử dụng của khách hàng.

    RGBET Khẳng Định Giá Trị Thương Hiệu
    Hoạt động hợp pháp với đầy đủ giấy phép, chứng chỉ an toàn đạt tiêu chuẩn quốc tế
    Hệ thống game đa màu sắc, đáp ứng được mọi nhu cầu người chơi
    Chính sách bảo mật RG hiện đại và đảm bảo an toàn cho người chơi cá cược
    Bắt tay hợp tác với nhiều đơn vị phát hành game uy tín, chất lượng thế giới
    Giao dịch nạp rút RG cấp tốc, nhanh gọn, bảo mật an toàn
    Kèo nhà cái đa dạng với bảng tỷ lệ kèo cao, hấp dẫn
    Dịch Vụ RGBET Casino Online
    Dịch vụ khách hàng
    Đội ngũ CSKH RGBET luôn hoạt động thường trực 24/7. Nhân viên được đào tạo chuyên sâu luôn giải đáp tất cả các khó khăn của người chơi về các vấn đề tài khoản, khuyến mãi, giao dịch một cách nhanh chóng và chuẩn xác. Hạn chế tối đa làm ảnh hưởng đến quá trình trải nghiệm của khách hàng.

    Đa dạng trò chơi
    Với sự nhạy bén trong cập nhật xu thế, nhà cái RGBET đã dành nhiều thời gian phân tích nhu cầu khách hàng, đem đến một kho tàng game chất lượng với đa dạng thể loại từ RG casino online, thể thao, nổ hũ, game bài, đá gà, xổ số.

    Khuyến mãi hấp dẫn
    RGBET trang chủ liên tục cập nhật và thay đổi các sự kiện ưu đãi đầy hấp dẫn và độc đáo. Mọi thành viên bất kể là người chơi mới, người chơi cũ hay hội viên VIP đều có cơ hội được hưởng ưu đãi đặc biệt từ nhà cái.

    Giao dịch linh hoạt, tốc độ
    Thương hiệu RGBET luôn chú tâm đến hệ thống giao dịch. Nhà cái cung cấp dịch vụ nạp rút nhanh chóng với đa dạng phương thức như thẻ cào, ví điện tử, ngân hàng điện tử, ngân hàng trực tiếp. Mọi hoạt động đều được bảo mật tuyệt đối bởi công nghệ mã hóa tiên tiến.

    App cá độ RGBET
    App cá độ RGBET là một ứng dụng cho phép người chơi đăng nhập RG nhanh chóng, đồng thời các thao tác đăng ký RG trên app cũng được tối ưu và trở nên đơn giản hơn. Tham gia cá cược RG bằng app cá độ, người chơi sẽ có 1 trải nghiệm cá cược tuyệt vời và thú vị.

    RGBET Có Chứng Nhận Cá Cược Quốc Tế
    Nhà cái RGBET hoạt động hợp pháp dưới sự cấp phép của hai tổ chức thế giới là PAGCOR và MGA, tính minh bạch và công bằng luôn được giám sát gắt gao bởi BIV. Khi tham gia cược tại đây, người chơi sẽ được đảm bảo quyền và lợi ích hợp pháp của mình.

    Việc sở hữu các chứng nhận quốc tế còn cho thấy nguồn tài chính ổn định, dồi dào của RGBET. Điều này cho thấy việc một nhà cái được công nhận bởi các cơ quan quốc tế không phải là một chuyện dễ.

    Theo quy định nhà cái RGBET, chỉ người chơi từ đủ 18 tuổi trở lên mới có thể tham gia cá cược tại RGBET
    MGA (Malta Gaming Authority)
    Tổ chức MGA đảm bảo tính vẹn toàn và ổn định của các trò chơi. Có các chính sách bảo vệ nguồn tài chính và quyền lợi của người chơi. Chứng nhận một nhà cái hoạt động có đầy đủ pháp lý, tuân thủ nghiêm chỉnh luật cờ bạc.

    Chứng nhận Quần đảo Virgin Vương quốc Anh (BIV)
    Tổ chứng chứng nhận nhà cái có đầy đủ tài chính để hoạt động kinh doanh cá cược. Với nguồn ngân sách dồi dào, ổn định nhà cái bảo đảm tính thanh khoản cho người chơi, mọi quyền lợi sẽ không bị xâm phạm.

    Giấy Phép PAGCOR
    Tổ chức cấp giấy phép cho nhà cái hoạt động đạt chuẩn theo tiêu chuẩn quốc tế. Cho phép nhà cái tổ chức cá cược một cách hợp pháp, không bị rào cản. Có chính sách ngăn chặn mọi trò chơi có dấu hiệu lừa đảo, duy trì sự minh bạch, công bằng.

    Nhà Cái RGBET Phát Triển Công Nghệ
    Nhà cái RGBET hỗ trợ trên nhiều thiết bị : IOS, Android, APP, WEB, Html5

    RG và Trách Nhiệm Xã Hội
    RGBET RichGame không đơn thuần là một trang cá cược giải trí mà nhà cái còn thể hiện rõ tính trách nhiệm xã hội của mình. Đơn vị luôn mong muốn người chơi tham gia cá cược phải có trách nhiệm với bản thân, gia đình và cả xã hội. Mọi hoạt động diễn ra tại RGBET trang chủ nói riêng hay bất kỳ trang web khác, người chơi phải thật sự bình tĩnh và lý trí, đừng để bản thân rơi vào “cạm bẫy của cờ bạc”.

    RGBET RichGame với chính sách nghiêm cấm mọi hành vi xâm phạm thông tin cá nhân và gian lận nhằm tạo ra một môi trường cá cược công bằng, lành mạnh. Nhà cái khuyến cáo mọi cá nhân chưa đủ 18 tuổi không nên đăng ký RG và tham gia vào bất kỳ hoạt động cá cược nào.
    rgbet e180_33

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *