Zaloguje się
or
Tel +48 698 615 740

Wykorzystanie czujnika ciśnienia MPXHZ6400A

23 sierpnia, 2022

Przedstawione zostanie podłączenie czujnika MPXHZ6400A do Arduino oraz odczytywanie z niego wartości na wyświetlaczu OLED 128×64 tak, aby można było korzystać z niego w komorze próżniowej.

Spis treści

  • Specyfikacja
  • Wykorzystane komponenty
  • Podłączenie
  • Zaprogramowanie
  • Kalibracja
  • Wykorzystanie w praktyce
  • Pliki do pobrania

Specyfikacja

• Zakres odczytu ciśnienia  od 40 kpa  do  400 kpa
• Poprawiona dokładność w wysokiej temperaturze
• Maksymalny błąd 1,5% powyżej 0 ° C do 85 ° C
• W pełni skalibrowany i skompensowany
• Idealnie nadaje się do systemów mikroprocesorowych lub opartych na mikrokontrolerach
• Zakres Temperatury roboczej od -40 ° C do +125 ° C

Wykorzystane komponenty

  • Czujnik ciśnienia MPXHZ6400A
  • Wyświetlacz graficzny OLED 128×64 pikseli 0,96` Biały
  • Arduino
  • Przewody połączeniowe
  • Płytka stykowa

Podłączenie

Podłączenie czujnika jest bardzo proste, trudność może sprawiać przylutowanie przewodów do czujnika, ponieważ jest on dosyć mały. Na początku spojrzymy na schemat czujnika, który znajduje się poniżej.

Warto spojrzeć na strzałkę, która wskazuje róg do zidentyfikowania położenia pinów. Weźmy nasz czujnik w dłoń i obejrzyjmy dookoła. Jedna ze ścianek powinna mieć „ucięty” róg, po tym zlokalizujemy gdzie podłączyć przewody.

Na piny DNC (DoNotConnect) nie zwracamy uwagi, interesują nas tylko 3 piny, Vout, GND i Vs. Vout, podłączamy do A0 na arduino, GND do GND i Vs do 5V. Najlepiej wykorzystać płytkę stykową, ponieważ będziemy korzystać z wyświetlacza, który również będzie potrzebował zasilania. Podłączenie oraz wszelkie informacje o wyświetlaczach OLED można znaleźć pod tym linkiem https://ajmaker.pl/2021/10/28/wyswietlacze-oled-0-91-0-96-2/.

Zaprogramowanie

Program będzie prosty, ponieważ opiera się on na sczytywaniu napięcia przechodzącego przez czujnik. Volty, które będziemy otrzymywać można dowolnie zastosować pod swoje potrzeby, w tym wypadku pomnożyłem je razy sto i zmapowałem wartość.

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 display(0);

void setup() {
  Serial.begin(9600);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);//definiujemy rodzaj użytego wyświetlacza oraz adres I2C
  display.clearDisplay();//czyścimy ekran
  display.setTextSize(2);// ustawiamy rozmiar czcionki
  display.setTextColor(WHITE);//ustawiamy kolor biały
}

void loop() {
  int sensorValue = analogRead(A0); //pobranie wartości z czujnika
  int voltage = (sensorValue * (5.0 / 1023.0))*100; //przeliczamy wartość z czujnika na volty i dodatkowo mnożymy * 100, aby móc użyć liczbę całkowitą w mapowaniu
  long maped = map(voltage, 76, 115, 40, 0); //mapujemy wartości z czujnika na takie, które nam odpowiadają

  Serial.println(voltage);
  display.setCursor(2, 24);//ustawiamy kursor na pozycje 2 szerokości, 16 wysokości (w wypadku wyświetlacza 128x32 ustawiamy 2,6)
  
  if(maped>0) //jeżeli zmapowana liczba jest większa od zera
  {
    display.print("-"); //wyświetl minus
  }
  
  display.print("0."); //piszemy tekst który ma się ukazać
  display.println(maped); //piszemy tekst który ma się ukazać
  display.display();//wyświetlamy na ekranie, bez tego nie zadziała
  
  delay(500);
  display.clearDisplay();//czyścimy ekran
}

Wyświetlane informacje na wyświetlaczu są w taki sposób, ponieważ inaczej nie dało uzyskać się wartości dziesiętnych poprzez zmapowanie.

Kalibracja

Tak na prawdę czujnik jest skalibrowany, ale trzeba ustawić go do swoich potrzeb, można to zrobić mapowaniem, mnożeniem/dzieleniem otrzymanego woltażu.

Wykorzystanie w praktyce

Czujnik został umieszczony w komorze próżniowej i została załączona pompa próżniowa, odczyty można zobaczyć na wyświetlaczu (w barach).

Pliki do pobrania

Sticky
Możliwość komentowania Wykorzystanie czujnika ciśnienia MPXHZ6400A została wyłączona
Adrian Wojtala

Adrian Wojtala

Ma 21 lat. Studiuje informatykę na Uniwersytecie DSW, ukończył technikum o profilu technik-informatyk. Interesuje się programowaniem i w przyszłości ma plan zostać back-end developerem. Swoją przygodę z Arduino rozpoczął podczas praktyk od września 2021 r.

Comments are closed.

Strona korzysta z plików cookies w celu realizacji usługi i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.