Sensore gas mq-2 mq-5

Share

Ecco un esempio di codice per Arduino utilizzando i sensori di gas MQ-2 e MQ-5:

// Definizione dei pin di collegamento dei sensori
const int mq2Pin = A0;
const int mq5Pin = A1;

// Definizione delle costanti di calibrazione per i sensori (da impostare in base ai dati specifici dei sensori)
const float mq2Ro = 10.0;
const float mq5Ro = 5.0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  // Lettura dei valori analogici dai sensori
  int mq2Value = analogRead(mq2Pin);
  int mq5Value = analogRead(mq5Pin);

  // Calcolo delle resistenze dei sensori
  float mq2Rs = (1023.0 - mq2Value) * mq2Ro / mq2Value;
  float mq5Rs = (1023.0 - mq5Value) * mq5Ro / mq5Value;

  // Calcolo delle concentrazioni di gas in base alle curve di calibrazione dei sensori (da impostare in base ai dati specifici dei sensori)
  float mq2PPM = pow(10, ((log10(mq2Rs / mq2Ro) - 1.027) / -0.262));
  float mq5PPM = pow(10, ((log10(mq5Rs / mq5Ro) - 2.022) / -0.444));

  // Stampa dei valori delle concentrazioni di gas
  Serial.print("MQ-2: ");
  Serial.print(mq2PPM);
  Serial.print(" ppm\t");

  Serial.print("MQ-5: ");
  Serial.print(mq5PPM);
  Serial.println(" ppm");

  delay(1000); // Attendi 1 secondo prima di effettuare una nuova lettura
}

Assicurati di aver collegato correttamente i pin dei sensori MQ-2 e MQ-5 all’Arduino e di aver impostato le costanti di calibrazione (mq2Ro e mq5Ro) e le curve di calibrazione (i valori all’interno della funzione pow()) in base ai dati specifici dei tuoi sensori. Puoi trovare queste informazioni nel datasheet dei sensori o attraverso test sperimentali.

Questo codice legge i valori analogici dai pin dei sensori, calcola le resistenze dei sensori e quindi le concentrazioni di gas in parti per milione (ppm) utilizzando le curve di calibrazione specificate. I valori delle concentrazioni di gas vengono quindi stampati sulla porta seriale ogni secondo.