+ All Categories
Home > Technology > LinoLab - Laboratorio di Arduino

LinoLab - Laboratorio di Arduino

Date post: 17-Jan-2017
Category:
Upload: matteo-troia
View: 235 times
Download: 1 times
Share this document with a friend
76
ARDUINO CASA DELLO STUDENTE | LINOLAB 14 MAGGIO 2016 WWW.CENTROCULTURAPORDENONE.IT LABORATORIO DI
Transcript
Page 1: LinoLab - Laboratorio di Arduino

ARDUINOCASA DELLO STUDENTE | LINOLAB

14 MAGGIO 2016WWW.CENTROCULTURAPORDENONE.IT

LABORATORIO DI

Page 2: LinoLab - Laboratorio di Arduino

Arduino is an open-source physical computing platform based on a simple I/O board and a development environment

Page 3: LinoLab - Laboratorio di Arduino
Page 4: LinoLab - Laboratorio di Arduino
Page 5: LinoLab - Laboratorio di Arduino

PROGRAMMA DEL LABORATORIO

BENVENUTI NEL MONDO DI ARDUINO

- Chi è Arduino

- Quali sono le parti che lo compongono

- La scheda, la breadboard, l’IDE…

- Cavi, led e sensori

- Dove nasce

- Dove viene utilizzato oggi

- Gli strumenti del mestiere

- Sostware PRIM

A PA

RTE

- Il primo test

Page 6: LinoLab - Laboratorio di Arduino

PROGRAMMA DEL LABORATORIO

BENVENUTI NEL MONDO DI ARDUINO

- Un semaforo con Arduino [luci]

- Loop, Switch e altre cose

- Il Piezo

- Analogico contro Digitale

- Il nostro primo progetto

- Compilazione ed esecuzione del codice

- Un pianoforte con Arduino [suoni]

- Rete di resistenze a scala

SECO

NDA

PART

E

- Saluti e baci

Page 7: LinoLab - Laboratorio di Arduino

CHI È ARDUINO?

1 DI 3

PRIMA PARTE

Page 8: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE NASCE

UN RE D’ITALIA, UN BAR, UNA SCHEDA

RE D’ITALIA DAL 1002 AL 1014Esponente della lotta per la liberazione dell'Italia dalle catene della dominazione straniera.

Page 9: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE NASCE

UN RE D’ITALIA, UN BAR, UNA SCHEDA

INTERACTION DESIGN INSTITUTE IVREA Scuola post-laurea attiva nel campo dell'Interaction Design e operante nella città di Ivrea. La scuola è nata come iniziativa congiunta di Olivetti e Telecom Italia.

Page 10: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE NASCE

UN RE D’ITALIA, UN BAR, UNA SCHEDA

ARDUINO UNO"Uno" means one in Italian and was chosen to mark the release of Arduino Sostware (IDE) 1.0. The Uno board is the first in a series of USB Arduino boards.

Page 11: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / IL TEAM

CHI HA IDEATO LA SCHEDA ARDUINO

Massimo BanziGianluca Martino

David Mellis David Cuartielles Tom Igoe

Page 12: LinoLab - Laboratorio di Arduino

{ …

… }

Page 13: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / LE PARTI CHE LO COMPONGONO

LA SCHEDA

Page 14: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / LE PARTI CHE LO COMPONGONO

LE BOARD

Page 15: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / LE PARTI CHE LO COMPONGONO

LE BOARD

Page 16: LinoLab - Laboratorio di Arduino
Page 17: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / LE PARTI CHE LO COMPONGONO

INTEGRATED DEVELOPMENT ENVIRONMENT

Page 18: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE VIENE UTILIZZATO OGGI

ESEMPI DI UTILIZZO

È installato nelle stampanti della MakerBot

Page 19: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE VIENE UTILIZZATO OGGI

OpenPCR è uno strumento di analisi medica il cui scopo è amplificare il DNA per successive analisi

ESEMPI DI UTILIZZOESEMPI DI UTILIZZO

Page 20: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE VIENE UTILIZZATO OGGI

Con Arduino possiamo fabbricarci il nostro personale etilometro

ESEMPI DI UTILIZZO

Page 21: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE VIENE UTILIZZATO OGGI

Oppure una bilancia collegata ad internet dove registrare le nostre pesate

ESEMPI DI UTILIZZO

Page 22: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE VIENE UTILIZZATO OGGI

MA ANCHE PROTOTIPAZIONE E ESPERIMENTI

illustrazione di Harry Campbell

Page 23: LinoLab - Laboratorio di Arduino

CHI È ARDUINO / DOVE VIENE UTILIZZATO OGGI

COMMUNITY MOLTO ATTIVE

fonte: www.openmakersitaly.org

Page 24: LinoLab - Laboratorio di Arduino

GLI STRUMENTI DEL MESTIERE

2 DI 3

Page 25: LinoLab - Laboratorio di Arduino

CONNETTORE PER L’ALIMENTAZIONEServe per alimentare Arduino se non è collegato alla porta USB. Il range delle tensioni ammesse va da 7 a 12V.

PORTA USBSi occupa dell’alimentazione, di fornire un’entrata per gli sketch, e di comunicare con Arduino (input seriale).

LED TX e RXIndicano la comunicazione tra Arduino e il computer. Utile per il debug.

GND e 5VQuesti piedini vengono usati per fornire alimentazione di 5V e massa al nostro circuito POWERED LED

Indica che Arduino sta ricevendo alimentazione.MICROCONTROLLORE

Il cuore di Arduino UNO

Page 26: LinoLab - Laboratorio di Arduino

GLI STRUMENTI DEL MESTIERE / IL SOFTWARE

INTEGRATED DEVELOPMENT ENVIRONMENT

The Arduino Integrated Development Environment - or Arduino Sostware (IDE) - contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions and a series of menus. It connects to the Arduino and Genuino hardware to upload programs and communicate with them.

Page 27: LinoLab - Laboratorio di Arduino

GLI SKETCHES

Programs written using Arduino Sostware (IDE) are called sketches. These sketches are written in the text editor and are saved with the file extension .ino

GLI STRUMENTI DEL MESTIERE / GLI SKETCHES

Page 28: LinoLab - Laboratorio di Arduino

LA BREADBOARD

La Breadboard è un dispositivo che facilita la costruzione e il test dei circuiti. Tipicamente sono utilizzate per fare prototipazione del design dei circuiti.

GLI STRUMENTI DEL MESTIERE / LA BREADBOARD

Page 29: LinoLab - Laboratorio di Arduino

L’ALIMENTATORE

L'alimentatore è un dispositivo che fornisce una sorgente di potenza elettrica per un circuito. Un alimentatore genera una differenza di potenziale (che si misura in Volt) tra i due pin di uscita.

GLI STRUMENTI DEL MESTIERE / L’ALIMENTATORE

Page 30: LinoLab - Laboratorio di Arduino

LE RESISTENZE

La resitenza è un dispositivo che oppone resistenza al passaggio dell'elettricità. La resistenza di questo flusso può essere usato per limitare la corrente che passa in un componente elettrico. L'abilità del dispositivo di resistere al passaggio di corrente elettrica è misurata in Ohm

GLI STRUMENTI DEL MESTIERE / LE RESISTENZE

Page 31: LinoLab - Laboratorio di Arduino

DIODO

Un diodo è un dispositivo che permette il passaggio della corrente elettrica in una sola direzione.

GLI STRUMENTI DEL MESTIERE / I DIODI

Page 32: LinoLab - Laboratorio di Arduino

LED

Un LED è un diodo che genera una specifica lunghezza d'onda di luce quando una tensione è applicata ai suoi capi. Questa tensione è conosciuta come "forward voltage" del LED. La luminosità del LED varia a seconda della variazione della corrente elettrica.

GLI STRUMENTI DEL MESTIERE / I LED

Page 33: LinoLab - Laboratorio di Arduino

Un LED non ha una limitazione di corrente, per cui applicare una tensione più alta rispetto alla sua tensione limite "forward voltage"

causerà il surriscaldamento del LED con eventuale rottura dello stesso.

Spesso questo comportamento danneggia il LED, ma non gli impedirà di accendersi ancora in futuro, di sicuro non sarà più luminoso come

lo era da fabbrica.

ATTENZONE

Page 34: LinoLab - Laboratorio di Arduino

electronics made easy

Page 35: LinoLab - Laboratorio di Arduino

SCHEMA DI MONTAGGIO

GLI STRUMENTI DEL MESTIERE / SCHEMI DI MONTAGGIO

Page 36: LinoLab - Laboratorio di Arduino

NEWS: AUTODESK 123D CIRCUITS

GLI STRUMENTI DEL MESTIERE / UNA NOVITÀ

