a-Paul Rilevatore di Gas nocivi a basso costo fatto con Arduino

a-Paul Rilevatore di Gas nocivi a basso costo fatto con Arduino

Il progetto è nato con l’idea di realizzare un rilevatore di GAS nocivi a basso costo da tenere in casa, i gas rilevati sono i più comuni che si posso sviluppare in casa, Alcohol, Metano, GPL etc..  . Nello specifico il sensore che ho utilizzato è un MQ-2 in grado di rilevare i gas della tabella sottostante:

CO 200 ~ 10000 ppm
Alcohol 100 ~ 2000 ppm
CH4 5000 ~ 20000 ppm
Propane 200 ~ 5000 ppm
LPG 200 ~ 5000 ppm
Butane 3000 ~ 5000 ppm
Smoke 200 ~ 10000 ppm
H2 300 ~ 5000 ppm

Arduino è la scelta più logica visto il bassissimo costo. Lo step successivo era trovare un contenitore che fosse bello da tenere in casa. Per il momento ho trovato due soluzioni a basso costo. Una bella ma difficile da trovare e una un po’ meno bella ma economica e facile da trovare.

La soluzione 1 è una cassa per PC a forma di testa di Robot trovata in uno store Cinese. Ecco alcune foto della varie fasi di adattamento della cassa per PC.

Ecco come si presenta appena spacchettata:

Aperta per togliere il cavo audio, le casse e i led monocolore dagli occhi, adesso ne rimane solo l’involucro:

Inseriti i LED RGB negli occhi al posto di quelli monocolore e incollato il sensore di gas MQ-2 su uno dei supporti:

Rimosso uno dei quattro supporti per poter inserire agevolmente Arduno, fatti i vari collegamenti. Io ho fatto due buchi per  il cavo di alimentazione e il cavo usb, quello per lo spinotto USB si può tranquillamente non fare, basta inserire Arduino già programmato. Quello di alimentazione si può evitare anche perché nel fondo è presente il buco del cavo audio da dove si potrebbe far passare il cavo di alimentazione.

Ed ecco il progetto finito..

Due occhi verdi che lampeggiano fin tanto che nessun gas è rilevato, due occhi rossi e un fastidioso cicalino che suona se un gas è rilevato.

La seconda soluzione è l’uso di un semplice profumassero di ambiente di facile reperibilità di cui evito di scrivere la marca per problemi di Copyright, dalle foto però lo riconoscerete.

Tarato e collaudato ecco il filmato finale:

Lista materiale che serve con relativi prezzi:

01 Aruduino (dai 7 ai 25 euro dipende se originale o no il mio non è originale)
01 Buzzer (2 euro)
01 Sensore MQ-2 (circa 7 euro)
02 LED RGB o tre led di colore diverso  (1 Euro)
03 Resistenze da 220 (1 euro)
01 Alimentatore (5 euro)
Cavetti DUPONT (1 euro)
Contenitore (dipende da cosa usate)

Spesa totale circa da 25 Euro in sù

Ecco lo schema elettrico:

Codice:

// a-Paul ver. 1.0 by Paolo Tuttoilmondo

//IMPOSTAZIONE PIN
int buzzerPin = 7; // Pin Digitale 7 per il Buzzer
const int mq2Pin= 1; // Pin Analogico 1 per MQ-2
#define LEDR 8 // LED Rosso collegato al pin digitale 9
#define LEDG 9 // LED Verde collegato al pin digitale 10
#define LEDY 10 // LED Giallo collegato al pin digitale 11

//INIZIALIZZAZIONE SENSORI
int smoke_level; // Inizializzazione MQ-2 Sensore fumi
void setup(){
pinMode(LEDR, OUTPUT); // imposta il pin digitale come output
pinMode(LEDG, OUTPUT); // imposta il pin digitale come output
pinMode(LEDY, OUTPUT); // imposta il pin digitale come output
pinMode(buzzerPin,OUTPUT); // Impostazione Buzzer
pinMode(mq2Pin, INPUT); //the smoke sensor will be an input to the arduino
Serial.begin(9600); // For debugging
//digitalWrite(LEDY, HIGH);
//delay(20000);
}

