corso arduino base - basi pratiche con arduino genuino

59
BASI PRATICHE CON ARDUINO corso pratico sui microcontrollori

Upload: mauro-alfieri

Post on 23-Feb-2017

1.162 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Corso Arduino Base - Basi Pratiche con Arduino Genuino

BASI PRATICHE CON ARDUINOcorso pratico sui microcontrollori

Page 2: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ARGOMENTI TRATTATI• Cos’é un micro controllore, cos’é open source e open hardware

• A cosa serve e cosa ci posso fare con un micro controllore

• Cosa mi serve per iniziare

• Come è fatto arduino

• Cos’é un attuatore

• Cos’é un sensore

• Cosa sono i pin digitali/analogici/PWM

• Variabili, comandi e basi di programmazione

• VIA !!! con la pratica … adesso si fa sul serio !!!

• Siti di riferimento

• Dove posso fare i miei acquisti ?

Page 3: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COS’É UN MICRO CONTROLLORE, COS’É OPEN SOURCE E HARDWAREMicro Controllore

In elettronica digitale il microcontrollore o microcontroller o MCU (MicroController Unit) è un dispositivo elettronico integrato su singolo chip, nato come evoluzione alternativa al Microprocessore ed utilizzato generalmente in sistemi embedded ovvero per applicazioni specifiche (special purpose) di controllo digitale.

[ Fonte: Wikipedia ]

Open Source

Open source (termine inglese che significa codice sorgente aperto), in informatica, indica un software i cui autori (più precisamente i detentori dei diritti) ne permettono e favoriscono il libero studio e l'apporto di modifiche da parte di altri programmatori indipendenti. Questo è realizzato mediante l'applicazione di apposite licenze d’uso.

[ Fonte: Wikipedia ]

Open Hardware

Hardware libero si riferisce ad hardware elettronici e di computer che sono stati progettati con la stessa politica del software libero ed open source (FOSS). L'hardware libero è parte della cultura dell'open source, che espande quest’ideologia al di fuori dell’ambito del software.

[ Fonte: Wikipedia ]

Page 4: Corso Arduino Base - Basi Pratiche con Arduino Genuino
Page 5: Corso Arduino Base - Basi Pratiche con Arduino Genuino

A COSA SERVE E COSA CI POSSO FARE ?

REP RAP CUBO 8X8 RGB LAMP

Page 6: Corso Arduino Base - Basi Pratiche con Arduino Genuino

A COSA SERVE E COSA CI POSSO FARE ?

Page 7: Corso Arduino Base - Basi Pratiche con Arduino Genuino

A COSA SERVE E COSA CI POSSO FARE ?

INSEGUITORE ORTO BRACCIO

Page 8: Corso Arduino Base - Basi Pratiche con Arduino Genuino

A COSA SERVE E COSA CI POSSO FARE ?

Page 9: Corso Arduino Base - Basi Pratiche con Arduino Genuino

A COSA SERVE E COSA CI POSSO FARE ?

QUADRICOPTER SPAZIOBEGINNER

Page 10: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COSA MI SERVE PER INIZIAREArduino è un framework open source

!Permette la prototipazione rapida e l’apprendimento veloce dei principi fondamentali dell’elettronica e della programmazione.!È composto da una piattaforma hardware ... sviluppata presso l’Interaction Design Institute ... a Ivrea.!!!

14 Digital I/O Pin di cui 6 PWM

6 Analog Input Pin

32 KB Flash Memory di cui 0.5 KB per il bootloader

2 KB SRAM

1 KB EEPROM

16 MHz Velocità di Clock

Page 11: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COSA MI SERVE PER INIZIARE!

!!!

All’hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma (per Linux, Apple Macintosh e Windows). !Questo software permette anche ai novizi di scrivere programmi con un linguaggio semplice e intuitivo derivato da C e C++ chiamato Wiring, liberamente scaricabile e modificabile.

[ Fonte: Wikipedia ]

Page 12: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COSA MI SERVE PER INIZIARE!

!!!

Il sito ufficiale arduino ( www.arduino.cc )su cui puoi:!• acquistare i prodotti ufficiali• scaricare l’IDE aggiornato• trovare l’elenco dei prodotti ufficiali• la guida per iniziare e non solo …• Il forum a cui partecipare• il supporto• il blog ufficiale arduino

Page 13: Corso Arduino Base - Basi Pratiche con Arduino Genuino

PANORAMICA

Page 14: Corso Arduino Base - Basi Pratiche con Arduino Genuino

PANORAMICA

Page 15: Corso Arduino Base - Basi Pratiche con Arduino Genuino

PANORAMICA

Page 16: Corso Arduino Base - Basi Pratiche con Arduino Genuino

PANORAMICA

Page 17: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SHIELDS UFFICIALI

Page 18: Corso Arduino Base - Basi Pratiche con Arduino Genuino

DOWNLOAD IDE 1.0.6

Page 19: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COM’E FATTO!

!!! Arduino UNO è composta principalmente

da:!• Interfaccia USB• 14 pin digitali di cui 6 PWM• 6 pin analogici• Pin di alimentazione Vin,Gnd,5v,3,3v,Rst,IO• Circuito di alimentazione

Page 20: Corso Arduino Base - Basi Pratiche con Arduino Genuino

I PIN DI ARDUINO!

!!!

Page 21: Corso Arduino Base - Basi Pratiche con Arduino Genuino

I PIN DI ARDUINO!

!!!

Page 22: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SEGNALI DIGITALI, ANALOGICI, PWM

Page 23: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COM’E FATTO!

