Измерение давления при помощи Arduino и датчика SPD005G

В данной статье будем измерять давление при помощи 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
}

Комментарии  

 
#1 Александр 15.09.2015 11:44
Можно ли использовать этот датчик для измерения глубины в колодце до 3-х метров? Изменив программу, конечно.
Цитировать
 
 
#2 droot 15.09.2015 11:48
Мне кажется. Этот датчик не предназначен для работы в воде, хотя нужно посмотреть внимательнее документацию.
Цитировать
 
 
#3 Александр 15.09.2015 16:27
Цитирую droot:
Мне кажется. Этот датчик не предназначен для работы в воде, хотя нужно посмотреть внимательнее документацию.

Там про это ничего не сказано.
Цитировать
 
 
#4 akiwa 16.05.2016 23:30
Можно ли использовать этот датчик для измерения давления от маломощного компрессора 20 - 100 мм.рт.ст.?
Заранее благодарен
Цитировать
 
 
#5 Евгений 06.04.2017 18:38
Только значения постоянно скачут, причем в огромном диапазоне.
Цитировать
 

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


Защитный код
Обновить

Последние комментарии

Последнии темы форума

  • Нет сообщений для показа