際際滷

際際滷Share a Scribd company logo
ARDUINO
&
RASPBERRY PI
CASI DI OPEN HARDWARE EMBEDDED
Parma  Mirko Mancin 2014
ARDUINO
Parma  Mirko Mancin 2014
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.
ARDUINO  IN SINTESI
Parma  Mirko Mancin 2014
 Processore: ATMEGAxxx AVR microcontroller
 I/O: Header per pin analogici, digitali, seriali, power
 Porta USB e convertitore USB-Seriale
 Regolatore di potenza
 Tasto di reset
 Led di status
 Scheda di PROTOTIPIZZAZIONE!!
ARDUINO  LE DIVERSE SCHEDE
Parma  Mirko Mancin 2014
Arduino UNO LilyPad Arduino Arduino Nano
Arduino Leonardo Arduino Mega 2560Arduino Mini
ARDUINO  LE DIVERSE SCHEDE
Parma  Mirko Mancin 2014
Arduino Due Arduino Yun
Arduino Zero
Arduino Tre
Arduino Galileo
ARDUINO  LE SHIELD
Parma  Mirko Mancin 2014
Tassello fondamentale del
successo di arduino sono le
shield.
Si trattano di 束espansioni損 per
Arduino che permettono di
aggiungere sopra di essi ulteriori
funzionalit
Motor ShieldEthernet Shield Proto Shield
WiFiXbeeWireless Shield
ARDUINO  COSA C DI DIVERSO
Parma  Mirko Mancin 2014
 Piattaforma di prototipazione elettronica open-source che si basa su hardware e software flessibili
e facili da usare;
 Scheda molto economica (a partire da 30 euro), che sta nel palmo di una mano e consente di
applicare sensori, attuatori e altre componenti elettroniche per poi programmarle con semplicit;
 Circuiti open source => open hardware;
 Non serve costruirsi la 束base elettronica損 da zero;
 Elettronica quasi 束plug&play損.
ARDUINO  COME SI PROGRAMMA
Parma  Mirko Mancin 2014
BOOT
SETUP()
{
}
LOOP()
{
}
http://arduino.cc/en/Main/Software
IDE Arduino
Atmel Visual Studio 6
ARDUINO  BLINK (HELLO WORLD)
Parma  Mirko Mancin 2014
const int ledPin = 13;
int ledState = LOW;
long previousMillis = 0; // memorizza il tempo dellultimo aggiornamento
// long perch竪 il tempo 竪 in millisecondi
long interval = 1000; // intervallo di lampeggio (millisecondi)
void setup() {
pinMode(ledPin, OUTPUT); // metto il piedino in Output
}
void loop(){
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
// Salvo il tempo dellultima volta che ha lampeggiato il LED
previousMillis = currentMillis;
// se il LED 竪 On mettilo OFF e viceversa:
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;
digitalWrite(ledPin, ledState);
}
}
ARDUINO  I/O
Parma  Mirko Mancin 2014
Nello schema di Arduino UNO in verde sono
raffigurati 14 PIN digitali ON/OFF sia IN che OUT.
I PIN 0 e 1 solitamente non vengono utilizzati nei
collegamenti perch辿 adibiti alla comunicazione
seriale con il PC (USB) o con altri dispositivi.
In basso a destra sono rappresentati con il colore
celeste i 6 PIN analogici, utilizzabili in ingresso con
una risoluzione di 2^10 (1024).
Inoltre sono disponibili altri pin come quello verde
acqua a destra per collegare dispositivi in SPI o le
shield.
ARDUINO  I/O DIGITALE
Parma  Mirko Mancin 2014
In entrambi i componenti 竪 presente una resistenza: nel
caso del LED dobbiamo limitare la corrente a 10mA, quindi
andremo ad utilizzare una resistenza di
330立 = (5V-1,6V)/0,01A.
Nel caso dell'ingresso, invece, dobbiamo proteggere
ARDUINO; l'amperaggio massimo consentito 竪 di 40mA ma
la guida ufficiale consiglia di utilizzare una resistenza di
470立 quindi con i 10mA che otteniamo stiamo su una soglia
decisamente pi湛 sicura.
 possibile anche attivare le resistenze interne di ARDUINO