void loop()
{
smoke_level= analogRead(mq2Pin); // Impostazione variabile MQ2
Serial.println(smoke_level); // Stampa sulla seriale il valore del gas per Dubug
if(smoke_level < 70){ // Cosa succede per valori di gas bassi inferiori a 100
digitalWrite(buzzerPin, LOW); // Spegne il cicalino
digitalWrite(LEDY, LOW);
digitalWrite(LEDR, LOW); // Spegne il LED Rosso
digitalWrite(LEDG, LOW); // Spegne il LED Verde
delay(1000); // Attesa 1 Sec
digitalWrite(LEDG, HIGH); // Accende il LED Verde
delay(1000); // Attesa
}
if(smoke_level > 70 && smoke_level < 100){ // Cosa succede per valori di gas bassi inferiori a 100
digitalWrite(buzzerPin, LOW); // Spegne il cicalino
digitalWrite(LEDG, LOW);
digitalWrite(LEDR, LOW); // Spegne il LED Rosso
digitalWrite(LEDY, LOW); // Spegne il LED Verde
delay(1000); // Attesa 1 Sec
digitalWrite(LEDY, HIGH); // Accende il LED Verde
delay(1000); // Attesa
}
if(smoke_level > 100){
digitalWrite(buzzerPin, HIGH);
digitalWrite(LEDG, LOW); // accende il LED
digitalWrite(LEDY, LOW);
digitalWrite(LEDR, HIGH); // accende il LED
}
}

Arduino stazione di analisi della qualità dell’aria

Questo vuole essere un progetto per realizzare una completa stazione di analisi dell’aria a basso costo. Il progetto è in continua evoluzione. In questa prima versione ho aggiunto sensori per controllare la temperature, l’umidità, l’inquinamento acustico e gas nocivi quali, metano, butano etc.. Ho aggiunto anche un modulo per avere date e ora.

Schema elettrico:

Codice:

// Stazione Analisi Aria ver. 1.0 by Paolo Tuttoilmondo

#include <dht11.h> //Libreria sensore temperatura e umidità
#include <LiquidCrystal_I2C.h> //Libreria display 16×2
#include <DS1302.h> //Libreria orologio

//VARIABILI
int IniTempVariable = 0; // Viaribile temperatura iniziale
int IniUmiVariable = 0; // Viaribile unidità iniziale
//int PostTempVariable = 0; // Viaribile temperatura per rilevare eventuali variazioni
//int PostUmiVariable = 0; // Viaribile umidità per rilevare eventuali variazioni
int Annuncio = 0; // Variabile per nascondere annuncio iniziale
int threshold = 500; // Variabile che imposta la soglia per il calcolo dell’inquinamento acustico
int volume; // Variabile volume per la sezione inquinamento acustico

//IMPOSTAZIONE PIN
int buzzerPin = 9; // Pin Digitale 9 per il Buzzer
const int sensorPin= 1; // Pin Analogico 1 per MQ-2
#define SCK_PIN 2 // Pin Digitale 2 per l’orologio SCK
#define IO_PIN 3 // Pin Digitale 3 per l’orologio I/O
#define RST_PIN 4 // Pin Digitale 4 per l’orologio RST
#define DHT11_PIN 7 // Pin Digitale 7 per il DHT-11 Temperaturà e Umidità

