Вимірювання тиску за допомогою Arduino і датчика SPD005G

  1. Схема підключення датчика тиску до Arduino
  2. Програма для Arduino

Подробиці Опубліковано 11.08.2015 12:17 Автор: Admin Переглядів: 8391

У даній статті будемо вимірювати тиск за допомогою Arduino і датчика тиску SPD005G.

Для вимірювання атмосферного тиску використовуються датчики тиску. У даній статті описаний датчик тиску SPD005G від Smartec. SPD означає Smart Pressure Device. Ці датчики зібрані на основі кремнію і придатні як використання як в промисловості так і для використання в побуті. Датчик являє собою пластиковий корпус з спеціальним отвором для вимірювання атмосферного тиску.

Датчик може працювати в двох режимах: в режимі абсолютного вимірювання коли тиск вимірюється щодо ваккум, і в режимі відносного вимірювання - коли вимір здійснюється щодо атмосферного тиску. Коли датчик працює в режимі абсолютного вимірювання, то вимірює ся перепад тиску між вимірюваним тиском і тиском ваккумних камери, яка знаходиться в самому датчику.

Датчик SPD005G використовується в різних медичних апаратах, системах кондиціонування повітря, і багатьох інших пристроях вимагають достатнього рівня точності.

У проекті використовується символьний LCD дисплей. про підключення дисплея до Arduino було сказано раніше.

Документація датчика spd005g і його технічні характеристики.

Схема підключення датчика тиску до Arduino

Схема підключення датчика тиску до Arduino

Датчик підключається до Arduino через спеціальний каскад зібраним на операційному підсилювачі LM324. Вихідний висновок каскаду 12 підключається до висновку A0 arduino. Висновок виміряного значення з датчика тиску виводиться на символьний LCD дисплей 16x2. Світлодіод L2 можна виключити зі схеми, він необхоім тільки для сигналізації наявності напруги. Мінлива опір R4 призначений для регіліровкі контрасности дисплея. Передачі даних здійснюється по 4-м проводам підключеним до висновків DB4-DB7.

Харчування LCD дисплея 16x2 здійснюється від джерела в 5 Вольт.

Програма для Arduino

#include <LiquidCrystal.h> int sensor = A0; int dig_out; float millivolt; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // sets the lcd interfacing pins void setup () {pinMode (sensor, INPUT); // sets A0 as input lcd.begin (16, 2); // initializes the lcd} void loop () {dig_out = analogRead (sensor); // reads the input voltage millivolt = (dig_out * 4.882); // converts the reading to millivolt lcd.setCursor (0,0); lcd.print ( "Pressure Sensor"); // prints "Pressure Sensor" lcd.setCursor (0,1); lcd.print (millivolt); // prints the input voltage lcd.setCursor (9,1); lcd.print ( "mV"); // prints the "mV" notation delay (300); // 300 mS delay lcd.clear (); // clears screen}

Додати коментар