Mercatino online
Electronic.it
  Schemi     
 

Versioni

Top - Siti web
Ricerca caratteristiche BJT (IT)
Schemi elettrici (IT)
Il sito di Filippo Rubin (IT)
Electronic Center (IT)
Eagle CAD (IT)
Circad (IT)
FidoCAD (IT)
Michele Guerra (IT)
Alberto Ricci Bitti (IT)
La pagina di Celsius (IT)
Fulvio Ricciardi (IT)
Vincenzo Villa (IT)

 
Sensore di GAS con Arduino
Inserito il 12 ottobre 2014 alle 14:59:34 da elparadise.

Sensore di GAS con Arduino

Realizzare un sensore di gas con Arduino è veramente una cosa molto semplice, così come molti altri schemi. Arduino infatti costituisce da solo una base perfetta per la costruzione di innumerevoli circuiti, dai più semplici ai più complicati. Disponendo di un valido sistema di sviluppo e di numerose porte I/O sia analogiche che digitali, Arduino permette di sviluppare in pochissimo tempo.

Per il circuito sensore di gas si è pensato di utilizzare il sensore MQ2, a basso costo ed in grado di reagire a butano, propano, metano ,alcool, idrogeno, fumo. Un trimmer, un led ed un micro buzzer a 5v completano il circuito.

Il sensore MQ2 si presenta dotato di 6 terminali. Due di essi riguardano il riscaldatore (H) gli altri 4 rappresentano gli elementi sensori veri e propri e sono interscambiabili. Il circuito di alimentazione e raccolta del segnale è molto semplice. Al riscaldatore va applicata una tensione di 5V con un assorbimento di circa 150mA. Una parte (o A o B) va collegata anch’essa a 5V mentre dal sensore d’uscita verrà prelevata la tensione che indica il grado di concentrazione del gas rilevato. Maggiore sarà la concentrazione del gas e maggiore sarà la tensione d’uscita. In parallelo all’uscita è presente un trimmer da 47K che permetterà di controllare e fissare la sensibilità dello strumento.

Come ingresso analogico verrà utilizzato A0 su Arduino, mentre per l’uscita digitale che comanderà il buzzer si è scelta la 2. Per il led lampeggiante la 13.

Lo sketch è di seguito riportato:

long previousMillis=0;
const int ledPin = 13;
const int Buzzer = 2;
int ledState = LOW;
// Indica il valore della tensione di alimentazione
float Vcc=5;

void setup() {
  // inizializza la seriale
  Serial.begin(9600);
  // inizializza le due uscite digitali
  pinMode(Buzzer, OUTPUT);
  pinMode(ledPin, OUTPUT);
  // Porta a LOW il led
  digitalWrite(ledPin, LOW);
}

void loop() {
  // Memorizza nella variabile current Millis il valore del timer
  unsigned long currentMillis = millis();
  float vol;
  // Legge il valore di tensione dal sensore MQ2
  float sensorValue = analogRead(A0);
  // Aggiusta il valore della lettura secondo la tensione di alimentazione
  vol=sensorValue/1024*Vcc;
  // Invia alla seriale il valore ottenuto, utile per debugging
  Serial.println(vol,2);
  // Se la lettura > della tensione di alimentazione/2 allora allarme!
  if (vol>(Vcc/2)) {
    digitalWrite(Buzzer, HIGH);
    delay(100);
    digitalWrite(Buzzer, LOW);
    // Ritardo che diminuisce all'aumentare della concentrazione rilevata.
Il beep diventa più veloce
    delay((5-vol)*150);
  }
  // Fa lampeggiare il led 1 volta circa ogni secondo
  else if (currentMillis - previousMillis > 1000) {
    previousMillis = currentMillis;
    // se il LED è sento lo accende e viceversa

    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;
    // set the LED with the ledState of the variable:
    digitalWrite(ledPin, ledState);
  }
}

Il programma permette di accendere il buzzer e fargli fare un breve beep ogni volta che la la concentrazione del gas rilevato dal sensore supera una certa soglia. Tale soglia è impostata come Vcc/2 ma potete sperimentare anche valori diversi, tenendo conto che in ogni caso con il trimmer si andrà ad influenzare la sensibilità del sensore e conseguentemente anche la sua tensione di uscita. Tale beep diventa più veloce più è alta la concentrazione, dando così un’idea grossolana della quantità di gas rilevata.

Una volta acceso il tutto il sensore necessita di qualche minuto per stabilizzarsi. Lasciato passare questo tempo si agisce sul trimmer in modo da zittire il buzzer (o farlo suonare se gà era muto). Si deve trovare in pratica quella posizione che zittisce il buzzer da una situazione di sonorità. Più tale posizione è vicina a quella dove il buzzer inizia a suonare più è elevata la sensibilità del circuito, ma anche la sua instabilità. Dopo un po’ di prove troverete certamente la posizione adatta ai vostri scopi.

Buon divertimento.

mq2 arduino


 
Log in
Login
Password
Memorizza i tuoi dati:


Visitatori
Visitatori Correnti : 4
Membri : 0

Per visualizzare la lista degli utenti collegati alla community e per aggiungere commenti agli schemi, devi essere un utente registrato.
Iscriviti

Iscritti
 Utenti: 41
Ultimo iscritto : ldegasperis
Lista iscritti

Ebay

 
  Giulio Bottini 2000-2011 
Contattami

Realizzato con ASP-Nuke 2.0.7
Questa pagina stata eseguita in 0,046875secondi.
Versione stampabile Versione stampabile