//INIZIALIZZAZIONE SENSORI
dht11 DHT11; // Inizializzazione DHT-11 Temperaturà e Umidità
LiquidCrystal_I2C lcd(0x27,16,2); // Inizializzazione Display
DS1302 rtc(RST_PIN, IO_PIN, SCK_PIN); // Inizializazione libreria orologgio
int smoke_level; // Inizializzazione MQ-2 Sensore fumi
void setup(){
lcd.init(); // Avvio lcd
pinMode(buzzerPin,OUTPUT); // Impostazione Buzzer
//Serial.begin(9600); // For debugging

// Configura Chip Orologgio
rtc.halt(false);
// Viene disattiva la protezione alla scrittura
rtc.writeProtect(false);
pinMode(sensorPin, INPUT);//the smoke sensor will be an input to the arduino
pinMode(buzzerPin, OUTPUT);//the buzzer serves an output in the circuit
}
lcd.backlight(); //Accensione Display
lcd.init();
lcd.setCursor(0,0);
lcd.print(“Analiz. Aria di”);
lcd.setCursor(0,1);
lcd.print(“P. Tuttoilmondo”);
delay(1000);
void loop()
{
//lcd.backlight(); //Accensione Display
delay(1000);
volume = analogRead(A0);
int chk = DHT11.read(DHT11_PIN);
smoke_level= analogRead(sensorPin);
if(smoke_level > 100){
digitalWrite(buzzerPin, HIGH);
}
if(smoke_level < 100){
digitalWrite(buzzerPin, LOW);
}

lcd.init();
lcd.setCursor(0,0);
lcd.print(rtc.getDOWStr());
lcd.setCursor(0,1);
lcd.print(rtc.getDateStr());
lcd.print(” “);
lcd.print(rtc.getTimeStr());
lcd.init();
lcd.setCursor(0,0);
lcd.print(“Temp. “);
lcd.print((char)223);
lcd.print(“C = “);
lcd.print(DHT11.temperature);
lcd.setCursor(0,1);
lcd.print(“Umidita’ % = “);
lcd.print(DHT11.humidity);
lcd.init();
lcd.setCursor(0,0);
lcd.print(“Rumore DB: “);
lcd.print(volume);
if(volume>=threshold){
lcd.setCursor(0,1);
lcd.print(“Inq. Acus. ALTO”);
}
else{
lcd.setCursor(0,1);
lcd.print(“Inq. Acus. BASSO”);
}
lcd.init();
if(smoke_level < 100){
lcd.setCursor(0,0);
lcd.print(“Livello Gas: “);
lcd.print(smoke_level);
lcd.setCursor(0,1);
lcd.print(“Nessun GAS”);
}
if(smoke_level > 100){
lcd.setCursor(0,0);
lcd.print(“Livello Gas: “);
lcd.print(smoke_level);
lcd.setCursor(0,1);
lcd.print(“Attenzione GAS”);
}
delay(2000);
}

Arduino semplice progetto temperatura e umidità

Lista della spesa:

01 Arduino
01 Sensore DHT-11 con elettronica
01 Display 1602 con seriale I2C
01 Breadboard e cavetti dupont (opzionali ma comodo averli)

Schama elettrico:

Codice:

#include <dht11.h>
#include <LiquidCrystal_I2C.h>

dht11 DHT11;

#define DHT11_PIN 7

LiquidCrystal_I2C lcd(0x27,16,2);

void setup(){
Serial.begin(9600);
lcd.init(); // initialize the lcd
}

void loop()
{
int chk = DHT11.read(DHT11_PIN);
Serial.print(“Temperature = “);
Serial.println(DHT11.temperature);
Serial.print(“Humidity = “);
Serial.println(DHT11.humidity);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print(“Temp. “);
lcd.print((char)223);
lcd.print(“C = “);
lcd.print(DHT11.temperature);
lcd.setCursor(0,1);
lcd.print(“Umidita’ % = “);
lcd.print(DHT11.humidity);
delay(1000);
}

Rassegna stampa

  • Articolo sul Gazzettino
  • Articolo sul Mattino
  • Radio belle e monella (Radio locale Padovana)
  • Radio Monte Carlo (Nazionale).
  • Trasmissione TV 7 alle 7 su TV7 (Tv del triveneto).


Clicca sulla figura per ascoltare l’intervista in podcast.

Clicca sull’immagine per andare al sito di TV7 e guardare l’intervista, devi selezionare la 7a parte.

Inganna la mente ha anche una pagina Facebook, clicca qui per accedere.

La mia auto

