imparagratis
keyboard_arrow_right
Arduino

Arduino

Cos’è Arduino?

Arduino è un hardware che permette, agli appassionati di elettronica, ma anche ai professionisti, di realizzare sistemi di automazione e di robotica, il tutto in modo semplice, aperto, e programmabile, ed ancora, a bassissimo costo.

Arduino quindi è un piccolo computer, programmabile in linguaggio Wiring, simile al linguaggio C, al quale possiamo collegare sistemi di input e di output.

Ad esempio possiamo collegarci un sensore di prossimità (PIR) ed una lampadina, collegata ad un relè, e tramite un programma che scriveremo noi stessi in Wiring, potremo dire ad Arduino di accendere la luce quando passiamo davanti al sensore di prossimità, oppure possiamo aggiungere un sensore di luminosità, in modo che possiamo programmare Arduino per dirgli di accendere la luce quando passiamo davanti al sensore di prossimità, ma solo se la stanza è buia o quasi.

Nella mia esperienza di utente generico (non sono nè professore, nè programmatore nè ho studiato elettronica), ho imparato che ci sono molti programmatori che amano Arduino, ma non conoscono nulla di elettronica, e viceversa ci sono molti esperti di elettronica che non sanno usare i linguaggi di programmazione.

Questo frena un po’ l’uso di questo straordinario strumento. Per questo motivo, per fortuna, ci sono migliaia di tutorial scritti e video, che permettono ad entrambe le figure di cimentarsi con Arduino e di creare progetti dai più semplici a quelli complessi.

Con Arduino possiamo realizzare dal semplice progetto della lampadina che si accende al passaggio delle persone, fino ad esempio al robot che si muove autonomamente per casa, evitando ostacoli, rilevando posizione GPS, e tanto altro ancora. Tutto dipende dalla nostra fantasia.

Il sito ufficiale di Arduino, il cui progetto è stato realizzato dal professor Massimo Banzi insieme ad altri collaboratori, è all’indirizzo https://www.arduino.cc/

Come ho detto, non sono nè programmatore nè esperto elettronico, ma ho comunque realizzato diversi video tutorial (alcuni con errori facilmente evitabili da chi si intende di elettronica) che permettono di divertirsi ad imparare l’uso di Arduino.

Qui trovale la playlist dei primi 50 video tutorial presenti sul mio canale Youtube:

Qui trovate i video tutorial dal 51 a quelli successivi (in realtà fino al 2015, i tutorial sono solo 51)

ELENCO DEI PROGETTI E PROGRAMMI RELATIVI AI VARI VIDEO TUTORIAL

Riferimento ai video tutorial 3

Codice di programmazione:

void Setup() {
  pinMode(13, OUTPUT);
}
void Loop() {
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}

 


Riferimento ai video tutorial 5

Codice di programmazione:

void Setup() {
  pinMode(13, OUTPUT);
}
void Loop() {
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}

Progetto:


Riferimento ai video tutorial 6

Codice di programmazione:

void Setup() {
  pinMode(13, OUTPUT);
}
void Loop() {
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}

Progetto:


Riferimento ai video tutorial 7 e 8

Codice di programmazione (esempio 1):

void Setup() {
  pinMode(9, OUTPUT);
}
void Loop() {
  digitalWrite(9,HIGH);
  delay(1000);
  digitalWrite(9,LOW);
  delay(1000);
}

Codice di programmazione (esempio 2):

void Setup() {
  pinMode(9, OUTPUT);
  pinMode(12, OUTPUT);
}

void Loop() {
  digitalWrite(9,HIGH);
  digitalWrite(12,HIGH);
  delay(1000);
  digitalWrite(9,LOW);
  digitalWrite(12,LOW);
  delay(1000);
}

Codice di programmazione (esempio 3):

void Setup() {
  pinMode(9, OUTPUT);
  pinMode(12, OUTPUT);
}

void Loop() {
  digitalWrite(9,HIGH);
  digitalWrite(12,LOW);
  delay(500);
  digitalWrite(9,LOW);
  digitalWrite(12,HIGH);
  delay(500);
}

Progetto:


Riferimento ai video tutorial 10, 11 e 12

Codice di programmazione:

int provola=0;

void setup() {
  pinMode(13,OUTPUT);
}

void loop() {
  provola=analogRead(3);
  digitalWrite(13,HIGH);
  delay(provola);
  digitalWrite(13,LOW);
  delay(provola);
}

Progetto:


Riferimento ai video tutorial 13 e 14

Codice di programmazione:

void Setup() {
  pinMode(13, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(9, OUTPUT);
}

void Loop() {
  digitalWrite(13,HIGH);
  delay(8000);
  digitalWrite(13,LOW);
  digitalWrite(9,HIGH);
  delay(8000);
  digitalWrite(11,HIGH);
  delay(2000);
  digitalWrite(9,LOW);
  digitalWrite(11,LOW);
}

Progetto: