Dopo lo scorso 24 agosto 2016 ho
pensato a come poter avvertire un terremoto. Partendo dal presupposto
che questi eventi non possono essere prevenuti, ho cercato in
internet una sorta di allarme che rileva i movimenti della terra e
che possa mettere in allerta, e magari svegliare durante la notte. Per
questo progetto abbiamo bisogno di:
- Arduino;
- Buzzer;
- Breadbord;
- Tilt switch;
- Resistenza 1k ohm;
- Cavetteria.
Vediamo come collegare tutto:
Vediamo ora lo sketch:
#define
TILT_SWITCH_PIN A0
#define BUZZER_PIN 10
#define MAX 100
int tiltValue = 0;
int previousTiltValue = 0;
int valueThreshold = 5;
int timeThreshold = 2 ;
int time = 0;
void setup()
{
pinMode(BUZZER_PIN, OUTPUT);
}
void loop()
{
tiltValue = analogRead(TILT_SWITCH_PIN);
if(abs(tiltValue - previousTiltValue) >= valueThreshold)
{
time = time + 1;
}
else
{
reset();
}
if(time >= timeThreshold)
{
analogWrite(BUZZER_PIN, MAX);
delay(500);
reset();
}
previousTiltValue = tiltValue;
delay(500);
}
void reset()
{
time = 0;
previousTiltValue = 0;
analogWrite(BUZZER_PIN, 0);
}
#define BUZZER_PIN 10
#define MAX 100
int tiltValue = 0;
int previousTiltValue = 0;
int valueThreshold = 5;
int timeThreshold = 2 ;
int time = 0;
void setup()
{
pinMode(BUZZER_PIN, OUTPUT);
}
void loop()
{
tiltValue = analogRead(TILT_SWITCH_PIN);
if(abs(tiltValue - previousTiltValue) >= valueThreshold)
{
time = time + 1;
}
else
{
reset();
}
if(time >= timeThreshold)
{
analogWrite(BUZZER_PIN, MAX);
delay(500);
reset();
}
previousTiltValue = tiltValue;
delay(500);
}
void reset()
{
time = 0;
previousTiltValue = 0;
analogWrite(BUZZER_PIN, 0);
}
P.S Questo progetto è stato preso dalla pagina http://www.instructables.com/id/Earthquake-warning-device/.
Nessun commento:
Posta un commento