Ricordare le scadenze del tagliando, la Revisione, il Bollo Auto, la Patente di Guida e l’assicurazione non sarà più un problema !!
La mia auto è la prima applicazione Android per gestire il cambio gomme stagionali e le scadenze. Questa versione gratuita è limitata alla gestione di una sola auto e contiene dei banner pubblicitari. La versione PRO ha la gestione di più auto, moto etc..
Come si usa..

Dopo la scelta della lingua, questa è la prima schermata che si presenterà. Questa pagina è il cuore dell’App perchè in una sola videata racchiude tutte le informazioni essenziali da ricordare. Nella prima metà in alto quanto volte e quanti chilometri abbiamo fatto con le gomme estive e invernali. Nella seconda metà invece troviamo un riepilogo delle varie scadenze. La prima volta che avviamo l’App tutti i campi sono vuoti. Per iniziare a inserire i nostri dati sulle gomme basta toccare l’immagine azzurra con la scritta “Gomme Auto”, lo stesso per inserire le scadenze.

screenshot-1355466390636

Da questa schermata potrete inserire le vostre scadenze, per farlo basterà toccare il pulsante azzurro relativo alla scadenza. Toccato il pulsante comparirà una schermata con una facile scelta del giorno, mese e anno.

Toccando il pulsante “Back”, tornate alla prima schermata.

screen

Dopo la scelta del pulsante per inserire i dati sulle vostre gomme, questa sarà la prima schermata che vi si presenterà. Questa racchiude un riepilogo dettagliato sull’uso delle vostre gomme auto.Toccando il pulsante “Back”, tornate alla prima schermata.Toccando il pulsante a forma di ingranaggio accedete alla schermate della configurazione più avanti descritta.Toccando il pulsante “Inserisci dati”, accedete alla schermata per inserire i dati sulle vostre gomme.

screenshot-1355076707420#1

La prima volta che accedete a questa schermata la troverete vuota come quella della figura a sinistra. Sarete in due possibili situazione:La prima è che avete appena acquistato l’auto. Questa monta sicuramente gomme estive o all season. Nel campo “Ins. Numero utilizzi” scrivere il valore 1 (significa che è la prima volta che si utilizzano questi pneumatici), poi nel campo “Km iniziali” scrivere il valore 1 (non mettere lo 0 perché non viene gestito) e toccate il pulsante “Salva “.Toccate quindi il pulsante “Data acquisto” e inserite la data.Avete finito e potete toccare il pulsante “Riepilogo Dati”.L’applicazione tornerà alla figura del riepilogo e vi mostrerà sulle sezione gomme estive, la data di acquisto e il numero 1 sulle volte usate, nessun conteggio chilometrico verrà mostrato.Quando l’inverno inizia e togli le gomme estive per quelle invernali, nel campo “Km finali” sempre della sezione “Gomme Estive” scriverai i chilometri che leggi nel conta chilometri (al momento del cambio gomme) e selezionarai il pulsante “Salva”.L’applicazione calcola i chilometri percorsi. Compilerà quindi il campo “Km percorsi” con il valore dei chilometri che hai fatto con questa prima volta che hai usato le gomme estive e con lo stesso valore anche il campo “Km Tot.:” (che solo per questa prima volta che hai usato le gomme estive), coincidono.In automatico compilerà con il valore 1 il campo “Numero utilizzi” della sezione invernale e di conseguenza anche il campo “Km iniziali”, che coincidono con i chilometri finali delle gomme estive.Toccate quindi il pulsante “Data acquisto” della sezione invernale e inserite la data.Avete finito e potete toccare il pulsante “Riepilogo Dati”.L’applicazione tornerà alla figura del riepilogo e vi mostrerà sulle sezione gomme estive, la data di acquisto, sempre il numero 1 sulle volte usate, quanti chilometri avete fatto, il numero 1 anche sulle volte usate delle gomme invernali e la relativa data di acquisto.Quando sarà ora di togliere le gomme invernali per quelle estive inserirete il valore dei chilometri che leggete nel conta chilometri, nel campo “Km finali” delle “Gomme Invernali”.L’App come ha fatto per le gomme estive, vi mosterà quanti chilometri avete fatto.Compilerà in automatico il campo “Numero utilizzi” delle “Gomme Estive” con il valore 2 e sempre in automatico compilerà anche il campo “Km iniziali” sempre delle “Gomme Estive” con il valore dei chilometri finali delle gomme invernali.Avete finito e potete toccare il pulsante “Riepilogo Dati”.Per i futuri inserimenti seguite le stesse regole.ALCUNE REGOLE IMPORTANTI !Se avete avete già da tempo la vostra, sapete i dati di acquisto e i vari chilometri fatti con le vostre gomme e volete in un’unica soluzione inserire tutti questi dati, non potete. Dovete cronologicamente seguire le istruzioni sopra riportate simulando i vari inserimenti. Questa App è molto automatizzata nei calcoli e richiede il solo l’inserimento dei chilometri che leggete ad ogni cambio gomme.

