SlideShare a Scribd company logo
1 of 50
Download to read offline
SISTEMI EMBEDDED
Il caso Arduino
San Secondo Parmense 2013
San Secondo Parmense – Mirko Mancin 2013
In elettronica e informatica, con il
termine sistema embedded (generalmente
tradotto in italiano con sistema immerso o
incorporato) s’identificano genericamente
tutti quei sistemi elettronici di elaborazione
a microprocessore progettati
appositamente per una
determinata applicazione (special purpose)
ovvero non riprogrammabili dall'utente per
altri scopi, spesso con una piattaforma
hardware ad hoc, integrati nel sistema che
controllano ed in grado di gestirne tutte o
parte delle funzionalità richieste.
SISTEMA EMBEDDED
San Secondo Parmense – Mirko Mancin 2013
Un microcontrollore è il «genere di
computer in miniatura» che potete trovare
in ogni genere di oggetti.
Se possiede dei tasti e un display, è
probabile che abbia anche un cervello a
microcontrollore.
QUANTI MICROCONTROLLORI AVETE USATO OGGI?
• Sistemi di frenata per automobili
• Macchine industriali
• Auto-focus delle fotocamere
• Telefoni cordless
• Card reader
• Sistemi per test medici
• Caricatori per batteria
• DVD player
• Navigatori
• Robot
• Impianti domotici
• …
San Secondo Parmense – Mirko Mancin 2013
I SE sono sistemi di elaborazione in stretta
relazione con l'ambiente in cui operano. Essi
sono diversi dai sistemi general purpose
(PC).
Ognuno di noi viene a contatto con circa 100
dispositivi a uP embedded al giorno.
QUANTI MICROCONTROLLORI AVETE USATO OGGI?
• Sistemi di frenata per automobili
• Macchine industriali
• Auto-focus delle fotocamere
• Telefoni cordless
• Card reader
• Sistemi per test medici
• Caricatori per batteria
• DVD player
• Navigatori
• Robot
• Impianti domotici
• …
San Secondo Parmense – Mirko Mancin 2013
La differenza sostanziale tra un PC general purpose e un SE è che il primo deve
essere prima di tutto versatile, adatto ad ogni esigenza ed uso differente, mentre
il secondo deve invece essere ottimizzato per un determinato impiego.
MA NON POSSO USARE UN SEMPLICE PC?
Un progetto realizzato con un Sistema Embedded dipende da:
1. Scenari di utilizzo;
2. Requisiti funzionali;
3. Vincoli di progetto
Nello spazio delle soluzioni, in base ai vincoli preposti si cercherà quella più
adatta.
San Secondo Parmense – Mirko Mancin 2013
SCENARIO
Ambiente domestico
San Secondo Parmense – Mirko Mancin 2013
REQUISITI FUNZIONALI
Ambiente domestico
Interazione uomo-ambiente
San Secondo Parmense – Mirko Mancin 2013
VINCOLI PROGETTUALI
Ambiente domestico
Interazione uomo-ambiente
Integrazione di sensori e dispositivi
per rendere l’ambiente
INTELLIGENTE
San Secondo Parmense – Mirko Mancin 2013
UN ALTRO PUNTO DI VISTA
San Secondo Parmense – Mirko Mancin 2013
UN ALTRO PUNTO DI VISTA
• Prodotto consumer (la banale macchina
fotografica!!!)
• Oggetto da integrare in uno smartphone (esempio
per leggere i codici QR)
• Funzione FOTO in una video camera (per ampliare
funzionalità di un oggetto)
• Rilevatore di calore (per scopi militari)
• Dispositivo di inquadramento per un robot (per
scopi assistenziali)
• Oggetto da integrare in giocattoli ( esempio la
Kinect della XBOX)
• …
San Secondo Parmense – Mirko Mancin 2013
CONTESTI APPLICATIVI PER UN SISTEMA EMBEDDED
• Infrastrutture ed edilizia (autostrade, ponti,
aereoporti, uffici, abitazioni, commerciale, …)
• Sistemi mobili (persone, animali, salute, …)
• Industriale (automobili, aerospaziale,
automazione, consumer, …)
San Secondo Parmense – Mirko Mancin 2013
I PRINCIPALI SISTEMI EMBEDDED
ARDUINO
RASPBERRY
PIC
FRIENDLY ARM
OPEN PICUS
LIBELIUM
San Secondo Parmense – Mirko Mancin 2013
LA FILOSOFIA ARDUINO
La prototipizzazione è il cuore della filosofia Arduino: facciamo cose e costruiamo oggetti
che interagiscono con altri oggetti, persone e reti. Ci sforziamo di trovare un modo più
facile e veloce di prototipare nel modo più economico possibile.
L’obiettivo per molti principianti
che si avvicinano all’elettronica è
quello di vedere subito qualcosa
che funziona, in modo da sentirsi
motivati ad eseguire il passo
successivo o motivare qualcun
altro a fornirci il denaro per farlo.
Perché perdere tempo ed energia
a costruire qualcosa da zero
quando qualcuno ha già realizzato
dispositivi già pronti all’uso?
San Secondo Parmense – Mirko Mancin 2013
LA FILOSOFIA ARDUINO
Riutilizzare la tecnologia esistente è una delle forme migliori di tinkering. Procurarsi
giocattoli economici o vecchie attrezzature che andrebbero buttate e modificarle per
creare qualcosa di nuovo è uno dei modi migliori per ottenere ottimi risultati.
Con il termine patching si intende la
possibilità di costruire sistemi
complessi collegando tra loro
dispositivi semplici. Esempio i musicisti
hanno costruito suoni, cercando
infinite combinazioni mettendo
insieme (patching) diversi moduli con
cavi.
San Secondo Parmense – Mirko Mancin 2013
LA FILOSOFIA ARDUINO
Si possono implementare nuovi modi di interagire con il software, sostituendo i tasti con dispositivi in
grado di sentire l’ambiente.
Se smontate una tastiera di un computer scoprirete un dispositivo molto semplice (ed economico). Il
suo cuore è una piccola scheda con una serie di contatti che vanno ai due strati di plastica che
contengono le connessioni dei tasti.
Se provate a fare ponte tra i due contatti, sullo schermo apparirà la lettera corrispondente. Se ora
immaginate di attaccare un sensore di movimento e lo collegate alla tastiera, noterete che ogni volta
che passa qualcuno, sul computer verrà visualizzata una lettera. Se riuscite a creare un software che
‘’correli’’ questi dati avete reso il computer intelligente più di un orinatoio.
‘’Scusate l’espressione, ma gli orinatoi
maschili sono più intelligenti dei
computer. I computer sono isolati da ciò
che li circonda’’ (A.Pentland – MIT Lab,
1998)
San Secondo Parmense – Mirko Mancin 2013
LA FILOSOFIA ARDUINO
Amiamo i rifiuti ed i giocattoli!!
Oggigiorno la gente butta moltissimi oggetti tecnologici: vecchie stampanti, computer,
strane macchine da ufficio, equipaggiamenti tecnici ma anche militari.
Di questa tecnologia di scarto è sempre esistito un fiorente mercato, specie tra gli hacker
più poveri o quelli che sono agli inizi.
Ivrea era la città sede della Olivetti. A metà degli anni ‘90 buttava via tutti i suoi rifiuti dal
rottamaio della zona. Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, e
David Mellis hanno passato innumerevoli ore a cercare aggeggi di ogni sorta a prezzi
bassissimi per riutilizzarli per i loro prototipi.
Nel 2005 infatti nasce Arduino sempre ad Ivrea.
San Secondo Parmense – Mirko Mancin 2013
LA FILOSOFIA ARDUINO
Collaborazione
La collaborazione tra utenti è uno dei principi chiave nel mondo di Arduino.
Attraverso il forum su www.arduino.cc/it, persone di diverse parti del mondo si aiutano
reciprocamente a imparare ad usare la scheda e i dispositivi con cui poterla integrare. Il
team di Arduino incoraggia le persone a collaborare a livello locale, oltre ad aiutare a
fondare gruppi utenti nelle città che visita.
Esiste anche un Wiki di nome ‘’playground’’ dove gli utenti documentao le loro scoperte.
La cultura della condivisione e dell’aiuto reciproco è un vanto per Arduino.
San Secondo Parmense – Mirko Mancin 2013
ARDUINO: creare è un gioco da ragazzi
Arduino: creare è un gioco da ragazzi
San Secondo Parmense – Mirko Mancin 2013
COME FUNZIONA UN MICROCONTROLLORE
Per quanto potente, il microprocessore integra sul chip solo la logica di elaborazione
mentre richiede sempre delle unità esterne - memorie, gestori di segnali e dispositivi
periferici per scambiare informazioni e interagire con l'esterno.
Il microcontrollore è invece un sistema completo, che integra in uno stesso chip il
processore, la memoria permanente, la memoria volatile e i canali (pin) di I/O, oltre ad
eventuali altri blocchi specializzati.
CONFRONTO TRA MICROPROCESSORE E MICROCONTROLLORE
Caratteristica Microcontrollore Microprocessore
Velocità massima di clock 200 MHz 4 GHz
Capacità elaborativa in MegaFLOPS 200 5 000
Potenza minima dissipata in watt (in stato di elaborazione) 0,001 50
Prezzo minimo per singola unità in USD 0,5 50
Numero di pezzi venduti annualmente (in milioni) 11 000 1 000
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LE PARTI PRINCIPALI
1. Una scheda elettronica (con le porte di I/O e un microcontrollore contenente un
firmware)
2. Un ambiente di programmazione (ambiente di sviluppo sketch, linguaggio Arduino,
Wiring ed eventualmente Processing)
3. La comunità degli utenti.
San Secondo Parmense – Mirko Mancin 2013
IL FIRMWARE
Il firmware è un programma, inteso come sequenza d’istruzioni, integrato direttamente
in un componente elettronico nel senso più vasto del termine (integrati, schede
elettroniche, periferiche). Lo scopo del programma è di avviare il componente stesso e
consentirgli di interagire con altri componenti tramite l'implementazione di protocolli di
comunicazione o interfacce di programmazione.
Il termine deriva dall'unione di "firm" (azienda) e "ware" (componente), indica che il
programma non è immediatamente modificabile dall'utente finale, ovvero risiede
stabilmente nell'hardware integrato in esso, e che si tratta del punto di incontro fra
componenti logiche e fisiche, ossia fra hardware e software.
Quando si parla di firmware per una scheda elettronica (come una scheda di
espansione per computer) questo generalmente trova posto all'interno di una memoria
ROM o flash.
San Secondo Parmense – Mirko Mancin 2013
ARDUINO - LO SKETCH
BOOT
SETUP(){
}
LOOP(){
}
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – IL MICROCONTROLLORE
Arduino adotta i microcontrollori Atmel AVRmega.
Arduino Uno ha un’interfaccia USB (del tipo ‘stampante’) per il collegamento e la
programmazione da PC.
E’ anche possibile collegare un programmatore esterno per AVR, attraverso
l’interfaccia e il connettore ISP. Tuttavia, per la presenza di un bootloader
precaricato, il programmatore esterno non è indispensabile.
Inoltre, si può usare il linguaggio di programmazione ‘Processing’, sviluppato al MIT
e basato su Java. Ovviamente, ‘Processing’ da solo non è Arduino.
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – COME USARLO
Arduino, una volta programmato, può funzionare
autonomamente, alimentato da una batteria, da
un alimentatore esterno oppure collegato a un
PC e alimentato dalla USB.
Basata su una semplice scheda input/output (I/O)
e una ambiente di sviluppo che implementa il
linguaggio processing (dialetto di C). Arduino può
essere usato per sviluppare oggetti interattivi
indipendenti o può essere collegato a un software
sul computer (come Flash, processing, Java, …).
Le schede possono essere assemblate a mano o
comprate preassemblate; l’IDE è scaricabile da
www.arduino.cc
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE
Strutture generali
setup()
loop()
Strutture di controllo
if
if .. else
for
switch case
while
do .. while
break
continue
return
goto
Segni di interpunzione usati
;
{ }
//
/*/
Direttive
#define
#include
Tipi di dati
void
boolean
char
insigne char
byte
int
insigne int
word
long intero a 32 bit con segno
unsigned long intero a 32 sempre positiv
float
double
string (di caratteri)
String (oggetto)
Array
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE
I/O Digitali
pinMode()
digitalWrite()
digitalRead()
I/O Analogici
analogReference()
analogRead()
analogWrite()
Avanzate
tone()
noTone()
shiftOut()
pulseIn()
Gestione del tempo
millis()
micros()
delay()
delayMicroseconds()
Funzioni matematiche
min(), max(), abs()
contrain() costringe un valore in un
intervallo a, b
operazioni + - * / %
map() trasforma un intero da un
intervallo ad un altro
pow() Potenza
sqrt() radice quadrata
sin(), cos(), tan()
Numeri casuali
randomSeed()
random()
Operazioni sui bit e i bytes
lowByte (), highByte()
bitRead(), bitWrite()
bitSet(), bitClear()
bit()
&(and su bit)
|(or su bit)
^(xor)
~(not su bit)
<<(shift a sinistra)
>>(shift a destra)
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE
Costanti predefinite
LOW, HIGH
INPUT, OUTPUT
Utilità
sizeof() fornisce le dimensioni in byte di una
variabile
Gestioni interrupt esterni
attachInterrupt()
noInterrupt()
Interrupt Interni
interrupts()
noInterrupts()
Comunicazione seriale
Serial
Confronti
= = != (diverso) < , > , <= , >=
Booleani
&& (and) || (or) ! (not)
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE
Facciamo ‘’Blinkare’’ un LED.
// Pin 13 has an LED connected on most Arduino boards.
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off
delay(1000); // wait for a second
}
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE
Facciamo ‘’Blinkare’’ un LED, ma in modo più intelligente.
const int ledPin = 13;
int ledState = LOW;
long previousMillis = 0; // memorizza il tempo dell’ultimo aggiornamento
// long perchè il tempo è in millisecondi
long interval = 1000; // interval at which to blink (milliseconds)
void setup() {
pinMode(ledPin, OUTPUT); // metto il piedino in Output
}
void loop(){
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;
// se il LED è On mettilo OFF e viceversa:
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;
digitalWrite(ledPin, ledState);
}
}
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LE CARATTERISTICHE
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins
14 (of which 6 provide PWM
output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory
32 KB (ATmega328) of which 0.5
KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – LE COMMUNITY
http://arduino.cc/forum/
http://www.instructables.com/
www.google.it
http://it.emcelettronica.com/arduino
San Secondo Parmense – Mirko Mancin 2013
ARDUINO – GLI STRUMENTI PER INIZIARE
IDE
TERMINALE
SERVER DATI
DESIGNER
San Secondo Parmense – Mirko Mancin 2013
DIY – DO IT YOURSELF
(http://www.doityourself.com/)
Do-It-Yourself (DIY) è un termine usato per descrivere la progettazione, modifica o
riparazione di qualcosa senza l'ausilio di esperti o professionisti. La frase fai da te è
entrata in uso comune nel 1950 come riferimento ai progetti di miglioramento
domestico che le persone potrebbero autonomamente fare indipendentemente.
Negli ultimi anni, il termine DIY ha assunto un significato più ampio che copre una vasta
gamma di abilità. Grazie alla concezione di fai da te sono nate vere e proprie comunità di
nicchia nelle quali è possibile discutere, commentare, migliorare progetti con dispositivi
differenti (come nel caso di Arduino). Per questo motivo, non sono più necessari mesi di
studio per sviluppare progetti basati su questi dispositivi: bastano, infatti, poche
settimane per fare progetti veramente interessanti.
Per esempio Sebastian Alegria, un ragazzo di quattordici anni cileno, ha creato un
sistema di rilevamento per i terremoti e li pubblica su twitter ed ha anticipato un
progetto governativo di un anno.
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
DSG Lab
San Secondo Parmense – Mirko Mancin 2013
http://dsg.ce.unipr.it
• peer-to-peer computing
• mobile and pervasive computing
• service-oriented architectures
• autonomic computing
• inter-vehicular networks
• context-awareness and localization
Scheda Arduino UNO che raccoglie i dati ambientali
e li invia al server attraverso un modulo WiFi.
Sensore di
luminosità
Sensore
di CO2
Sensore di
temperatura
e umidità
Modulo per
comunicazione
WiFi
Scheda per il monitoraggio ambientale
1
San Secondo Parmense – Mirko Mancin 2013
Schede Arduino UNO che monitorano la presenza di persone all’interno dell’ambiente.
Comunicano tra di loro con il protocollo ZigBee e inviano i dati al server
attraverso la porta Ethernet.
Modulo Xbee
Modulo Xbee
Microfono
PIR
Lettore
RFID
TAG
RFID
Ethernet
Schede per il riconoscimento e l’identificazione
2A 2B
San Secondo Parmense – Mirko Mancin 2013
Ventole = impianto di
condizionamento
Led = Illuminazione
Servo motore = Finestre
Ethernet
Scheda per gli attuatori e l’Usb Host
Scheda Arduino Mega ADK con cui vengono simulati gli attuatori. È presente anche un
Usb Host attraverso cui è possibile collegare un device Android.
3
San Secondo Parmense – Mirko Mancin 2013
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
• Giochi:
Quadricottero (prima solo per scopi militari)
http://www.scoutuav.com/category/videos/
Controller ‘’Casalingo’’
http://arduino.cc/en/Main/ArduinoBoardEsplora
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
• Strumenti musicali:
Abiti musicali
http://www.gadgetblog.it/post/28173/ruffletron-e-un-prototipo-di-abito-
musicale-che-sindossa-con-arduino
Controller MIDI
http://www.coagula.org/content/it/pages/come-costruire-un-midi-ribbon-
controller-con-arduino
Arpa Laser
http://www.youtube.com/watch?v=sLVXmsbVwUs
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
• Ambito medico:
Dispositivo che analizza e rileva il DNA
http://openpcr.org/
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
• Ambito assistenziale:
Guanti che rilevano il linguaggio dei segni e li trasformano in suoni
http://www.wikiculture.net/2012/05/15/quando-la-tecnologia-riesce-ad-
abbattere-le-barriere/
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
• Ambito artistico:
Txtbomber, è un dispositivo con il quale, inserendo un messaggio di testo
come su un cellulare, e possibile poi aerografarlo dove si vuole con un
semplice spruzzo di bomboletta
http://arduino.cc/blog/2010/07/29/txtbomber-prints-messages-on-walls/
Stampanti 3D
http://reprap.org/wiki/Main_Page
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
• Ambito naturalistico:
Dispositivo che rileva lo stato del benessere di una pianta e che interagisce
con un account twitter
http://comunitadigitali.blogosfere.it/2012/08/arduino-e-la-pianta-che-si-
innaffia-da-sola.html
San Secondo Parmense – Mirko Mancin 2013
COSA SI FA CON ARDUINO
• Ambito industriale:
Google si è interessata a questi dispositivi creando un Kit di sviluppo
accessori (ADK) con il quale è possibile interagire con uno smartphone o
tablet Android direttamente con una scheda Arduino
http://www.youtube.com/watch?v=XEe3dYBj7RE
San Secondo Parmense – Mirko Mancin 2013
PROGETTI DA REALIZZARE
• Robottino, una macchina taglia erba robot. Una falciatrice robotizzata
su base arduino. Un filo perimetrale sotterrato recinta l'area di lavoro
della falciatrice in modo che aiuole (ma soprattutto marciapiedi e
strade) non vengano falciate : )
• Controllo strumenti musicali via arduino, touch screen e pure-data.
• Macchina radio comandata via bluetooth (possibilmente
con connessione diretta quella che ho fatto io presuppone un po' di
casino in più)
• CNC con pezzi di vecchia stampante ink-jet
• Sperimentazione di board arduino clone cinese dalle caratteristiche
interessanti ma dalla documentazione assente (o aliena). La board in
questione ha integrata la possibilità di connessione ethernet, wifi, e
socket per Xbee e forse fa anche il caffè. Tutto integrato ad un prezzo +
che interessante.
San Secondo Parmense – Mirko Mancin 2013
PROGETTI DA REALIZZARE
• Robot
• Impianto domotico
• Macchina RC (link)
• "contro-campanella" della scuola
• Garduino (link)
• Robot che segue pista nera
• Middleware per arduino
San Secondo Parmense – Mirko Mancin 2013
PROGETTI DA REALIZZARE
Progetti più piccoli
• Timer con allarme
• Impianto semaforico
• Strumento musicale (es con buzzer)
• Stazione metereologica
• Identificazione IR di un telecomando (link)
• Seriale su display LCD
• Contagiri per bicicletta (link)
• Lampada RGB (link)
• Cubo di led (link)
• http://www.instructables.com/id/Intro-to-Arduino/
• http://www.instructables.com/id/Secret-Knock-Detecting-Door-Lock/
San Secondo Parmense – Mirko Mancin 2013
EVENTI
http://www.fablabreggioemilia.org/
Arduino da Giugno 2012 organizza dei
workshop per far conoscere la
piattaforma e per condividere le idee di
chiunque voglia partecipare.
Il prossimo workshop #arduinotour, si
terrà a Reggio Emilia a fine gennaio (25-
26-27), presso il neonato Fablab ospitato
all’interno dello Spazio Gerra.
Se volete portare l’#arduinotour a casa
vostra riempite questo form. Se volete
spargere il verbo fate il like sulla pagina
dell’arduinotour su facebook.
San Secondo Parmense – Mirko Mancin 2013
RIFERIMENTI
www.mancio90.it
mirkomancin90@gmail.com

More Related Content

What's hot

Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreMirko Mancin
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreMirko Mancin
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Daniele Costarella
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoMirco Piccin
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progettiMirco Piccin
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Michele Maffucci
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreMirko Mancin
 
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Michele Maffucci
 
Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011Michele Maffucci
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Michele Maffucci
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italyMichele Maffucci
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphonedega1999
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Michele Maffucci
 
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milanofreedomotic
 
Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4Michele Maffucci
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione ArduinoAntonio Serra
 

What's hot (20)

Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 ore
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1
 
Arduino: domotica OpenSource
Arduino: domotica OpenSourceArduino: domotica OpenSource
Arduino: domotica OpenSource
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 Arduino
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progetti
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 ore
 
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1
 
Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italy
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milano
 
Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 

Viewers also liked

Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...Codemotion
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Sardegna Ricerche
 
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab VareseArduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab VareseFaberLab
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Michele Maffucci
 
Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8mdctech
 
Silent Bee Italian Honeycomb
Silent Bee Italian HoneycombSilent Bee Italian Honeycomb
Silent Bee Italian HoneycombRichard OBrien
 

Viewers also liked (9)

Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
 
Workshop su Arduino
Workshop su ArduinoWorkshop su Arduino
Workshop su Arduino
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
 
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab VareseArduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3
 
Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8
 
Arduino primo v1
Arduino primo v1Arduino primo v1
Arduino primo v1
 
Silent Bee Italian Honeycomb
Silent Bee Italian HoneycombSilent Bee Italian Honeycomb
Silent Bee Italian Honeycomb
 
Ape regina ( laboratorio)
Ape regina ( laboratorio)Ape regina ( laboratorio)
Ape regina ( laboratorio)
 

Similar to Lezione introduttiva su Arduino

Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Mirco Piccin
 
Internet degli Oggetti e Hardware Sociali
Internet degli Oggetti e Hardware SocialiInternet degli Oggetti e Hardware Sociali
Internet degli Oggetti e Hardware SocialiLeandro Agro'
 
Coding - intro -
Coding   - intro -Coding   - intro -
Coding - intro -alexperoni
 
Presentazione tesina
Presentazione tesinaPresentazione tesina
Presentazione tesinachicosstefan
 
Guida al computer - Lezione 26 - Lo scanner parte 1
Guida al computer - Lezione 26 - Lo scanner parte 1Guida al computer - Lezione 26 - Lo scanner parte 1
Guida al computer - Lezione 26 - Lo scanner parte 1caioturtle
 
Concetti Di Base Di Informatica
Concetti Di Base Di InformaticaConcetti Di Base Di Informatica
Concetti Di Base Di InformaticaFrancesco Caliulo
 
IoT Saturday PN 2019 - S8-6 Francesco Not
IoT Saturday PN 2019 - S8-6 Francesco NotIoT Saturday PN 2019 - S8-6 Francesco Not
IoT Saturday PN 2019 - S8-6 Francesco NotFrancesco Not
 
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArchimedea s.r.l
 
Impariamo a conoscere il pc
Impariamo a conoscere il pcImpariamo a conoscere il pc
Impariamo a conoscere il pcMeryweb
 
Internet better life
Internet better lifeInternet better life
Internet better lifeLeandro Agro'
 
Leandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better lifeLeandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better lifeToscanalab
 
Presentazione tesina
Presentazione tesinaPresentazione tesina
Presentazione tesinachicosstefan
 
Da Internet al Social Web e alle reti sociali di relazioni (2015)
Da Internet al Social Web e alle reti sociali di relazioni (2015)Da Internet al Social Web e alle reti sociali di relazioni (2015)
Da Internet al Social Web e alle reti sociali di relazioni (2015)Bettina Todisco
 

Similar to Lezione introduttiva su Arduino (20)

Iuavcamp presentazione
Iuavcamp presentazioneIuavcamp presentazione
Iuavcamp presentazione
 
Arduino day
Arduino dayArduino day
Arduino day
 
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
 
Internet degli Oggetti e Hardware Sociali
Internet degli Oggetti e Hardware SocialiInternet degli Oggetti e Hardware Sociali
Internet degli Oggetti e Hardware Sociali
 
Coding - intro -
Coding   - intro -Coding   - intro -
Coding - intro -
 
Presentazione tesina
Presentazione tesinaPresentazione tesina
Presentazione tesina
 
Guida al computer - Lezione 26 - Lo scanner parte 1
Guida al computer - Lezione 26 - Lo scanner parte 1Guida al computer - Lezione 26 - Lo scanner parte 1
Guida al computer - Lezione 26 - Lo scanner parte 1
 
Concetti Di Base Di Informatica
Concetti Di Base Di InformaticaConcetti Di Base Di Informatica
Concetti Di Base Di Informatica
 
IoT Saturday PN 2019 - S8-6 Francesco Not
IoT Saturday PN 2019 - S8-6 Francesco NotIoT Saturday PN 2019 - S8-6 Francesco Not
IoT Saturday PN 2019 - S8-6 Francesco Not
 
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @Archimedea
 
Impariamo a conoscere il pc
Impariamo a conoscere il pcImpariamo a conoscere il pc
Impariamo a conoscere il pc
 
Internet better life
Internet better lifeInternet better life
Internet better life
 
Leandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better lifeLeandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better life
 
Arduino day 2017
Arduino day 2017Arduino day 2017
Arduino day 2017
 
Presentazione tesina
Presentazione tesinaPresentazione tesina
Presentazione tesina
 
O.D.I.N.O.
O.D.I.N.O.O.D.I.N.O.
O.D.I.N.O.
 
UX: HW e/è SOCIAL
UX: HW e/è SOCIALUX: HW e/è SOCIAL
UX: HW e/è SOCIAL
 
Warner keynote2012
Warner keynote2012Warner keynote2012
Warner keynote2012
 
Informatica Presente e Futuro
Informatica Presente e FuturoInformatica Presente e Futuro
Informatica Presente e Futuro
 
Da Internet al Social Web e alle reti sociali di relazioni (2015)
Da Internet al Social Web e alle reti sociali di relazioni (2015)Da Internet al Social Web e alle reti sociali di relazioni (2015)
Da Internet al Social Web e alle reti sociali di relazioni (2015)
 

More from Mirko Mancin

CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Tesi Magistrale 2014
Tesi Magistrale 2014Tesi Magistrale 2014
Tesi Magistrale 2014Mirko Mancin
 
Kangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machineKangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machineMirko Mancin
 
Wireless Open Weather (WOW)
Wireless Open Weather (WOW)Wireless Open Weather (WOW)
Wireless Open Weather (WOW)Mirko Mancin
 

More from Mirko Mancin (6)

CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Tesi Magistrale 2014
Tesi Magistrale 2014Tesi Magistrale 2014
Tesi Magistrale 2014
 
Kangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machineKangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machine
 
Wireless Open Weather (WOW)
Wireless Open Weather (WOW)Wireless Open Weather (WOW)
Wireless Open Weather (WOW)
 

Recently uploaded

CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaRafael Figueredo
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.giuliofiorerm
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 

Recently uploaded (10)

CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 

Lezione introduttiva su Arduino

  • 1. SISTEMI EMBEDDED Il caso Arduino San Secondo Parmense 2013
  • 2. San Secondo Parmense – Mirko Mancin 2013 In elettronica e informatica, con il termine sistema embedded (generalmente tradotto in italiano con sistema immerso o incorporato) s’identificano genericamente tutti quei sistemi elettronici di elaborazione a microprocessore progettati appositamente per una determinata applicazione (special purpose) ovvero non riprogrammabili dall'utente per altri scopi, spesso con una piattaforma hardware ad hoc, integrati nel sistema che controllano ed in grado di gestirne tutte o parte delle funzionalità richieste. SISTEMA EMBEDDED
  • 3. San Secondo Parmense – Mirko Mancin 2013 Un microcontrollore è il «genere di computer in miniatura» che potete trovare in ogni genere di oggetti. Se possiede dei tasti e un display, è probabile che abbia anche un cervello a microcontrollore. QUANTI MICROCONTROLLORI AVETE USATO OGGI? • Sistemi di frenata per automobili • Macchine industriali • Auto-focus delle fotocamere • Telefoni cordless • Card reader • Sistemi per test medici • Caricatori per batteria • DVD player • Navigatori • Robot • Impianti domotici • …
  • 4. San Secondo Parmense – Mirko Mancin 2013 I SE sono sistemi di elaborazione in stretta relazione con l'ambiente in cui operano. Essi sono diversi dai sistemi general purpose (PC). Ognuno di noi viene a contatto con circa 100 dispositivi a uP embedded al giorno. QUANTI MICROCONTROLLORI AVETE USATO OGGI? • Sistemi di frenata per automobili • Macchine industriali • Auto-focus delle fotocamere • Telefoni cordless • Card reader • Sistemi per test medici • Caricatori per batteria • DVD player • Navigatori • Robot • Impianti domotici • …
  • 5. San Secondo Parmense – Mirko Mancin 2013 La differenza sostanziale tra un PC general purpose e un SE è che il primo deve essere prima di tutto versatile, adatto ad ogni esigenza ed uso differente, mentre il secondo deve invece essere ottimizzato per un determinato impiego. MA NON POSSO USARE UN SEMPLICE PC? Un progetto realizzato con un Sistema Embedded dipende da: 1. Scenari di utilizzo; 2. Requisiti funzionali; 3. Vincoli di progetto Nello spazio delle soluzioni, in base ai vincoli preposti si cercherà quella più adatta.
  • 6. San Secondo Parmense – Mirko Mancin 2013 SCENARIO Ambiente domestico
  • 7. San Secondo Parmense – Mirko Mancin 2013 REQUISITI FUNZIONALI Ambiente domestico Interazione uomo-ambiente
  • 8. San Secondo Parmense – Mirko Mancin 2013 VINCOLI PROGETTUALI Ambiente domestico Interazione uomo-ambiente Integrazione di sensori e dispositivi per rendere l’ambiente INTELLIGENTE
  • 9. San Secondo Parmense – Mirko Mancin 2013 UN ALTRO PUNTO DI VISTA
  • 10. San Secondo Parmense – Mirko Mancin 2013 UN ALTRO PUNTO DI VISTA • Prodotto consumer (la banale macchina fotografica!!!) • Oggetto da integrare in uno smartphone (esempio per leggere i codici QR) • Funzione FOTO in una video camera (per ampliare funzionalità di un oggetto) • Rilevatore di calore (per scopi militari) • Dispositivo di inquadramento per un robot (per scopi assistenziali) • Oggetto da integrare in giocattoli ( esempio la Kinect della XBOX) • …
  • 11. San Secondo Parmense – Mirko Mancin 2013 CONTESTI APPLICATIVI PER UN SISTEMA EMBEDDED • Infrastrutture ed edilizia (autostrade, ponti, aereoporti, uffici, abitazioni, commerciale, …) • Sistemi mobili (persone, animali, salute, …) • Industriale (automobili, aerospaziale, automazione, consumer, …)
  • 12. San Secondo Parmense – Mirko Mancin 2013 I PRINCIPALI SISTEMI EMBEDDED ARDUINO RASPBERRY PIC FRIENDLY ARM OPEN PICUS LIBELIUM
  • 13. San Secondo Parmense – Mirko Mancin 2013 LA FILOSOFIA ARDUINO La prototipizzazione è il cuore della filosofia Arduino: facciamo cose e costruiamo oggetti che interagiscono con altri oggetti, persone e reti. Ci sforziamo di trovare un modo più facile e veloce di prototipare nel modo più economico possibile. L’obiettivo per molti principianti che si avvicinano all’elettronica è quello di vedere subito qualcosa che funziona, in modo da sentirsi motivati ad eseguire il passo successivo o motivare qualcun altro a fornirci il denaro per farlo. Perché perdere tempo ed energia a costruire qualcosa da zero quando qualcuno ha già realizzato dispositivi già pronti all’uso?
  • 14. San Secondo Parmense – Mirko Mancin 2013 LA FILOSOFIA ARDUINO Riutilizzare la tecnologia esistente è una delle forme migliori di tinkering. Procurarsi giocattoli economici o vecchie attrezzature che andrebbero buttate e modificarle per creare qualcosa di nuovo è uno dei modi migliori per ottenere ottimi risultati. Con il termine patching si intende la possibilità di costruire sistemi complessi collegando tra loro dispositivi semplici. Esempio i musicisti hanno costruito suoni, cercando infinite combinazioni mettendo insieme (patching) diversi moduli con cavi.
  • 15. San Secondo Parmense – Mirko Mancin 2013 LA FILOSOFIA ARDUINO Si possono implementare nuovi modi di interagire con il software, sostituendo i tasti con dispositivi in grado di sentire l’ambiente. Se smontate una tastiera di un computer scoprirete un dispositivo molto semplice (ed economico). Il suo cuore è una piccola scheda con una serie di contatti che vanno ai due strati di plastica che contengono le connessioni dei tasti. Se provate a fare ponte tra i due contatti, sullo schermo apparirà la lettera corrispondente. Se ora immaginate di attaccare un sensore di movimento e lo collegate alla tastiera, noterete che ogni volta che passa qualcuno, sul computer verrà visualizzata una lettera. Se riuscite a creare un software che ‘’correli’’ questi dati avete reso il computer intelligente più di un orinatoio. ‘’Scusate l’espressione, ma gli orinatoi maschili sono più intelligenti dei computer. I computer sono isolati da ciò che li circonda’’ (A.Pentland – MIT Lab, 1998)
  • 16. San Secondo Parmense – Mirko Mancin 2013 LA FILOSOFIA ARDUINO Amiamo i rifiuti ed i giocattoli!! Oggigiorno la gente butta moltissimi oggetti tecnologici: vecchie stampanti, computer, strane macchine da ufficio, equipaggiamenti tecnici ma anche militari. Di questa tecnologia di scarto è sempre esistito un fiorente mercato, specie tra gli hacker più poveri o quelli che sono agli inizi. Ivrea era la città sede della Olivetti. A metà degli anni ‘90 buttava via tutti i suoi rifiuti dal rottamaio della zona. Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis hanno passato innumerevoli ore a cercare aggeggi di ogni sorta a prezzi bassissimi per riutilizzarli per i loro prototipi. Nel 2005 infatti nasce Arduino sempre ad Ivrea.
  • 17. San Secondo Parmense – Mirko Mancin 2013 LA FILOSOFIA ARDUINO Collaborazione La collaborazione tra utenti è uno dei principi chiave nel mondo di Arduino. Attraverso il forum su www.arduino.cc/it, persone di diverse parti del mondo si aiutano reciprocamente a imparare ad usare la scheda e i dispositivi con cui poterla integrare. Il team di Arduino incoraggia le persone a collaborare a livello locale, oltre ad aiutare a fondare gruppi utenti nelle città che visita. Esiste anche un Wiki di nome ‘’playground’’ dove gli utenti documentao le loro scoperte. La cultura della condivisione e dell’aiuto reciproco è un vanto per Arduino.
  • 18. San Secondo Parmense – Mirko Mancin 2013 ARDUINO: creare è un gioco da ragazzi Arduino: creare è un gioco da ragazzi
  • 19. San Secondo Parmense – Mirko Mancin 2013 COME FUNZIONA UN MICROCONTROLLORE Per quanto potente, il microprocessore integra sul chip solo la logica di elaborazione mentre richiede sempre delle unità esterne - memorie, gestori di segnali e dispositivi periferici per scambiare informazioni e interagire con l'esterno. Il microcontrollore è invece un sistema completo, che integra in uno stesso chip il processore, la memoria permanente, la memoria volatile e i canali (pin) di I/O, oltre ad eventuali altri blocchi specializzati. CONFRONTO TRA MICROPROCESSORE E MICROCONTROLLORE Caratteristica Microcontrollore Microprocessore Velocità massima di clock 200 MHz 4 GHz Capacità elaborativa in MegaFLOPS 200 5 000 Potenza minima dissipata in watt (in stato di elaborazione) 0,001 50 Prezzo minimo per singola unità in USD 0,5 50 Numero di pezzi venduti annualmente (in milioni) 11 000 1 000
  • 20. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LE PARTI PRINCIPALI 1. Una scheda elettronica (con le porte di I/O e un microcontrollore contenente un firmware) 2. Un ambiente di programmazione (ambiente di sviluppo sketch, linguaggio Arduino, Wiring ed eventualmente Processing) 3. La comunità degli utenti.
  • 21. San Secondo Parmense – Mirko Mancin 2013 IL FIRMWARE Il firmware è un programma, inteso come sequenza d’istruzioni, integrato direttamente in un componente elettronico nel senso più vasto del termine (integrati, schede elettroniche, periferiche). Lo scopo del programma è di avviare il componente stesso e consentirgli di interagire con altri componenti tramite l'implementazione di protocolli di comunicazione o interfacce di programmazione. Il termine deriva dall'unione di "firm" (azienda) e "ware" (componente), indica che il programma non è immediatamente modificabile dall'utente finale, ovvero risiede stabilmente nell'hardware integrato in esso, e che si tratta del punto di incontro fra componenti logiche e fisiche, ossia fra hardware e software. Quando si parla di firmware per una scheda elettronica (come una scheda di espansione per computer) questo generalmente trova posto all'interno di una memoria ROM o flash.
  • 22. San Secondo Parmense – Mirko Mancin 2013 ARDUINO - LO SKETCH BOOT SETUP(){ } LOOP(){ }
  • 23. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – IL MICROCONTROLLORE Arduino adotta i microcontrollori Atmel AVRmega. Arduino Uno ha un’interfaccia USB (del tipo ‘stampante’) per il collegamento e la programmazione da PC. E’ anche possibile collegare un programmatore esterno per AVR, attraverso l’interfaccia e il connettore ISP. Tuttavia, per la presenza di un bootloader precaricato, il programmatore esterno non è indispensabile. Inoltre, si può usare il linguaggio di programmazione ‘Processing’, sviluppato al MIT e basato su Java. Ovviamente, ‘Processing’ da solo non è Arduino.
  • 24. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – COME USARLO Arduino, una volta programmato, può funzionare autonomamente, alimentato da una batteria, da un alimentatore esterno oppure collegato a un PC e alimentato dalla USB. Basata su una semplice scheda input/output (I/O) e una ambiente di sviluppo che implementa il linguaggio processing (dialetto di C). Arduino può essere usato per sviluppare oggetti interattivi indipendenti o può essere collegato a un software sul computer (come Flash, processing, Java, …). Le schede possono essere assemblate a mano o comprate preassemblate; l’IDE è scaricabile da www.arduino.cc
  • 25. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE Strutture generali setup() loop() Strutture di controllo if if .. else for switch case while do .. while break continue return goto Segni di interpunzione usati ; { } // /*/ Direttive #define #include Tipi di dati void boolean char insigne char byte int insigne int word long intero a 32 bit con segno unsigned long intero a 32 sempre positiv float double string (di caratteri) String (oggetto) Array
  • 26. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE I/O Digitali pinMode() digitalWrite() digitalRead() I/O Analogici analogReference() analogRead() analogWrite() Avanzate tone() noTone() shiftOut() pulseIn() Gestione del tempo millis() micros() delay() delayMicroseconds() Funzioni matematiche min(), max(), abs() contrain() costringe un valore in un intervallo a, b operazioni + - * / % map() trasforma un intero da un intervallo ad un altro pow() Potenza sqrt() radice quadrata sin(), cos(), tan() Numeri casuali randomSeed() random() Operazioni sui bit e i bytes lowByte (), highByte() bitRead(), bitWrite() bitSet(), bitClear() bit() &(and su bit) |(or su bit) ^(xor) ~(not su bit) <<(shift a sinistra) >>(shift a destra)
  • 27. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE Costanti predefinite LOW, HIGH INPUT, OUTPUT Utilità sizeof() fornisce le dimensioni in byte di una variabile Gestioni interrupt esterni attachInterrupt() noInterrupt() Interrupt Interni interrupts() noInterrupts() Comunicazione seriale Serial Confronti = = != (diverso) < , > , <= , >= Booleani && (and) || (or) ! (not)
  • 28. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE Facciamo ‘’Blinkare’’ un LED. // Pin 13 has an LED connected on most Arduino boards. int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off delay(1000); // wait for a second }
  • 29. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LA SEMPLICITÀ NEL PROGRAMMARE Facciamo ‘’Blinkare’’ un LED, ma in modo più intelligente. const int ledPin = 13; int ledState = LOW; long previousMillis = 0; // memorizza il tempo dell’ultimo aggiornamento // long perchè il tempo è in millisecondi long interval = 1000; // interval at which to blink (milliseconds) void setup() { pinMode(ledPin, OUTPUT); // metto il piedino in Output } void loop(){ unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { // save the last time you blinked the LED previousMillis = currentMillis; // se il LED è On mettilo OFF e viceversa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; digitalWrite(ledPin, ledState); } }
  • 30. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LE CARATTERISTICHE Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz
  • 31. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – LE COMMUNITY http://arduino.cc/forum/ http://www.instructables.com/ www.google.it http://it.emcelettronica.com/arduino
  • 32. San Secondo Parmense – Mirko Mancin 2013 ARDUINO – GLI STRUMENTI PER INIZIARE IDE TERMINALE SERVER DATI DESIGNER
  • 33. San Secondo Parmense – Mirko Mancin 2013 DIY – DO IT YOURSELF (http://www.doityourself.com/) Do-It-Yourself (DIY) è un termine usato per descrivere la progettazione, modifica o riparazione di qualcosa senza l'ausilio di esperti o professionisti. La frase fai da te è entrata in uso comune nel 1950 come riferimento ai progetti di miglioramento domestico che le persone potrebbero autonomamente fare indipendentemente. Negli ultimi anni, il termine DIY ha assunto un significato più ampio che copre una vasta gamma di abilità. Grazie alla concezione di fai da te sono nate vere e proprie comunità di nicchia nelle quali è possibile discutere, commentare, migliorare progetti con dispositivi differenti (come nel caso di Arduino). Per questo motivo, non sono più necessari mesi di studio per sviluppare progetti basati su questi dispositivi: bastano, infatti, poche settimane per fare progetti veramente interessanti. Per esempio Sebastian Alegria, un ragazzo di quattordici anni cileno, ha creato un sistema di rilevamento per i terremoti e li pubblica su twitter ed ha anticipato un progetto governativo di un anno.
  • 34. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO
  • 35. DSG Lab San Secondo Parmense – Mirko Mancin 2013 http://dsg.ce.unipr.it • peer-to-peer computing • mobile and pervasive computing • service-oriented architectures • autonomic computing • inter-vehicular networks • context-awareness and localization
  • 36. Scheda Arduino UNO che raccoglie i dati ambientali e li invia al server attraverso un modulo WiFi. Sensore di luminosità Sensore di CO2 Sensore di temperatura e umidità Modulo per comunicazione WiFi Scheda per il monitoraggio ambientale 1 San Secondo Parmense – Mirko Mancin 2013
  • 37. Schede Arduino UNO che monitorano la presenza di persone all’interno dell’ambiente. Comunicano tra di loro con il protocollo ZigBee e inviano i dati al server attraverso la porta Ethernet. Modulo Xbee Modulo Xbee Microfono PIR Lettore RFID TAG RFID Ethernet Schede per il riconoscimento e l’identificazione 2A 2B San Secondo Parmense – Mirko Mancin 2013
  • 38. Ventole = impianto di condizionamento Led = Illuminazione Servo motore = Finestre Ethernet Scheda per gli attuatori e l’Usb Host Scheda Arduino Mega ADK con cui vengono simulati gli attuatori. È presente anche un Usb Host attraverso cui è possibile collegare un device Android. 3 San Secondo Parmense – Mirko Mancin 2013
  • 39. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO • Giochi: Quadricottero (prima solo per scopi militari) http://www.scoutuav.com/category/videos/ Controller ‘’Casalingo’’ http://arduino.cc/en/Main/ArduinoBoardEsplora
  • 40. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO • Strumenti musicali: Abiti musicali http://www.gadgetblog.it/post/28173/ruffletron-e-un-prototipo-di-abito- musicale-che-sindossa-con-arduino Controller MIDI http://www.coagula.org/content/it/pages/come-costruire-un-midi-ribbon- controller-con-arduino Arpa Laser http://www.youtube.com/watch?v=sLVXmsbVwUs
  • 41. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO • Ambito medico: Dispositivo che analizza e rileva il DNA http://openpcr.org/
  • 42. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO • Ambito assistenziale: Guanti che rilevano il linguaggio dei segni e li trasformano in suoni http://www.wikiculture.net/2012/05/15/quando-la-tecnologia-riesce-ad- abbattere-le-barriere/
  • 43. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO • Ambito artistico: Txtbomber, è un dispositivo con il quale, inserendo un messaggio di testo come su un cellulare, e possibile poi aerografarlo dove si vuole con un semplice spruzzo di bomboletta http://arduino.cc/blog/2010/07/29/txtbomber-prints-messages-on-walls/ Stampanti 3D http://reprap.org/wiki/Main_Page
  • 44. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO • Ambito naturalistico: Dispositivo che rileva lo stato del benessere di una pianta e che interagisce con un account twitter http://comunitadigitali.blogosfere.it/2012/08/arduino-e-la-pianta-che-si- innaffia-da-sola.html
  • 45. San Secondo Parmense – Mirko Mancin 2013 COSA SI FA CON ARDUINO • Ambito industriale: Google si è interessata a questi dispositivi creando un Kit di sviluppo accessori (ADK) con il quale è possibile interagire con uno smartphone o tablet Android direttamente con una scheda Arduino http://www.youtube.com/watch?v=XEe3dYBj7RE
  • 46. San Secondo Parmense – Mirko Mancin 2013 PROGETTI DA REALIZZARE • Robottino, una macchina taglia erba robot. Una falciatrice robotizzata su base arduino. Un filo perimetrale sotterrato recinta l'area di lavoro della falciatrice in modo che aiuole (ma soprattutto marciapiedi e strade) non vengano falciate : ) • Controllo strumenti musicali via arduino, touch screen e pure-data. • Macchina radio comandata via bluetooth (possibilmente con connessione diretta quella che ho fatto io presuppone un po' di casino in più) • CNC con pezzi di vecchia stampante ink-jet • Sperimentazione di board arduino clone cinese dalle caratteristiche interessanti ma dalla documentazione assente (o aliena). La board in questione ha integrata la possibilità di connessione ethernet, wifi, e socket per Xbee e forse fa anche il caffè. Tutto integrato ad un prezzo + che interessante.
  • 47. San Secondo Parmense – Mirko Mancin 2013 PROGETTI DA REALIZZARE • Robot • Impianto domotico • Macchina RC (link) • "contro-campanella" della scuola • Garduino (link) • Robot che segue pista nera • Middleware per arduino
  • 48. San Secondo Parmense – Mirko Mancin 2013 PROGETTI DA REALIZZARE Progetti più piccoli • Timer con allarme • Impianto semaforico • Strumento musicale (es con buzzer) • Stazione metereologica • Identificazione IR di un telecomando (link) • Seriale su display LCD • Contagiri per bicicletta (link) • Lampada RGB (link) • Cubo di led (link) • http://www.instructables.com/id/Intro-to-Arduino/ • http://www.instructables.com/id/Secret-Knock-Detecting-Door-Lock/
  • 49. San Secondo Parmense – Mirko Mancin 2013 EVENTI http://www.fablabreggioemilia.org/ Arduino da Giugno 2012 organizza dei workshop per far conoscere la piattaforma e per condividere le idee di chiunque voglia partecipare. Il prossimo workshop #arduinotour, si terrà a Reggio Emilia a fine gennaio (25- 26-27), presso il neonato Fablab ospitato all’interno dello Spazio Gerra. Se volete portare l’#arduinotour a casa vostra riempite questo form. Se volete spargere il verbo fate il like sulla pagina dell’arduinotour su facebook.
  • 50. San Secondo Parmense – Mirko Mancin 2013 RIFERIMENTI www.mancio90.it mirkomancin90@gmail.com