Page 37: LinoLab - Laboratorio di Arduino

NEWS: AUTODESK 123D CIRCUITS

GLI STRUMENTI DEL MESTIERE / UNA NOVITÀ

Page 38: LinoLab - Laboratorio di Arduino

IL PRIMO TEST

3 DI 3

Page 39: LinoLab - Laboratorio di Arduino

#1 - INTERRUTTORE + RESISTENZA + LED + ARDUINO

IL PRIMO TEST / LET’S START

Page 40: LinoLab - Laboratorio di Arduino

CIRCUITO #1 / UN BOTTONE ACCENDE UN LED

ROSSO - ROSSO - NERO - NERO - MARRONE

Page 41: LinoLab - Laboratorio di Arduino

SE LA CORRENTE FOSSE UNA ROCCIA…

Tensione (V)

IL PRIMO TEST / UN PAIO DI NOZIONI IMPORTANTI

Corrente (I)}

} Resistenza (R)

Page 42: LinoLab - Laboratorio di Arduino

Abbiamo appena utilizzato un interruttore che è in grado di gestire il flusso di energia (elettrica) del circuito.

Se aperto interrompe il flusso di energia che scorre in quella sezione, se chiuso permette invece alla corrente di passare.

Per questo funziona a “stati discreti”.

IN MOTO IL CERVELLO

Page 43: LinoLab - Laboratorio di Arduino

Prima di cominciare a costruire un nuovo circuito, è buona prassi rimuovere sempre l’alimentatore dalla scheda Arduino.

ATTENZONE

Page 44: LinoLab - Laboratorio di Arduino

#1.A - CIRCUITO IN SERIE

IL PRIMO TEST / LET’S START

Page 45: LinoLab - Laboratorio di Arduino

CIRCUITO #1.A / BOTTONI IN SERIE

ROSSO - ROSSO - NERO - NERO - MARRONE

DELLA RESISTENZAOCCHIO AL PIEDINO

!

Page 46: LinoLab - Laboratorio di Arduino

#1.B - CIRCUITO IN PARALLELO

IL PRIMO TEST / LET’S START

Page 47: LinoLab - Laboratorio di Arduino

CIRCUITO #1.B / BOTTONI IN PARALLELO

ROSSO - ROSSO - NERO - NERO - MARRONE

DELLA RESISTENZAOCCHIO AL PIEDINO

!

Page 48: LinoLab - Laboratorio di Arduino

Nei circuiti che abbiamo realizzato stiamo fornendo 5 volt in ingresso.

IN MOTO IL CERVELLO

La resistenza è di 220 ohm.

Usando la formula inversa della legge di Ohm, abbiamo che:

Intensità di corrente = Tensione / Resistenza

Intensità di corrente = 5 Volt / 220 ohm= 23 mA

1 di 2

Page 49: LinoLab - Laboratorio di Arduino

Abbiamo così calcolato l’intensità di corrente che arriva ai piedini del nostro led.

IN MOTO IL CERVELLO

Questo valore è il massimo che possiamo fornire al led per poterlo utilizzare in sicurezza.

2 di 2

Page 50: LinoLab - Laboratorio di Arduino

very well, coffee break!

Page 51: LinoLab - Laboratorio di Arduino

BENVENUTI NEL MONDO DI ARDUINO

SECONDA PARTE

Page 52: LinoLab - Laboratorio di Arduino

PRIMO PROGETTO

1 DI 2

Page 53: LinoLab - Laboratorio di Arduino

UN SEMAFORO CONTROLLATO CON ARDUINO

COMINCIAMO A METTERCI LE MANI

Page 54: LinoLab - Laboratorio di Arduino

UN SEMAFORO CONTROLLATO CON ARDUINO

COMINCIAMO A METTERCI LE MANI

hardware + sostware

prima fase: costruiamo il circuito

seconda fase: scriviamo il codice

terza fase: mettiamo d’accordo hw e sw

Page 55: LinoLab - Laboratorio di Arduino

CIRCUITO #2 / UN SEMAFORO CONTROLLATO DA NOI

A

Page 56: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

1. int led1 = 13;

2. int led2 = 12;

3. int led3 = 11;

tipo nome = valore;SINTASSI

assegno valore a nome che è di tipo tipo

SEMANTICA

Page 57: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

4. void setup() {

5. pinMode(led1, OUTPUT);

6. pinMode(led2, OUTPUT);

7. pinMode(led3, OUTPUT);

8.}

