martedì 30 agosto 2016

Allarme per terremoto

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


P.S Questo progetto è stato preso dalla pagina http://www.instructables.com/id/Earthquake-warning-device/.

giovedì 4 agosto 2016

OROLOGIO SENZA RTC

Oggi vedremo come fare un orologio con Arduino senza il bisogno di comprare componenti esterni, avremo bisogno solo del nostro Arduino. Vediamo ora lo sketch:
#include <Time.h>
void setup() {
//init Seriale
Serial.begin(9600);
delay(100);
//imposto l'ora e la data
//ora 19:10
//data 04/08/2016
setTime(19,10,00,04,08,2016);
}
void loop() {
//leggo l'ora e la data
//e la spedisco sul serial monitor
Serial.print("Tempo= ");
Serial.print(hour());
Serial.print(":");
Serial.print(minute());
Serial.print(":");
Serial.print(second());
Serial.println("");
Serial.print("Data= ");
Serial.print(day());
Serial.print("/");
Serial.print(month());
Serial.print("/");
Serial.print(year());
Serial.println("");
//esegui ogni secondo
delay(1000);
}

ora apriamo il monitor seriale e possiamo vedere come il nostro Arduino segnerà l'ora e la data.