To boldly go where no one has gone before

Categoria: Hobbys (Pagina 2 di 2)

Il mio Hobby più importante è il Sub è iniziato nel 2003 e adesso sono Istruttore PADI. Su questo sito trovate tanto materiale e informazioni.

L’aeronautica voleva essere un lavoro ma il vile denaro non l’ha permesso. E’ stato un hobby ed è diventato un ricordo. Sempre in questo sito trovate tante vecchie foto.

Anche l’acquariologia mi ha accompaganto per tanti anni, ho ceduto per il troppo impegno richiesto. Anche per questa ho creato una pagina con le foto dei miei vecchi acquari.

Le moto. A 14 anni ho iniziato con il Si della Piaggio, nella pagine delle mie moto tutte l’elenco e le foto.

Il modellismo dinamico. Ho iniziato con le auto a scoppio per poi passare alle elettriche.

Di recente mi sono appassionato all’argomento Arduino ed ho realizzato già diversi progetti, accedi alla sezione Arduino.

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);
}

Articoli più recenti »

© 2026 Paolo Tuttoilmondo

Tema di Anders NorenSu ↑