Zaloguje się
or
Tel +48 698 615 740

Czujniki MQ

29 października, 2021

W tym artykule będziemy omawiać czujniki MQ. Działają one na podobnych zasadach więc nie ma przy nich za dużo pracy. Omówię sposób działania tych czujników krok po kroku abyście lepiej mogli je zrozumieć.

Spis treści

  • Krótki opis
  • Specyfikacja
  • Przykład
  • Rezultat
  • Pliki do pobrania

Krótki opis

Czujniki MQ są dość dokładne dlatego program musi zawierać odpowiednie przeliczniki. Czujnik do prawidłowego działania musi się rozgrzać za pomocą grzałki, która umiejscowiona jest pod siatką.

Specyfikacja

  • Zasilanie: od 2,5 V do 5 V
  • Wyjście analogowe oraz cyfrowe
  • Wyprowadzenia: złącza goldpin raster 2,54 mm
  • Wymiary płytki: 20 x 32 mm

Przykład

Do wykonania tego przykładu potrzebny będzie czujnik MQ-3 (Alkoholu), Arduino, płytka stykowa (Opcjonalnie).

Podłączenie

Na czujniku możemy dostrzec 4 oznaczenia na piach. Są to A0, D0, GND, VCC. Nas interesują tylko A0, GND, VCC. Oznaczone piny odpowiadają kolejno za wyprowadzanie danych (A0), podłączenie do masy (GND), zasilanie (VCC). Bez znaczenia jest to jak wepniemy to na Arduino, ważne aby oznaczenia się zgadzały. Pamiętajmy jednak, że A0 trzeba wpiąć pod wejście analogowe bo inaczej nie zadziała. Całość możemy podpiąć poprzez płytkę stykową ale nie jest to konieczne.

Program

Gdy czujnik jest już podłączony do Arduino, można przystąpić do pisania programu. Czujniki MQ do swojego podstawowego działania nie potrzebują żadnych bibliotek dlatego poza napisaniem programu nie trzeba nic robić.

#define sensor A0

Jest to definicja pinu, do którego podłączony jest czujnik.

void setup(){
Serial.begin(9600);
pinMode(sensor, INPUT);
} 


W funkcji void setup należy uwzględnić komunikację z portem szergowym (Serial.begin(9600)). Następnie należy uwzględnić nasz czujnik jako wejście aby wysyłał on dane do portu szeregowego. W tej funkcji do podstawowego działania czujnika nie będzie trzeba już nic pisać.

void loop()
{
  
  {
    float adcValue=0;
    adcValue+= analogRead(sensor);
    delay(10);

W funkcji void loop() należy sprawić aby nasz czujnik przeliczał dane, które wysyła na jednostkę którą znamy. W tym przypadku są to promile, ponieważ czujnik MQ-3 wykrywa Alkohol. Poniżej będzie zamieszczony przelicznik na PPM jakby ktoś chciał się bardziej w to zagłębić. Linijka, która zawiera frazę analogRead(sensor) pozwala odczytywać dane z czujnika, więc gdyby do Wejścia A0 podłączyć inny czujnik jego wartość również została by podana w promilach.

float v= (adcValue/10) * (5.0/1024.0);
    float mgL= 0.05 * v;
    

Te dwie linijki odpowiadają za przeliczanie wartości czujnika na promile. Wartości te można przeliczyć na wcześniej wspomniane PPM-y. Przelicznik to 1promil=1000ppm. Na tej podstawie tego przelicznika można sprawić aby na porcie szeregowym pojawiały się wartości w PPM.

Serial.print("pom. ");
    Serial.print(mgL,4);
    Serial.print(" mg/L        ");
    delay(1000);
 
}
}

Ostatnie linijki tego programu odpowiadają za wyświetlanie danych z czujnika w porcie szeregowym. Instrukcja Serial.print odpowiada za to aby te dane pojawiały się w porcie szeregowym.

Rezultat

Rezultatem tych działań powinny być wartości w promilach wyświetlane w porcie szeregowym.

Pliki do pobrania

Sticky
Możliwość komentowania Czujniki MQ została wyłączona

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.