!!! INPUT OUTPUT

Analogici Digitali Analogici Digitali

A0 - A5 D0 - D13 D3,D5,D6D9,D10,D11 D0 - D13

da 0 a 1023 LOW/HIGH 0/1 da 0 a 255 LOW/HIGH

0/1

Page 24: Corso Arduino Base - Basi Pratiche con Arduino Genuino

THINKER SHIELD

Page 25: Corso Arduino Base - Basi Pratiche con Arduino Genuino

STRUTTURA BASE DI UNO SKETCH!

!!!

Page 26: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COMANDI PRINCIPALI

digitalRead( pin ); ritorna un valore digitale

0/1 o LOW/HIGH

analogRead( pin ); ritorna un valore analogico

0/1023

digitalWrite(pin,value); invia un valore digitale

0/1 o LOW/HIGH

analogWrite(pin,value); invia un valore digitale

0/255

Page 27: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ATTUATORI SENSORI

Page 28: Corso Arduino Base - Basi Pratiche con Arduino Genuino

!!!!

SI PARTE

Page 29: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ATTUATORI LED

Page 30: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ATTUATORI LED

Page 31: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UN LED

Page 32: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ATTUATORI MOTORE DC O CC

Page 33: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ATTUATORI MOTORE STEPPER O PASSO-PASSO

Page 34: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ATTUATORI SERVOMOTORE

Page 35: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ATTUATORI RELAY

Page 36: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SENSORI PULSANTE

Page 37: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SENSORI TILT

Page 38: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UNPULSANTE

int pushButton = 3; !void setup() { Serial.begin(9600); pinMode(pushButton, INPUT); } !void loop() { int buttonState = digitalRead(pushButton); Serial.println(buttonState); delay(100); // delay in between reads for stability }

Page 39: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SENSORI POTENZIOMETRO ( 10KOHM )

Page 40: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UNPOTENZIOMETROE LEGGINE I VALORI

int sensorPin = A0; // insert I0 int sensorValue = 0; // variable to store the value !void setup() { Serial.begin( 9600 ); pinMode( sensorPin, INPUT ); } !void loop() { sensorValue = analogRead(sensorPin); Serial.print( “Valore: “ ); Serial.println(sensorValue); delay(200); }

Page 41: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UNPULSANTE

int sensorPin = A0; // insert I0 !void setup() { Serial.begin( 9600 ); pinMode( sensorPin, INPUT ); } !void loop() { int sensorValue = analogRead(sensorPin); float voltage = sensorValue * ( 5.0 / 1023.0 ); Serial.print( “Voltaggio: “ ); Serial.println(voltage); delay(50); }

Page 42: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SENSORI FOTORESISTENZA ( 20-40KOHM )

Page 43: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SENSORI TILT

Page 44: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SENSORI TILT

Page 45: Corso Arduino Base - Basi Pratiche con Arduino Genuino

SENSORI TILT

Page 46: Corso Arduino Base - Basi Pratiche con Arduino Genuino

VARIABILI

int Arduino Uno stores a 16-bit (2-byte) value. -32,768 to 32,767 ( min -2^15 max (2^15) - 1). Arduino Due stores a 32-bit (4-byte) value. -2,147,483,648 to 2,147,483,647 (min -2^31 max (2^31) - 1)!boolean A boolean holds one of two values, true or false. (Each boolean variable occupies one byte of memory.)!byte A byte stores an 8-bit unsigned number, from 0 to 255.

Page 47: Corso Arduino Base - Basi Pratiche con Arduino Genuino

BREADBOARD: COS’È E COME FUNZIONA

Page 48: Corso Arduino Base - Basi Pratiche con Arduino Genuino

VARIABILI

Page 49: Corso Arduino Base - Basi Pratiche con Arduino Genuino

ESPRESSIONI CONDIZIONALI

Page 50: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA:!- PIN 3 PULSANTE- PIN 11 LED

byte buttonPin = 3; // O5 ( output 5 ) byte ledPin = 11; // O0 ( output 0 ) !int buttonState = 0; // variable for reading the pushbutton status !void setup() { ! pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); !}

Page 51: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA:!- PIN 3 PULSANTE- PIN 11 LED

void loop() { buttonState = digitalRead(buttonPin); ! if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } !}

Page 52: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UNLED AL PIN 11!FADE

int led = 11; // the PWM O5 int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade the LED by !void setup() { pinMode(led, OUTPUT); }

Page 53: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UNLED AL PIN 11!FADE

void loop() { analogWrite(led, brightness); ! brightness = brightness + fadeAmount; ! if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } delay(30); }

Page 54: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UN POTENZIOMETRO REGOLA UN LED

int sensorPin = A0; // select the input pin I0 int ledPin = 11; // select the pin for the LED O5 int sensorValue = 0; // variable to store the value !void setup() { pinMode(sensorPin, INPUT); pinMode(ledPin, OUTPUT); ! analogWrite( ledPin,0 ); }

Page 55: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA UN POTENZIOMETRO REGOLA UN LED

void loop() { sensorValue = analogRead(sensorPin); sensorValue = ( sensorValue/4 ); analogWrite( ledPin,sensorValue ); delay(100); }

Page 56: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COMANDO MAP()

Page 57: Corso Arduino Base - Basi Pratiche con Arduino Genuino

REGOLA LA LUCE CON FOTO RESISTENZA E MAP()

Page 58: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA TRE LED: RGB

Page 59: Corso Arduino Base - Basi Pratiche con Arduino Genuino

COLLEGA TRE LED: RGB