screenshot-1356781294514

Questa è la schermata di configurazione a cui si accede toccando il pulsante con il simbolo dell’ingranaggio.Da questa schermata potete mandarmi una mail toccando l’apposito bottone, avere delle info su questa App sempre toccando il relativo bottone.Potete azzerare i valori delle Gomme Estive e Invernali toccando i due relativi bottoni, questi bottoni non eseguono alcun reset sul valore delle scadenze. Consiglio, prima di iniziare ad usare questa App, di eseguire un reset dei valori invernali ed estivi.

Inganna la mente

Inganna la mente è nata a Settembre 2012, mentre navigavo in internet mi sono imbattuto in un sito di illusioni ottiche. Sono rimasto molto sorpreso è ho pensato che forse un App su questo argomento poteva piacere. Ho cercato sul market android e con mia grande sorpresa non ho trovato nulla di rilevante. C’erano diverse App sulle illusioni ottiche, ma tutte mono argomento, una che raccogliesse tutti i vari tipi di illusione non esisteva. Quando ho deciso di realizzarla mai avrei pensato al successo che ne sarebbe venuto. L’ho pubblicata i primi di Novembre e in solo tre settimane è diventata con i quasi 400.000 download, per 11 giorni, il gioco gratuito Android più scaricato al mondo e per ben tre giorni la terza applicazione più scaricata al mondo tra Facebook e skype. Un successo impossibile per un privato cittadino, i primi posti sono sempre riservati a grandi aziende che investano milioni nello sviluppo delle App. Nei mesi successivi è quasi arrivata al milione di download.

Un risultato da non crederci !!!

Per tre settimane al primo posto tra i giochi più scaricati al monto sul Google Market android e per tre giorni al terzo posto sempre mondiale tra le applicazione più scaricate (Tra Facebook e Skype).

E’ arrivato anche un successo mediatico inaspettato, ecco cronologicamente le varie interviste.
Rassegna stampa..
  • Articolo sul Gazzettino
  • Articolo sul Mattino
  • Radio belle e monella (Radio locale Padovana)
  • Radio Monte Carlo (Nazionale).
  • Trasmissione TV 7 alle 7 su TV7 (Tv del triveneto).

Clicca sulla figura per ascoltare l’intervista in podcast.

Clicca sull’immagine per andare al sito di TV7 e guardare l’intervista, devi selezionare la 7a parte.

Inganna la mente ha anche una pagina Facebook, clicca su Mi Piace per accedere.

Bacchiglione

Bacchiglione è una delle mie prime App nata nel Novembre 2010, data della famosa alluvione in veneto. Come molte mie App è nata dall’esigenza personale di avere sotto controllo il livello del tanto temuto fiume Bacchiglione. Nel 2010 abitavo a 5 mt. dal fiume e la paura era grande, tanta da farmi cambiare casa. Adesso abito a diversi chilometri dal fiume, ma continuo a curare questa importante e utile App. Con questa App si possono vedere le due webcam puntate sul fiume, ma soprattutto si possono controllare in tempo reale i livelli idrometrici dei punti critici, di contorno le previsioni del tempo Arpav e le news del comune di Vicenza.

Anche questa App è stata riconosciuta di grande importanza da un’importante giornale locale che ha pubblicato un articolo: