corso arduino base - basi pratiche con arduino genuino
TRANSCRIPT
![Page 1: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/1.jpg)
BASI PRATICHE CON ARDUINOcorso pratico sui microcontrollori
![Page 2: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/2.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/3.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/4.jpg)
![Page 5: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/5.jpg)
A COSA SERVE E COSA CI POSSO FARE ?
REP RAP CUBO 8X8 RGB LAMP
![Page 6: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/6.jpg)
A COSA SERVE E COSA CI POSSO FARE ?
![Page 7: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/7.jpg)
A COSA SERVE E COSA CI POSSO FARE ?
INSEGUITORE ORTO BRACCIO
![Page 8: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/8.jpg)
A COSA SERVE E COSA CI POSSO FARE ?
![Page 9: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/9.jpg)
A COSA SERVE E COSA CI POSSO FARE ?
QUADRICOPTER SPAZIOBEGINNER
![Page 10: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/10.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/11.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/12.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/13.jpg)
PANORAMICA
![Page 14: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/14.jpg)
PANORAMICA
![Page 15: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/15.jpg)
PANORAMICA
![Page 16: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/16.jpg)
PANORAMICA
![Page 17: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/17.jpg)
SHIELDS UFFICIALI
![Page 18: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/18.jpg)
DOWNLOAD IDE 1.0.6
![Page 19: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/19.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/20.jpg)
I PIN DI ARDUINO!
!!!
![Page 21: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/21.jpg)
I PIN DI ARDUINO!
!!!
![Page 22: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/22.jpg)
SEGNALI DIGITALI, ANALOGICI, PWM
![Page 23: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/23.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/24.jpg)
THINKER SHIELD
![Page 25: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/25.jpg)
STRUTTURA BASE DI UNO SKETCH!
!!!
![Page 26: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/26.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/27.jpg)
ATTUATORI SENSORI
![Page 28: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/28.jpg)
!!!!
SI PARTE
![Page 29: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/29.jpg)
ATTUATORI LED
![Page 30: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/30.jpg)
ATTUATORI LED
![Page 31: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/31.jpg)
COLLEGA UN LED
![Page 32: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/32.jpg)
ATTUATORI MOTORE DC O CC
![Page 33: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/33.jpg)
ATTUATORI MOTORE STEPPER O PASSO-PASSO
![Page 34: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/34.jpg)
ATTUATORI SERVOMOTORE
![Page 35: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/35.jpg)
ATTUATORI RELAY
![Page 36: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/36.jpg)
SENSORI PULSANTE
![Page 37: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/37.jpg)
SENSORI TILT
![Page 38: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/38.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/39.jpg)
SENSORI POTENZIOMETRO ( 10KOHM )
![Page 40: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/40.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/41.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/42.jpg)
SENSORI FOTORESISTENZA ( 20-40KOHM )
![Page 43: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/43.jpg)
SENSORI TILT
![Page 44: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/44.jpg)
SENSORI TILT
![Page 45: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/45.jpg)
SENSORI TILT
![Page 46: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/46.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/47.jpg)
BREADBOARD: COS’È E COME FUNZIONA
![Page 48: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/48.jpg)
VARIABILI
![Page 49: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/49.jpg)
ESPRESSIONI CONDIZIONALI
![Page 50: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/50.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/51.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/52.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/53.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/54.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/55.jpg)
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](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/56.jpg)
COMANDO MAP()
![Page 57: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/57.jpg)
REGOLA LA LUCE CON FOTO RESISTENZA E MAP()
![Page 58: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/58.jpg)
COLLEGA TRE LED: RGB
![Page 59: Corso Arduino Base - Basi Pratiche con Arduino Genuino](https://reader034.vdocumenti.com/reader034/viewer/2022042509/58ae35a21a28ab557e8b608f/html5/thumbnails/59.jpg)
COLLEGA TRE LED: RGB