У цьому посібнику ми збираємося розробити систему вимірювання барометричного тиску з використанням BMP180 та ARDUINO. Перш за все для взаємодії BMP180 з ARDUINO нам потрібно завантажити бібліотеку, спеціально розроблену для BMP180. Ця бібліотека доступна за адресою: https://github.com/adafruit/Adafruit-BMP085-Library Після підключення цієї бібліотеки ми можемо викликати спеціальні функції, які полегшать роботу з датчиком BMP180.
Потрібні компоненти
Апаратне забезпечення: плата Arduino uno, сполучні штирі, резистор 220 Ом, датчик барометричного тиску BMP180, РК-дисплей 16x2, плата для хліба.
Програмне забезпечення: Arduino щоночі
Електрична схема та робоче пояснення
Після виклику заголовка нам не потрібно турбуватися про встановлення зв'язку між Arduino Uno та датчиком BMP180. Ми можемо просто викликати спеціальні функції, які зроблять це за нас. Нам потрібно лише ініціалізувати РК-дисплей і показати на ньому викликані значення від SENSOR.
У РК-дисплеї 16x2 є 16 штифтів, якщо є підсвічування, якщо немає підсвічування, то загалом буде 14 штифтів. Можна підключити або залишити шпильки підсвічування. Зараз у 14 контактах є 8 контактів даних (7-14 або D0-D7), 2 контакти джерела живлення (1 & 2 або VSS & VDD або GND & + 5v), 3- й контакт для контролю контрасту (VEE - регулює, наскільки товстими повинні бути символи показано) і 3 керуючі штифти (RS & RW & E).
У схемі ви можете помітити, що я взяв лише два керуючі штифти, контрастний біт і READ / WRITE не часто використовуються, тому їх можна закоротити на землю. Це дає РК-дисплею найвищий контраст і режим читання. Нам просто потрібно контролювати ENABLE та RS-шпильки, щоб відповідно надсилати символи та дані.
Підключення, які виконуються для РК-дисплея, наведені нижче:
PIN1 або VSS на землю
PIN2 або VDD або VCC до + 5 В потужності
PIN3 або VEE на землю (забезпечує максимальний контраст найкращий для початківця)
PIN4 або RS (Вибір реєстру) до PIN8 ARDUINO UNO
PIN5 або RW (читання / запис) на землю (переведення РК в режим читання полегшує зв'язок для користувача)
PIN6 або E (увімкнути) доPIN9 ARDUINO UNO
PIN11 або D4 до PIN10 ARDUINO UNO
PIN12 або D5 до PIN11 ARDUINO UNO
PIN13 або D6 до PIN12 ARDUINO UNO
PIN14 або D7 до PIN13 ARDUINO UNO
ARDUINO IDE дозволяє користувачеві використовувати РК-дисплей у 4-бітному режимі. Цей тип зв'язку дозволяє користувачеві зменшити використання виводу на ARDUINO, на відміну від інших, ARDUINO не потрібно програмувати окремо для використання в режимі 4 it, оскільки за замовчуванням ARDUINO налаштований для зв'язку в 4-бітному режимі. У схемі ви можете бачити, як ми використовували 4-бітний зв'язок (D4-D7).
Отже, завдяки простому спостереженню у верхній таблиці ми підключаємо 6 висновків РК-дисплея до контролера, в якому 4 висновки - це виводи даних та 2 висновки для управління.
Для підключення BMP180 до Arduino Uno нам потрібно зробити наступне:
|
Спочатку нам потрібно викликати файл заголовка для увімкнення спеціальних функцій "#include".
За допомогою цього заголовного файлу ми можемо викликати функції, які можуть зчитувати значення з Sensor безпосередньо без будь-яких нечітких ситуацій.
Тепер нам потрібно увімкнути комунікацію C, це робиться за допомогою виклику “#include
Ми можемо прочитати тиск, зателефонувавши “String PRESSUREVALUE = String (bmp.readPressure ());”. Тут значення тиску зчитується з датчика і зберігається в рядку “PRESSUREVALUE”.
Ми можемо прочитати температуру, зателефонувавши “Рядок TEMPARATUREVALUE = Рядок (bmp.readTemperature ());”. Тут значення тиску зчитується з датчика і зберігається в рядку “TEMPARATUREVALUE”.
Спочатку нам потрібно увімкнути файл заголовка ('#include
По-друге, нам слід повідомити платі, який тип РК ми використовуємо тут. Оскільки у нас так багато різних типів РК-дисплеїв (наприклад, 20 * 4, 16 * 2, 16 * 1 тощо). Тут ми збираємося підключити РК-дисплей 16 * 2 до UNO, щоб отримати 'lcd.begin (16,2);'. Для 16 * 1 отримуємо 'lcd.begin (16,1);'.
У цій інструкції ми будемо повідомляти дошці, де ми з'єднали висновки. Підключені висновки повинні бути представлені в порядку "RS, En, D4, D5, D6, D7". Ці шпильки повинні бути представлені правильно. Оскільки ми підключили RS до PIN0 і так далі, як показано на схемі, ми представляємо номер контакту на платі як “LiquidCrystallcd (0,1,8,9,10,11);”.
Після цього залишається лише надіслати дані, дані, які потрібно відобразити на РК-дисплеї, слід записати як “cd.print (“ привіт, світе! ”);”. За допомогою цієї команди на РК-дисплеї відображається "привіт, світе!".
Як бачите, нам не потрібно турбуватися ні про що інше, нам просто потрібно ініціалізувати, і ООН буде готова до відображення даних. Нам не потрібно писати цикл програми для передачі даних BYTE by BYTE сюди. Після зчитування значення з датчика ми збираємося відобразити їх на РК-дисплеї 16x2.