pinMode (nome, funzione)SINTASSI

assegno a nome la funzione funzione

SEMANTICA

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

Page 58: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

9. void loop() {

10. digitalWrite(led1, HIGH);

11. delay(1000);

12. digitalWrite(led1, LOW);

13. digitalWrite(led2, HIGH);

14. delay(1000);

digitalWrite (nome, stato)SINTASSI

assegno a nome lo stato stato

SEMANTICA

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

Page 59: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

15. digitalWrite(led2, LOW);

16. digitalWrite(led3, HIGH);

17. delay(1000);

18. digitalWrite(led3, LOW);

19.}

delay (valore)SINTASSI

stabilisco un ritardo pari a valore millisecondi

SEMANTICA

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

Page 60: LinoLab - Laboratorio di Arduino

void setup() { … }

IN MOTO IL CERVELLO

void loop() { … }

In Arduino possiamo scrivere delle procedure standard (setup) ed utilizzare dei cicli (loop) …

1 di 2

Page 61: LinoLab - Laboratorio di Arduino

IN MOTO IL CERVELLO

Un’ultima accortezza…

2 di 2

int timer = 1000;

15. digitalWrite(led2, LOW);

16. digitalWrite(led3, HIGH);

17. delay(1000); -> delay(timer);

18. digitalWrite(led3, LOW);

19.}

Page 62: LinoLab - Laboratorio di Arduino

“Siate pigri come una volpe!”Linus Torvald

Page 63: LinoLab - Laboratorio di Arduino

SECONDO PROGETTO

2 DI 2

Page 64: LinoLab - Laboratorio di Arduino

UN PIANOFORTE CON ARDUINO

COMINCIAMO A METTERCI LE MANI

Page 65: LinoLab - Laboratorio di Arduino

COMINCIAMO A METTERCI LE MANI

hardware + sostware

prima fase: costruiamo il circuito

seconda fase: scriviamo il codice

terza fase: mettiamo d’accordo hw e sw

UN PIANOFORTE CON ARDUINO

Page 66: LinoLab - Laboratorio di Arduino

CIRCUITO #3 / UNA TASTIERA MUSICALE CON ARDUINO

10K: MARRONE - NERO - NERO - ROSSO - MARRONE220: ROSSO - ROSSO - NERO - NERO - MARRONE

1M: MARRONE - NERO - NERO - VERDE - MARRONE

Page 67: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

1. int notes [ ] = {262, 294, 330, 349};

2. // funzione setup

3. void setup() {

4. Serial.begin(9600);

5. }

Page 68: LinoLab - Laboratorio di Arduino

IMPARIAMO COS’È UN ARRAY

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

1. int notes [ ] = {262, 294, 330, 349};

a [0] a [1] a [2] a [7]

13 56 81 24

Page 69: LinoLab - Laboratorio di Arduino

IMPARIAMO COME FUNZIONA SERIAL.BEGIN

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

Serial.begin(9600);

sets the data rate in bits per second (baud) for serial data transmission.

In questo caso 9600 bit al secondo.

Page 70: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

6. void loop() {

7. int keyVal = analogRead(A0);

8. Serial.println(keyVal);

NOTA BENE: keyVal è una variabile locale a loop

Page 71: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

9. if (keyVal == 1023) {

10. tone (8, note[0]);

11. }

NOTA BENE: if è un’istruzione di controlloSINTASSI: if (condizione) { … } else { … }

Page 72: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

12. else if (keyVal >= 990 && keyVal <= 1010) {

13. tone (8, note[1]);

14. }

15. else if (keyVal >= 505 && keyVal <= 515) {

16. tone (8, note[2]);

17. }

Page 73: LinoLab - Laboratorio di Arduino

SOTTO COL CODICE

COMINCIAMO A METTERE LE MANI / AL SOFTWARE

18. else if (keyVal >= 5 && keyVal <= 10) {

19. tone (8, note[3]);

20. }

21. else {

22. noTone (8);

23. }

24. }

Page 74: LinoLab - Laboratorio di Arduino

REFERENCES

www.arduino.cc

playground.arduino.cc

123d.circuits.io

www.apogeoonline.com

Page 75: LinoLab - Laboratorio di Arduino

ARDUINOCASA DELLO STUDENTE | LINOLAB

Page 76: LinoLab - Laboratorio di Arduino

Recommended