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.

domenica 31 luglio 2016

SCRIVERE SU UN LCD

Oggi vediamo come scrivere su un display LCD ( liquid crystal display), per questo progetto userò un LCD 16x2 ciò significa che il display ha 16 caratteri in orizzontale e 2 in verticale.
Per questo progetto abbiamo bisogno di:
  • Arduino;
  • LCD;

  • Potenziometro;
  • Cavetteria.
Vediamo ora come collegare il nostro LCD ad Arduino.

Passiamo ora a vedere lo sketch:

#include <LiquidCrystal.h> // includiamo nello sketch la libreria LiquidCrystal

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
lcd.begin(16, 2);// impostiamo il numero di caratteri e colonne del nostro LCD
lcd.print("hello, world!!");// scriviamo il messaggio
}

void loop() {
lcd.setCursor(0, 1);// impostiamo il cursore sulla colonna 0 e la riga 1
lcd.print(millis() / 1000);// scriviamo quanti secondi sono passati dall'avvio

}

venerdì 29 luglio 2016

ALLARME LASER CON ARDUINO

Dopo aver visto cos'è una fotoresistenza, vediamo come è possibile creare un semplice allarme laser con essa. I componenti di cui abbiamo bisogno per questo progetto sono:
  • Arduino;

  • Breadboard;

  • Laser;

  • fotoresistenza;

  • Resistenza 10 ohm;

  • LED;

  • Buzzer;

  • Cavetteria.

Il progetto è molto semplice, faremo in modo che il laser punti dritto sulla fotoresistenza, e quando la fotoresistenza non riceverà più il segnale manderà un impulso ad Arduino che farà partire un Buzzer ed un LED. Vediamo come fare i collegamenti:


Ed ora vediamo lo sketch:
int led=13;
int buzz=10;

void setup () {
pinMode (led, OUTPUT);
pinMode (buzz, OUTPUT);
}

void loop () {
int sensore=analogRead (A0);
if (sensore<150)
digitalWrite (led, HIGH);
digitalWrite (buzz, HIGH);
else
digitalWrite (led, LOW);
digitalWrite (buzz,LOW);
}
Passiamo ora alla spiegazione dello sketch:
int led=13;
int buzz=10;

In queste prime due righe impostiamo i PIN in cui verranno inseriti il LED ed il buzzer.

void setup () {
pinMode (led, OUTPUT);
pinMode (buzz, OUTPUT);
}

Nel setup dichiariamo che il LED ed il buzzer sono due output.

void loop () {
int sensore=analogRead (A0);
Dichiariamo che Arduino deve leggere i segnali che gli vengono mandati sul PIN A0.

if (sensore<150)
digitalWrite (led, HIGH);
digitalWrite (buzz, HIGH);

Impostiamo che se il sensore legge un valore inferiore a 150 fa accendere il LED e suonare il buzzer.

else
digitalWrite (led, LOW);
digitalWrite (buzz,LOW);

}

sabato 23 luglio 2016

COS'E' UNA FOTORESISTENZA

Le fotoresistenze si comportano come dei comuni resistori, con l'unica differenza che variano il loro valore a seconda della luce che li colpisce. Questa caratteristica è molto interessante in quanto mediante queste particolari resistenze si possono creare una sorta di potenziometri dai molteplici utilizzi. Le foto resistenze sono applicate nei crepuscolari ( circuiti con i quali si possono far accendere una o più luci al calare del sole), possono essere usate come sensori di luminosità, addirittura mediante una fotoresistenza si può creare un allarme laser.

venerdì 22 luglio 2016

Comandare un sensore PIR

I sensori PIR (Passive InfraRed) sono dei sensori ad infrarossi, utilizzati come rilevatori di movimento, questi sensori sono molto usati nei locali come ristoranti, negozi di abbigliamento. Questo sensore rileva la variazione di temperatura che lui stesso aveva impostato come normale.
Il primo progetto che andremo a vedere è molto semplice, andremo a vedere come far accendere una lampadina quando si rileva un movimento, per questo progetto ci occorre:
  1. Arduino;
  2. Breadbord;
  3. LED;
  4. Sensore PIR;
  5. Cavetteria.
Per prima cosa vediamo come è fatto un sensore PIR:

Partendo dall'alto abbiamo:
  • 3 PIN, positivo (VCC), l'uscita che manda il segnale alla nostra scheda ( OUT 3.3 TTL), ed infine abbiamo il negativo ( GND);
  • 2 Encoder che ci permettono di modificare il tempo in cui legge il segnale e l'altro la distanza dei raggi infrarossi.
Passiamo ora a vedere come collegare il nostro sensore ad Arduino:

Come potete vedere i collegamenti sono molto semplici, colleghiamo il VCC ai 5V di Arduino, il segnale al PIN 2 ed il negativo del sensore al negativo di Arduino. I collegamenti del LED sono quelli che abbiamo già visto.
Ora vediamo come far funzionare il tutto:

int Led = 13;
const int PIR = 2;
int statosensore = 0;

void setup() {
pinMode ( Led,OUTPUT);
pinMode ( PIR, INPUT);

}

void loop() {
statosensore= digitalRead(2);
if (statosensore== LOW) digitalWrite(Led,HIGH);
delay(100);

}


Se invece vogliamo creare un allarme al posto del LED possiamo mettere un piccolo buzzer che quando riceverà il segnale emetterà un suono.

giovedì 21 luglio 2016

COMANDARE UN LED RGB

Dopo la teoria sul LED RGB passiamo a vedere come possiamo comandare un RGB tramite il nostro Arduino.
Per questo progetto abbiamo bisogno di:
Arduino;




Breadboard;



3 resistenze da 220 Ohm;


LED RGB;


Cavetteria.

SKETCH:

const int VERDE = 9;
const int BLU = 10;
const int ROSSO = 11;

const int delayTime = 20;
void setup() {
  pinMode(VERDE, OUTPUT);
  pinMode(BLU, OUTPUT);
  pinMode(ROSSO, OUTPUT);

  digitalWrite(VERDE, HIGH);
  digitalWrite(BLU, HIGH);
  digitalWrite(ROSSO, HIGH);
}
 
int ValVerde;
  void loop() {
  ValVerde = 255;
  for( int i = 0 ; i < 255 ; i += 1 ){
  ValVerde -= 1;
  analogWrite( VERDE, 255 - ValVerde );
  delay( delayTime );
  }
}

I collegamenti di questo progetto sono molto semplici, basterà collegare il catodo al negativo e gli altri PIN ad una resistenza e poi al nostro arduino. vediamo in figura come vanno effettuati questi collegamenti: