ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 IZ1MHN e IW1ALX ARI Sezione di Ivrea Serate tecniche 2012 Agenda —  Introduzione ad Arduino —  Arduino l’hardware —  Arduino il software —  Alcune idee realizzabili con Arduino —  E se facessimo… un corso? Serate Tecniche 2010 1 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Introduzione ad Arduino — Cos’è Arduino — Un po’ di storia — Open source — Open Hardware ARI Sezione di Ivrea Serate tecniche 2012 Cos’è Arduino “Arduino is an open-­‐source electronics prototyping platform based on flexible, easy-­‐to-­‐use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.” (dal sito ufficiale di Arduino) Serate Tecniche 2010 2 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Cos’è Arduino In pratica… —  Una scheda —  Un ambiente di sviluppo —  Una filosofia e una community ARI Sezione di Ivrea Serate tecniche 2012 La storia di Arduino —  Il progetto nasce in Italia ad Ivrea, nel 2005, con lo scopo di rendere disponibile per i progetti di Interaction Design realizzati da studenti, un dispositivo per il controllo che fosse più economico rispetto ad altri sistemi di prototipazione disponibili all’epoca. —  Il team di Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis. Serate Tecniche 2010 3 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Open Source —  Da Wikipedia —  In informatica, open source (termine inglese che significa sorgente aperta) indica un software i cui autori (più precisamente i detentori dei diritti) ne permettono, anzi ne 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. ARI Sezione di Ivrea Serate tecniche 2012 Open Hardware —  Da Wikipedia: —  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). … . Il termine viene principalmente usato per esprimere la libera divulgazione di informazioni riguardanti il progetto stesso dell'hardware, comprendente gli schemi, la lista dei materiali, il layout dei dati del circuito stampato, solitamente insieme al FOSS per far girare l'hardware. Serate Tecniche 2010 4 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Open Hardware —  Infatti per Arduino abbiamo disponibili —  Gli schemi —  I PCB e le BOM —  Il codice per il bootload —  Ovviamente anche l’IDE e il linguaggio sono Open Source ARI Sezione di Ivrea Serate tecniche 2012 Open Hardware —  Ad esempio, per Arduino UNO: http://arduino.cc/en/
Main/ArduinoBoardUno Serate Tecniche 2010 5 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Arduino: l’hardware — Arduino Uno R3 — Arduino Mega 2560 — Arduino Ethernet — Arduino “Cloni” — Gli shield ARI Sezione di Ivrea Serate tecniche 2012 Arduino UNO R3 Serate Tecniche 2010 6 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Arduino UNO R3 ARI Sezione di Ivrea Serate tecniche 2012 Arduino MEGA 2560 Serate Tecniche 2010 7 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Arduino Ethernet Microcontroller
Operating4Voltage
Input4Voltage4Plug4(recommended)
Input4Voltage4Plug4(limits)
Input4Voltage4PoE4(limits)
Digital4I/O4Pins
Arduino4Pins4reserved:
Analog4Input4Pins
DC4Current4per4I/O4Pin
DC4Current4for43.3V4Pin
Flash4Memory
SRAM
EEPROM
Clock4Speed
W51004TCP/IP4Embedded4Ethernet4Controller
Power4Over4Ethernet4ready4Magnetic4Jack
Micro4SD4card,4with4active4voltage4translators
ATmega328
5V
7>12V
6>20V
36>57V
144(of4which444provide4PWM4output)
104to4134used4for4SPI
44used4for4SD4card
24W51004interrupt4(when4bridged)
6
404mA
504mA
324KB4(ATmega328)
24KB4(ATmega328)
14KB4(ATmega328)
164MHz
ARI Sezione di Ivrea Serate tecniche 2012 Arduino altre —  Arduino BT —  Arduino Leonardo —  Arduino LilyPad —  Arduino Fio —  Arduino Pro —  Arduino Nano —  Arduino Mini —  Arduino Pro Mini Serate Tecniche 2010 8 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Arduino “Cloni” —  Gli schemi, la BOM, i PCB sono tutti disponibili. —  Sul sito viene illustrato come fare la “Arduino Single-­‐Sided Serial Board” —  Volendo basta procurarsi il micro ANCHE non programmato (ma è più semplice se ne avete almeno uno già programmato!) ARI Sezione di Ivrea Serate tecniche 2012 Arduino da 0 —  Per caricare il bootloader: —  http://www.ladyada.net/library/arduino/
arduinoisp.htm —  http://www.arduino.cc/en/Hacking/Bootloader —  Per realizzare una “scheda” —  http://www.instructables.com/id/Standalone-­‐Arduino-­‐
ATMega-­‐chip-­‐on-­‐breadboard/ —  http://www.jameco.com/Jameco/workshop/
JamecoBuilds/arduinocircuit.html Serate Tecniche 2010 9 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Gli shield —  Uno Shield è una scheda che viene tipicamente connessa direttamente ad una board Arduino per compiere uno o più “compiti”. —  LCD —  Rete (wired, wireles, BT, RFID…) —  I/O —  Esiste una lista aggiornata degli shield principali: http://shieldlist.org —  Al momento: 288 shields from 116 makers, and counting! ARI Sezione di Ivrea Serate tecniche 2012 Arduino: il soRware — L’IDE — Il linguaggio — Gli sketch — Un velocissimo esempio Serate Tecniche 2010 10 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 IDE —  “Arduino development environment” È l’ambiente di sviluppo di Arduino —  Basato su Processing —  Si scarica da: http://arduino.cc/en/Main/Software —  Multipiattaforma: —  Windows 32 e 64 —  Mac OSX —  Linux —  È simile ad un editor di testo e consente di: —  Scrivere il codice —  Caricarlo sulla scheda —  Fare il debug ARI Sezione di Ivrea Serate tecniche 2012 IDE Serate Tecniche 2010 11 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Il linguaggio —  Nasce da Wiring, ricorda il C —  http://arduino.cc/en/Reference/HomePage —  Si compone di tre “parti”: —  Strutture — 
Setup, loop, strutture logiche e gli operatori —  Valori — 
Costanti e varibili —  Funzioni — 
I/O digitale e analogico, matematiche, gestione del “tempo”, interrupt e analogiche ARI Sezione di Ivrea Serate tecniche 2012 Gli Sketch —  Uno Sketch è un programma nel gergo di Arduino. In pratica è ciò che viene caricato nel micro. —  Si compone di due aree principali —  La dichiarazione delle variabili —  Le funzioni —  È buona norma aggiungere una terza parte all’inizio: i commenti Serate Tecniche 2010 12 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Un velocissimo esempio /* semplice sketch che fa lampeggiare un led */ // Normalmente il PIN 13 ha un led connesso. // battezziamo il pin 13 con il nome LED: int led = 13; void setup() { /Definiamo il PIN 13 come un Output. pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); // Accende il LED delay(1000); // aspetta un secondo digitalWrite(led, LOW); // Spegne il LED delay(1000); // aspetta un secondo } ARI Sezione di Ivrea Serate tecniche 2012 Un velocissimo esempio —  Commenti iniziali —  Tutto il testo (anche multilinea) compreso tra /* e */ viene considerato un commento —  Se una linea inizia con // è considerata un commento —  Usate sempre i commenti: dopo tre mesi che avete scritto uno sketch… Serate Tecniche 2010 13 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Un velocissimo esempio —  Setup () —  È la funzione che viene eseguita all’avvio della scheda. —  Viene eseguita UNA sola volta —  Viene usata per inizializzare le variabili, definire il modo dei pin, gestire le librerie… void setup() { // imposto i pin da 0 a 9 come Output // ricordarsi che i pin da 10 a 13 sono usati dall Ethernet Shield for(int i= 0; i < 10; i++) pinMode(i, OUTPUT); //configuro l'interfaccia Ethernet Ethernet.begin(mac, ip, gateway, subnet); //avvio il server server.begin(); } ARI Sezione di Ivrea Serate tecniche 2012 Un velocissimo esempio —  Loop () —  È la funzione principale —  Contiene il corpo principale del programma —  Viene eseguito continuamente fino al reset della scheda void loop() { // Controllo se ho ricevuto una nuova connessione // Se si, stampo il banner di benvenuto e imposto il flag di connesso a 1 if (server.available() && !connectFlag) { connectFlag = 1; client = server.available(); client.println("\nTelnet Server di AGT70"); client.println("per aiuto usare ?"); printPrompt(); } Serate Tecniche 2010 14 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Arduino: alcune idee… —  Con Arduino (come con altri micro) si possono realizzare 1000 progetti. —  Dalla sua ha un basso costo, un’ottima documentazione e una community di utenti in continua espansione. —  I progetti fatti con Arduino spaziano dalla robotica al radiantismo passando attraverso … tutto! —  Ad esempio: —  Un timer —  Un crono… —  Una ciabatta controllata via Internet —  … ARI Sezione di Ivrea Serate tecniche 2012 Arduino: —  E… se facessimo un corso pratico finalizzato a produrre un kit? —  Ad esempio: —  Un alimentatore controllato in tensione e corrente —  Un rosmetro —  Un accordatore —  Un digipeater APRS —  Un… che proponete? Serate Tecniche 2010 15 ARI Sezione di Ivrea 19/02/2010 ARI Sezione di Ivrea Serate tecniche 2012 Corso: cosa occorrerebbe? —  Arduino Uno R3 —  Una breadboard —  Un LCD (o uno shield LCD) —  Un modulo RTC —  Un po’ di rumenta… —  Resistenze —  Potenziometro —  Led —  Relay —  Un computer portatile (o uno in due o tre) —  Un po’ di pazienza per sopportare noi due ;-­‐) Serate Tecniche 2010 16 
Scarica

Slide della serata