Corso Arduino Base - Basi Pratiche con Arduino Genuino

Post on 23-Feb-2017

1.160 views 6 download

Transcript of Corso Arduino Base - Basi Pratiche con Arduino Genuino

BASI PRATICHE CON ARDUINOcorso pratico sui microcontrollori

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 ?

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 ]

A COSA SERVE E COSA CI POSSO FARE ?

REP RAP CUBO 8X8 RGB LAMP

A COSA SERVE E COSA CI POSSO FARE ?

A COSA SERVE E COSA CI POSSO FARE ?

INSEGUITORE ORTO BRACCIO

A COSA SERVE E COSA CI POSSO FARE ?

A COSA SERVE E COSA CI POSSO FARE ?

QUADRICOPTER SPAZIOBEGINNER

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

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 ]

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

PANORAMICA

PANORAMICA

PANORAMICA

PANORAMICA

SHIELDS UFFICIALI

DOWNLOAD IDE 1.0.6

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

I PIN DI ARDUINO!

!!!

I PIN DI ARDUINO!

!!!

SEGNALI DIGITALI, ANALOGICI, PWM

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

THINKER SHIELD

STRUTTURA BASE DI UNO SKETCH!

!!!

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

ATTUATORI SENSORI

!!!!

SI PARTE

ATTUATORI LED

ATTUATORI LED

COLLEGA UN LED

ATTUATORI MOTORE DC O CC

ATTUATORI MOTORE STEPPER O PASSO-PASSO

ATTUATORI SERVOMOTORE

ATTUATORI RELAY

SENSORI PULSANTE

SENSORI TILT

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 }

SENSORI POTENZIOMETRO ( 10KOHM )

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); }

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); }

SENSORI FOTORESISTENZA ( 20-40KOHM )

SENSORI TILT

SENSORI TILT

SENSORI TILT

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.

BREADBOARD: COS’È E COME FUNZIONA

VARIABILI

ESPRESSIONI CONDIZIONALI

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); !}

COLLEGA:!- PIN 3 PULSANTE- PIN 11 LED

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

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); }

COLLEGA UNLED AL PIN 11!FADE

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

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 ); }

COLLEGA UN POTENZIOMETRO REGOLA UN LED

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

COMANDO MAP()

REGOLA LA LUCE CON FOTO RESISTENZA E MAP()

COLLEGA TRE LED: RGB

COLLEGA TRE LED: RGB