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
Top Related