Visualizzazione post con etichetta Arduino. Mostra tutti i post
Visualizzazione post con etichetta Arduino. Mostra tutti i post

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:


martedì 19 luglio 2016

LED RGB







I led RGB sono dei led capaci di emettere tre colori ( Red, Green, Blue) sono dotati di 4 piedini ed a seconda del tipo di led abbiamo:
RGB AD ANODO COMUNE ( Un anodo e 3 catodi);
RGB A CATODO COMUNE ( Un catodo e 3 anodi).
In base all'intensità dei tre colori abbiamo una luce di diverso colore.


domenica 17 luglio 2016

SPIEGAZIONE SKETCH BLINK

Abbiamo visto come far lampeggiare un LED tramite lo sketch blink, ora vediamo la spiegazione del programma.

void setup()
  pinMode(13, OUTPUT);// dichiariamo che il Pin 13 è un output
}


void loop() {
  digitalWrite(13, HIGH); //facciamo accendere il LED sul Pin 13
  delay(1000);              // aspettiamo 1 secondo ( la grandezza è espressa in millisecondi)
  digitalWrite(13, LOW);    // facciamo spengere il LED
  delay(1000);              //  aspettiamo un secondo
}

P.S in questo post do per scontato che si conosca l'IDE di Arduino. se non conoscete queste funzioni potete visitare il post specifico sull'IDE cliccando QUI.

IDE ARDUINO

Per programmare Arduino abbiamo bisogno di un'applicazione chiamata IDE.
Nella schermata dell'IDE troviamo in alto la barra applicazioni, scendendo troviamo il tasto verifica con cui possiamo vedere se ci sono errori grammaticali o di caricamento sulla scheda, spostandoci verso destra troviamo il tasto carica mediante il quale è possibile caricare il programma da noi scritto sulla scheda, continuando ad andare verso destra troviamo il tasto per aprire un nuovo file, poi troviamo il tasto per aprire un esempio e quello per salvare il programma. Entrando nell'ambiente di sviluppo troviamo il nome dello sketch e poi entriamo nel vivo dell'applicazione trovando il VOID SETUP nel quale impostiamo tutte le funzioni che Arduino deve eseguire solo quando si attiva il programma mentre, nel VOID LOOP impostiamo le funzioni che Arduino deve ripetere in maniera ciclica, dalla prima all'ultima in ordine cronologico.

BLINK LED

La prima applicazione che possiamo fare con Arduino è il lampeggio di un LED. Per questo progetto abbiamo bisogno di:

  • Arduino;







  • LED;






  • Cavo USB.







Una volta collegata la nostra scheda al PC, passiamo ad inserire il led su Arduino posizionando l'anodo sul Pin 13 ed il catodo sul Pin GND.
Ora apriamo l'IDE di arduino ed andiamo su File>Esempi>Basic>Blink.


E poi andiamo sulla freccia in alto per caricare lo sketch sulla nostra scheda.

A questo punto vedremo il LED lampeggiare.
                                                                                                                                                   
                                                                                                                                                     ph. A.A.






sabato 16 luglio 2016

DIODO LED

Il LED è l'acronimo di Light Emitting Diode, è quindi un diodo che emette luce. Il LED è un componente elettronico polarizzato, ciò vuol dire che ha un positivo ed un negativo, il positivo è chiamato anodo mentre il negativo catodo. Per riconoscere l'anodo ed il catodo bisogna guardare le parte piatta del LED.

PRIMI PASSI ARDUINO

ARDUINO
Arduino è una piattaforma hardware low-cost, con il quale è possibile realizzare circuiti elettronici quasi di ogni tipo sia dal far lampeggiare un semplice led, a comandare un robot, fino a creare applicazioni per la domotica. E' basato su un microcontrollore prodotto dall'ATMEL l' ATmega.


PROGRAMMAZIONE
La programmazione di Arduino avviene tramite l'IDE scaricabile dal sito arduino.cc . I linguaggi di programmazione con cui è possibile programmare arduino sono il C ed il C++.


INPUT/OUTPUT (I/O)
Arduino interagisce con l'esterno mediante dei pin che gli consentono di gestire le funzionalità richieste dal programma.


FUNZIONI PIN PRINCIPALI
  1. Vin - PIN input corrente per alimentazione controller
  2. GND - massa
  3. PIN 3.3V - uscita corrente a 3.3V
  4. PIN 5V - uscita corrente a 5V
  5. RESET - Questo è un PIN digitale. Se la lettura di questo PIN=HIGH il controller si resetta
  6. Analog in - PIN input analogici. Possono percepire una corrente DC tra 0 e 5V, resistuendo un valore da 0 a 1023.
  7. AREF - regola il voltaggio di massima risoluzione degli input analogici
  8. PWM - pin per la regolazione analogica PWM
  9. TX - ricezione porta seriale
  10. RX - trasmissione porta seriale
  11. Digital - PIN digitali programmabili per essere input o output, percepiscono se è presente tensione; restituendo LOW se non c'è tensione e HIGH se c'è. Possono essere programmati per generare corrente in output di massimo 40mA.


SHIELDS
Gli shields di Arduino servono ad ampliare le funzionalità della scheda.


shields ethernet