via software.
Controlliamo l'accensione del LED mediante il PIN 13 e
leggiamo lo stato del pulsante tramite il PIN 3. Lo stato del
pulsante dipende ovviamente dal fatto se 竪 normalmente
aperto o chiuso e dalla resistenza applicata. Vi consiglio di
fare delle prove per capire cosa sta leggendo ARDUINO e
quindi eventualmente modificare resistenze o codice.
- Led rossi = 1,6 V
- Led giallo = 2,2V
- Led verde = 2,4 V
- Led bianco = 3,0 V ( warm o sunny )
- Led bianco ( cold ) o blu = 3,5 V
ARDUINO  I/O DIGITALE
Parma  Mirko Mancin 2014
#define buttonPin 2 // il numero del PIN del tasto
#define ledPin 13 // il numero del PIN del LED
int buttonState = 0; // variabile che assumer il valore letto dal PIN del tasto
void setup() {
// inizializzo il PIN del LED indicando il numero e che si tratta di un'uscita:
pinMode(ledPin, OUTPUT);
// inizializzo il PIN del Tasto indicando il numero e che si tratta di un ingresso:
pinMode(buttonPin, INPUT);
}
void loop(){
// a ogni ciclo leggo il valore del tasto:
buttonState = digitalRead(buttonPin);
// controllo se il tasto 竪 premuto.
// se lo stato 竪 HIGH:
if (buttonState == HIGH) {
// accendo il LED:
digitalWrite(ledPin, HIGH);
}
// altrimenti:
else {
// spengo il LED:
digitalWrite(ledPin, LOW);
}
}
ARDUINO  I/O ANALOGICO
Parma  Mirko Mancin 2014
#define sensor A0 // il numero del PIN del sensore
#define ledPin 11 // il numero del PIN del led
int value = 0; // variabile che assumer il valore letto
int LEDbrightness;
void setup() {
// inizializzo la seriale per stampare a video
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop(){
// a ogni ciclo leggo il valore del tasto:
value = analogRead(sensor);
Serial.println(value);
LEDbrightness = map(value, 0, 1023, 0, 255);
// il LED diventa pi湛 luminoso quanto tu pi湛 premi
analogWrite(ledPin, LEDbrightness);
delay(100);
}
ARDUINO  COSA SI PU FARE
Parma  Mirko Mancin 2014
Tweet Arduino
3D printer
Wii Nunchuck
YougurtIno Segnalatore per ciclicsti
Mini robot
ARDUINO  COSA SI PU FARE
Parma  Mirko Mancin 2014
Stazione meteo Agro
Stazione meteo UrbanMonitoraggio domotico Wireless Sensors Bung Network
RASPBERRY PI
Parma  Mirko Mancin 2014
 Scheda nata come piccolo computer delle dimensioni di una carta di credito, economica (circa
30 euro) e basata su Linux.
 Nasce come progetto per linsegnamento dellinformatica a bambini e ragazzi.
 Inizialmente doveva essere solamente un interprete Python.
 SystemOnChip Broadcom (ARM11).
RASPBERRY PI  LE DIVERSE VERSIONI
Parma  Mirko Mancin 2014
RASPBERRY PI  LE DIVERSE VERSIONI
Parma  Mirko Mancin 2014
束New compute module for business and industrial users.
The compute module contains the guts of a Raspberry Pi
(the BCM2835 processor and 512Mbyte of RAM) as well as
a 4Gbyte eMMC Flash device (which is the equivalent of
the SD card in the Pi). This is all integrated on to a small
67.6x30mm board which fits into a standard DDR2
SODIMM connector (the same type of connector as used
for laptop memory*). The Flash memory is connected
directly to the processor on the board, but the remaining
processor interfaces are available to the user via the
connector pins. You get the full flexibility of the BCM2835
SoC (which means that many more GPIOs and interfaces
are available as compared to the Raspberry Pi), and
designing the module into a custom system should be
relatively straightforward as weve put all the tricky bits
onto the module itself.
RASPBERRY PI  LE DIVERSE DISTRIBUZIONI
Parma  Mirko Mancin 2014
RASPBERRY PI  FUNZIONALIT
Parma  Mirko Mancin 2014
 Controllo della GPIO
 Web/Cloud/Torrent Server
 Smartdisplay
 Videosorveglianza
 Mediacenter
 Gaming
 Robotica
 Piattaforma entry di programmazione
RASPBERRY PI  COSA SI PU FARE
Parma  Mirko Mancin 2014
RASPBERRY PI  COSA SI PU FARE
Parma  Mirko Mancin 2014
Gestione impianti dirrigazione
Sistema di comunicazione
tra macchine CNC
Gateway per reti di sensori
RASPBERRY PI  COME PROGRAMMARE
Parma  Mirko Mancin 2014
Essendo un linux pc a tutti gli effetti la programmazione di tale
dispositivo pu嘆 essere effettuata attraverso la maggior parte dei
linguaggi di programmazione conosciuti.
 C/C++ (con Eclipse, Qt, )
 Java
 Python
 Web (Apache, MySql, )
 Controllo diretto della GPIO (https://code.google.com/p/webiopi/)
RASPBERRY PI & ARDUINO
Parma  Mirko Mancin 2014
http://www.makeuseof.com/tag/how-to-
build-home-automation-system-raspberry-
pi-and-arduino/
Il collegamento tra i due dispositivi
pu嘆 avvenire in differenti modalit:
 Attraverso la connessione seriale
tra la GPIO della raspberry e la
seriale di Arduino
 Wireless attraverso dispositivi
radio
 Attraverso la rete internet
usando la raspberry come
束server損 e gli arduino come
client
LINK UTILI
Parma  Mirko Mancin 2014
Altro mio materiale
 Corso Arduino ( /mancio90/ )
 Github ( https://github.com/loweherz/ )
Community
 Forum Arduino
 際際滷share
Basic connections ( http://www.robot-italy.com/it/blog/tutorial_ita/475 )
Componentistica
 Robot-italy
 Seeedstudio
 Conrad.it
mirko.mancin@gmail.com
www.mancio.myds.me

More Related Content

What's hot (19)

Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
Pietro Aiuola
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
Mirco Sbrollini
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
trevisoAUG
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Luigi Francesco Cerfeda
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
OPS Italia
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
Biagio (Gino) Zingales Al狸
Arduino: domotica OpenSource
Arduino: domotica OpenSourceArduino: domotica OpenSource
Arduino: domotica OpenSource
Emanuele Palazzetti
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
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1
Daniele Costarella
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
Michele Maffucci
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
dega1999
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
Matteo Tro狸a
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1
Michele 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-2011
Michele Maffucci
Programmare raspberry pi - Cowo42 - Osimo (AN)
Programmare raspberry pi - Cowo42 - Osimo (AN)Programmare raspberry pi - Cowo42 - Osimo (AN)
Programmare raspberry pi - Cowo42 - Osimo (AN)
Gabriele Guizzardi
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progetti
Mirco Piccin
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
Daniele Costarella
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
Michele Maffucci
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
Antonio Serra
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
Pietro Aiuola
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
Mirco Sbrollini
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
trevisoAUG
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Luigi Francesco Cerfeda
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
OPS Italia
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
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1
Daniele Costarella
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
Michele Maffucci
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
dega1999
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
Matteo Tro狸a
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1
Michele 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-2011
Michele Maffucci
Programmare raspberry pi - Cowo42 - Osimo (AN)
Programmare raspberry pi - Cowo42 - Osimo (AN)Programmare raspberry pi - Cowo42 - Osimo (AN)
Programmare raspberry pi - Cowo42 - Osimo (AN)
Gabriele Guizzardi
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progetti
Mirco Piccin
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
Daniele Costarella
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
Michele Maffucci
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
Antonio Serra

Viewers also liked (20)

Oria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco FerrettiOria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco Ferretti
www.oria.info
Sistema di numerazione
Sistema di numerazioneSistema di numerazione
Sistema di numerazione
Gilda Tobia
Tesi Triennale
Tesi TriennaleTesi Triennale
Tesi Triennale
Mirko Mancin
Bk001 it c18-step_by_step
Bk001 it c18-step_by_stepBk001 it c18-step_by_step
Bk001 it c18-step_by_step
hawk2012
PIC microcontroller
PIC microcontroller PIC microcontroller
PIC microcontroller
Rami Alsalman
Tesi Magistrale 2014
Tesi Magistrale 2014Tesi Magistrale 2014
Tesi Magistrale 2014
Mirko Mancin
Investimenti
InvestimentiInvestimenti
Investimenti
Sergio Porcu
Introduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoIntroduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: Arduino
Stefano Varano
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUS
Sergio Porcu
Diagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaDiagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in Polonia
Gilda Tobia
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088
Sergio Porcu
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086
Sergio Porcu
Assembly1
Assembly1Assembly1
Assembly1
Mariangela Mone
Array
ArrayArray
Array
Mariangela Mone
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086
Sergio Porcu
Workshop su Arduino
Workshop su ArduinoWorkshop su Arduino
Workshop su Arduino
Paolo Aliverti
Oria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco FerrettiOria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco Ferretti
www.oria.info
Sistema di numerazione
Sistema di numerazioneSistema di numerazione
Sistema di numerazione
Gilda Tobia
Bk001 it c18-step_by_step
Bk001 it c18-step_by_stepBk001 it c18-step_by_step
Bk001 it c18-step_by_step
hawk2012
PIC microcontroller
PIC microcontroller PIC microcontroller
PIC microcontroller
Rami Alsalman
Tesi Magistrale 2014
Tesi Magistrale 2014Tesi Magistrale 2014
Tesi Magistrale 2014
Mirko Mancin
Introduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoIntroduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: Arduino
Stefano Varano
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUS
Sergio Porcu
Diagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaDiagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in Polonia
Gilda Tobia
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088
Sergio Porcu
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086
Sergio Porcu
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086
Sergio Porcu
Workshop su Arduino
Workshop su ArduinoWorkshop su Arduino
Workshop su Arduino
Paolo Aliverti

Similar to Arduino&Raspberry (20)

Arduino 2- 際際滷 descrizione Architettura
Arduino 2- 際際滷 descrizione ArchitetturaArduino 2- 際際滷 descrizione Architettura
Arduino 2- 際際滷 descrizione Architettura
robertodefazio3
Arduino ICT2016 [IT]
Arduino ICT2016 [IT]Arduino ICT2016 [IT]
Arduino ICT2016 [IT]
Francesco Pascale
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italiano
Riccardo Lemmi
Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore Basile
Commit University
ESP32: Sblocca il potenziale dei tuoi progetti IoT!
ESP32: Sblocca il potenziale dei tuoi progetti IoT!ESP32: Sblocca il potenziale dei tuoi progetti IoT!
ESP32: Sblocca il potenziale dei tuoi progetti IoT!
Gabriele Guizzardi
EuComm
EuCommEuComm
EuComm
iBLio
Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0
Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0
Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0
SANTIAGO PABLO ALBERTO
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
Salvatore Carotenuto
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Ionela
Arduino - Cosa sono e come funzionano i display
Arduino - Cosa sono e come funzionano i displayArduino - Cosa sono e come funzionano i display
Arduino - Cosa sono e come funzionano i display
Biagio (Gino) Zingales Al狸
Arduino galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
Vincenzo Virgilio
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger node
Mirco Piccin
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
Mirco Piccin
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
Simone Lusenti
Presentazione b-orange 2014
Presentazione  b-orange 2014Presentazione  b-orange 2014
Presentazione b-orange 2014
Barbara Gallo
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdfSLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
bakikiy278
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
Biagio (Gino) Zingales Al狸
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con ArduinoItalian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Paolo Aliverti
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @Archimedea
Archimedea s.r.l
Presentazione
PresentazionePresentazione
Presentazione
cesario
Arduino 2- 際際滷 descrizione Architettura
Arduino 2- 際際滷 descrizione ArchitetturaArduino 2- 際際滷 descrizione Architettura
Arduino 2- 際際滷 descrizione Architettura
robertodefazio3
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italiano
Riccardo Lemmi
Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore Basile
Commit University
ESP32: Sblocca il potenziale dei tuoi progetti IoT!
ESP32: Sblocca il potenziale dei tuoi progetti IoT!ESP32: Sblocca il potenziale dei tuoi progetti IoT!
ESP32: Sblocca il potenziale dei tuoi progetti IoT!
Gabriele Guizzardi
EuComm
EuCommEuComm
EuComm
iBLio
Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0
Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0
Arduino PLC : Modulo 1 programaci坦n Arduino Rev. 2.0
SANTIAGO PABLO ALBERTO
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
Salvatore Carotenuto
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Ionela
Arduino - Cosa sono e come funzionano i display
Arduino - Cosa sono e come funzionano i displayArduino - Cosa sono e come funzionano i display
Arduino - Cosa sono e come funzionano i display
Biagio (Gino) Zingales Al狸
Arduino galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
Vincenzo Virgilio
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger node
Mirco Piccin
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
Mirco Piccin
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
Simone Lusenti
Presentazione b-orange 2014
Presentazione  b-orange 2014Presentazione  b-orange 2014
Presentazione b-orange 2014
Barbara Gallo
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdfSLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
bakikiy278
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con ArduinoItalian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Paolo Aliverti
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @Archimedea
Archimedea s.r.l
Presentazione
PresentazionePresentazione
Presentazione
cesario

Arduino&Raspberry

  • 1. ARDUINO & RASPBERRY PI CASI DI OPEN HARDWARE EMBEDDED Parma Mirko Mancin 2014
  • 2. ARDUINO Parma Mirko Mancin 2014 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.
  • 3. ARDUINO IN SINTESI Parma Mirko Mancin 2014 Processore: ATMEGAxxx AVR microcontroller I/O: Header per pin analogici, digitali, seriali, power Porta USB e convertitore USB-Seriale Regolatore di potenza Tasto di reset Led di status Scheda di PROTOTIPIZZAZIONE!!
  • 4. ARDUINO LE DIVERSE SCHEDE Parma Mirko Mancin 2014 Arduino UNO LilyPad Arduino Arduino Nano Arduino Leonardo Arduino Mega 2560Arduino Mini
  • 5. ARDUINO LE DIVERSE SCHEDE Parma Mirko Mancin 2014 Arduino Due Arduino Yun Arduino Zero Arduino Tre Arduino Galileo
  • 6. ARDUINO LE SHIELD Parma Mirko Mancin 2014 Tassello fondamentale del successo di arduino sono le shield. Si trattano di 束espansioni損 per Arduino che permettono di aggiungere sopra di essi ulteriori funzionalit Motor ShieldEthernet Shield Proto Shield WiFiXbeeWireless Shield
  • 7. ARDUINO COSA C DI DIVERSO Parma Mirko Mancin 2014 Piattaforma di prototipazione elettronica open-source che si basa su hardware e software flessibili e facili da usare; Scheda molto economica (a partire da 30 euro), che sta nel palmo di una mano e consente di applicare sensori, attuatori e altre componenti elettroniche per poi programmarle con semplicit; Circuiti open source => open hardware; Non serve costruirsi la 束base elettronica損 da zero; Elettronica quasi 束plug&play損.
  • 8. ARDUINO COME SI PROGRAMMA Parma Mirko Mancin 2014 BOOT SETUP() { } LOOP() { } http://arduino.cc/en/Main/Software IDE Arduino Atmel Visual Studio 6
  • 9. ARDUINO BLINK (HELLO WORLD) Parma Mirko Mancin 2014 const int ledPin = 13; int ledState = LOW; long previousMillis = 0; // memorizza il tempo dellultimo aggiornamento // long perch竪 il tempo 竪 in millisecondi long interval = 1000; // intervallo di lampeggio (millisecondi) void setup() { pinMode(ledPin, OUTPUT); // metto il piedino in Output } void loop(){ unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { // Salvo il tempo dellultima volta che ha lampeggiato il LED previousMillis = currentMillis; // se il LED 竪 On mettilo OFF e viceversa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; digitalWrite(ledPin, ledState); } }
  • 10. ARDUINO I/O Parma Mirko Mancin 2014 Nello schema di Arduino UNO in verde sono raffigurati 14 PIN digitali ON/OFF sia IN che OUT. I PIN 0 e 1 solitamente non vengono utilizzati nei collegamenti perch辿 adibiti alla comunicazione seriale con il PC (USB) o con altri dispositivi. In basso a destra sono rappresentati con il colore celeste i 6 PIN analogici, utilizzabili in ingresso con una risoluzione di 2^10 (1024). Inoltre sono disponibili altri pin come quello verde acqua a destra per collegare dispositivi in SPI o le shield.
  • 11. ARDUINO I/O DIGITALE Parma Mirko Mancin 2014 In entrambi i componenti 竪 presente una resistenza: nel caso del LED dobbiamo limitare la corrente a 10mA, quindi andremo ad utilizzare una resistenza di 330立 = (5V-1,6V)/0,01A. Nel caso dell'ingresso, invece, dobbiamo proteggere ARDUINO; l'amperaggio massimo consentito 竪 di 40mA ma la guida ufficiale consiglia di utilizzare una resistenza di 470立 quindi con i 10mA che otteniamo stiamo su una soglia decisamente pi湛 sicura. possibile anche attivare le resistenze interne di ARDUINO via software. Controlliamo l'accensione del LED mediante il PIN 13 e leggiamo lo stato del pulsante tramite il PIN 3. Lo stato del pulsante dipende ovviamente dal fatto se 竪 normalmente aperto o chiuso e dalla resistenza applicata. Vi consiglio di fare delle prove per capire cosa sta leggendo ARDUINO e quindi eventualmente modificare resistenze o codice. - Led rossi = 1,6 V - Led giallo = 2,2V - Led verde = 2,4 V - Led bianco = 3,0 V ( warm o sunny ) - Led bianco ( cold ) o blu = 3,5 V
  • 12. ARDUINO I/O DIGITALE Parma Mirko Mancin 2014 #define buttonPin 2 // il numero del PIN del tasto #define ledPin 13 // il numero del PIN del LED int buttonState = 0; // variabile che assumer il valore letto dal PIN del tasto void setup() { // inizializzo il PIN del LED indicando il numero e che si tratta di un'uscita: pinMode(ledPin, OUTPUT); // inizializzo il PIN del Tasto indicando il numero e che si tratta di un ingresso: pinMode(buttonPin, INPUT); } void loop(){ // a ogni ciclo leggo il valore del tasto: buttonState = digitalRead(buttonPin); // controllo se il tasto 竪 premuto. // se lo stato 竪 HIGH: if (buttonState == HIGH) { // accendo il LED: digitalWrite(ledPin, HIGH); } // altrimenti: else { // spengo il LED: digitalWrite(ledPin, LOW); } }
  • 13. ARDUINO I/O ANALOGICO Parma Mirko Mancin 2014 #define sensor A0 // il numero del PIN del sensore #define ledPin 11 // il numero del PIN del led int value = 0; // variabile che assumer il valore letto int LEDbrightness; void setup() { // inizializzo la seriale per stampare a video Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop(){ // a ogni ciclo leggo il valore del tasto: value = analogRead(sensor); Serial.println(value); LEDbrightness = map(value, 0, 1023, 0, 255); // il LED diventa pi湛 luminoso quanto tu pi湛 premi analogWrite(ledPin, LEDbrightness); delay(100); }
  • 14. ARDUINO COSA SI PU FARE Parma Mirko Mancin 2014 Tweet Arduino 3D printer Wii Nunchuck YougurtIno Segnalatore per ciclicsti Mini robot
  • 15. ARDUINO COSA SI PU FARE Parma Mirko Mancin 2014 Stazione meteo Agro Stazione meteo UrbanMonitoraggio domotico Wireless Sensors Bung Network
  • 16. RASPBERRY PI Parma Mirko Mancin 2014 Scheda nata come piccolo computer delle dimensioni di una carta di credito, economica (circa 30 euro) e basata su Linux. Nasce come progetto per linsegnamento dellinformatica a bambini e ragazzi. Inizialmente doveva essere solamente un interprete Python. SystemOnChip Broadcom (ARM11).
  • 17. RASPBERRY PI LE DIVERSE VERSIONI Parma Mirko Mancin 2014
  • 18. RASPBERRY PI LE DIVERSE VERSIONI Parma Mirko Mancin 2014 束New compute module for business and industrial users. The compute module contains the guts of a Raspberry Pi (the BCM2835 processor and 512Mbyte of RAM) as well as a 4Gbyte eMMC Flash device (which is the equivalent of the SD card in the Pi). This is all integrated on to a small 67.6x30mm board which fits into a standard DDR2 SODIMM connector (the same type of connector as used for laptop memory*). The Flash memory is connected directly to the processor on the board, but the remaining processor interfaces are available to the user via the connector pins. You get the full flexibility of the BCM2835 SoC (which means that many more GPIOs and interfaces are available as compared to the Raspberry Pi), and designing the module into a custom system should be relatively straightforward as weve put all the tricky bits onto the module itself.
  • 19. RASPBERRY PI LE DIVERSE DISTRIBUZIONI Parma Mirko Mancin 2014
  • 20. RASPBERRY PI FUNZIONALIT Parma Mirko Mancin 2014 Controllo della GPIO Web/Cloud/Torrent Server Smartdisplay Videosorveglianza Mediacenter Gaming Robotica Piattaforma entry di programmazione
  • 21. RASPBERRY PI COSA SI PU FARE Parma Mirko Mancin 2014
  • 22. RASPBERRY PI COSA SI PU FARE Parma Mirko Mancin 2014 Gestione impianti dirrigazione Sistema di comunicazione tra macchine CNC Gateway per reti di sensori
  • 23. RASPBERRY PI COME PROGRAMMARE Parma Mirko Mancin 2014 Essendo un linux pc a tutti gli effetti la programmazione di tale dispositivo pu嘆 essere effettuata attraverso la maggior parte dei linguaggi di programmazione conosciuti. C/C++ (con Eclipse, Qt, ) Java Python Web (Apache, MySql, ) Controllo diretto della GPIO (https://code.google.com/p/webiopi/)
  • 24. RASPBERRY PI & ARDUINO Parma Mirko Mancin 2014 http://www.makeuseof.com/tag/how-to- build-home-automation-system-raspberry- pi-and-arduino/ Il collegamento tra i due dispositivi pu嘆 avvenire in differenti modalit: Attraverso la connessione seriale tra la GPIO della raspberry e la seriale di Arduino Wireless attraverso dispositivi radio Attraverso la rete internet usando la raspberry come 束server損 e gli arduino come client
  • 25. LINK UTILI Parma Mirko Mancin 2014 Altro mio materiale Corso Arduino ( /mancio90/ ) Github ( https://github.com/loweherz/ ) Community Forum Arduino 際際滷share Basic connections ( http://www.robot-italy.com/it/blog/tutorial_ita/475 ) Componentistica Robot-italy Seeedstudio Conrad.it mirko.mancin@gmail.com www.mancio.myds.me