Lekcja 12: Czujesz to? - czujnik dymu i gazów.
        W tej lekcji zajmiemy się czujnikiem MQ-2, którym można dokonać detekcji różnorakich gazów łatwopalnych i dymu.  
        Czujnik sprzedawany jest również z podstawką montażową co ułatwia jego podłączenie. Oczywiście można również zakupić wersję bez 
        podstawki ale wtedy musimy sami zadbać o właściwe lutowanie końcówek do płytki.
        
        Specyfikacja czujnika poniżej:  
        
                    
  |  
                   | 
                   | 
            
            Czujnik wykrywa stężenie palnych gazów w powietrzu lub dym a wynik można uzyskać z pomiaru 
            napięcia na wyjściu analogowym, które podłączamy bezpośrednio do Arduino. 
            Czujnik MQ-2 wykrywa m.in. stężenia metanu CH4, propanu C3H8, 
            LPG (mieszanina propanu C3H8 i butanu C4H10), 
            wodoru H2, tlenku węgla CO i alkoholu C2H5OH oraz CH3OH. Charakterystyka czułości dla poszczególnych gazów poniżej.
        
  
            
        Zasada działania czujnika
            opiera się na zmianie jego przewodności w zależności od liczby cząstek w powietrzu. Budowa opiera sie na detekcji za pomocą dwutlenku cyny SnO2,
            który ma najmniejszą przewodność w czystym powietrzu. 
            
            Łączymy układ wg schematu:            
        
 
        Kod:
         int wartoscAnalog = 0;
         byte wartoscZmapowana = 0;        
         char info[96];  
        void setup() {
            Serial.begin(9600); 
            } 
        void loop() {
            wartoscAnalog = analogRead(A0);
            wartoscZmapowana = map(wartoscAnalog, 0, 1023, 0, 100);
            sprintf(info, "MQ-2: %d (%d)", wartoscAnalog, wartoscZmapowana);
            if (wartoscZmapowana > 20) {
                Serial.print(info);
                Serial.println(F(" UWAGA! WYKRYTO GAZ LUB DYM "));
                }
            else {
                Serial.println(info);
                }
            delay(1000);
            }
       
       
           W linii 1 deklarujemy wartoscAnalog, która będzie przechowywać 
           wartość napięcia z wyjścia analogowego (zakres 0 - 1023).
           W linii 2 deklarujemy wartoscZmapowana, która będzie przeliczoną wartością 
           zmiennej wartoscAnalog w zakresie od 0 do 100 (można użyć później jako 
           procenty). Metodę mapowania opisaliśmy w poprzedniej lekcji.
           W linii 3 deklarujemy zmienną typu char przechowującą tekst o długości 96 znaków. 
           W linii 5 ustalamy prędkość przesyłania informacji portem szeregowym na 9600 bitów na sekundę. 
           W linii 8 zczytujemy z analogowego pinu  A0 wartość do zmiennej wartoscAnalog.
           W linii 9 mapujemy wartoscAnalog na wartoscZmapowana do zakresu od 0 do 100.
           W linii 10 tworzony jest kompunikat przechowywany w zmiennej info a zawierający
           tekst MQ-2: z dopisanymi wartościami wartoscAnalog oraz wartoscZmapowana. 
           W linii 11 mamy funkcję if, która sprawdza czy wartość zmiennej wartoscZmapowana
           przekroczyła dopuszczalny poziom (tutaj 20) i jeśli to prawda, to zostają wyświetlone komunikaty
           wygenerowane w linii 10 oraz dodatkowo komunikat z linii 13 ostrzegający o zagrożeniu. Jeśli zaś wartoscZampowana
           nie przekroczy dopuszczalnego poziomu, zostanie wypisany tylko komunikat z linii 10.
           W linii 18 przerywamy pomiary na 1 sekundę.
           
           Teraz możemy sprawdzić nasz program. Hym, poprośmy dorosłego o zapalenie papierosa i dmuchnięcie
           w stronę czujnika...
       
 
              
         Powrót do spisu materiałów






