SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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 dell’ultimo 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 dell’ultima 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 l’insegnamento dell’informatica 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 we’ve 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 d’irrigazione
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 ( https://www.slideshare.net/mancio90/ )
• Github ( https://github.com/loweherz/ )
Community
• Forum Arduino
• Slideshare
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

Mais conteúdo relacionado

Mais procurados

Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a ArduinoPietro Aiuola
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteMirco Sbrollini
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to ArduinotrevisoAUG
 
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 - MUSTOPS 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 1Daniele Costarella
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Michele Maffucci
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphonedega1999
 
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 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
 
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 & progettiMirco Piccin
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Daniele Costarella
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Michele Maffucci
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione ArduinoAntonio Serra
 

Mais procurados (19)

Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
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...
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Arduino: domotica OpenSource
Arduino: domotica OpenSourceArduino: domotica OpenSource
Arduino: domotica OpenSource
 
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 ...
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
 
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
 
Programmare raspberry pi - Cowo42 - Osimo (AN)
Programmare raspberry pi - Cowo42 - Osimo (AN)Programmare raspberry pi - Cowo42 - Osimo (AN)
Programmare raspberry pi - Cowo42 - Osimo (AN)
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progetti
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 

Destaque

Oria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco FerrettiOria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco Ferrettiwww.oria.info
 
Sistema di numerazione
Sistema di numerazioneSistema di numerazione
Sistema di numerazioneGilda Tobia
 
Bk001 it c18-step_by_step
Bk001 it c18-step_by_stepBk001 it c18-step_by_step
Bk001 it c18-step_by_stephawk2012
 
PIC microcontroller
PIC microcontroller PIC microcontroller
PIC microcontroller Rami Alsalman
 
Tesi Magistrale 2014
Tesi Magistrale 2014Tesi Magistrale 2014
Tesi Magistrale 2014Mirko 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: ArduinoStefano Varano
 
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUSSergio Porcu
 
Diagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaDiagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaGilda Tobia
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Sergio Porcu
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Sergio Porcu
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Sergio Porcu
 

Destaque (20)

Oria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco FerrettiOria - Xylella - Lettera del sindaco Ferretti
Oria - Xylella - Lettera del sindaco Ferretti
 
Assembly2
Assembly2Assembly2
Assembly2
 
Sistema di numerazione
Sistema di numerazioneSistema di numerazione
Sistema di numerazione
 
Tesi Triennale
Tesi TriennaleTesi Triennale
Tesi Triennale
 
Bk001 it c18-step_by_step
Bk001 it c18-step_by_stepBk001 it c18-step_by_step
Bk001 it c18-step_by_step
 
PIC microcontroller
PIC microcontroller PIC microcontroller
PIC microcontroller
 
Tesi Magistrale 2014
Tesi Magistrale 2014Tesi Magistrale 2014
Tesi Magistrale 2014
 
Investimenti
InvestimentiInvestimenti
Investimenti
 
Diagrammi di Bode
Diagrammi di BodeDiagrammi di Bode
Diagrammi di Bode
 
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
 
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUS
 
Diagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaDiagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in Polonia
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086
 
Assembly1
Assembly1Assembly1
Assembly1
 
Assembly
AssemblyAssembly
Assembly
 
Array
ArrayArray
Array
 
Assembler 8086
Assembler 8086Assembler 8086
Assembler 8086
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086
 
Workshop su Arduino
Workshop su ArduinoWorkshop su Arduino
Workshop su Arduino
 

Semelhante a Arduino&Raspberry

Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoRiccardo Lemmi
 
Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileCommit University
 
EuComm
EuCommEuComm
EuCommiBLio
 
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.0SANTIAGO PABLO ALBERTO
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Salvatore 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-11Ionela
 
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger nodeMirco 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 - OpenSourceDay2012Mirco Piccin
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 
Presentazione b-orange 2014
Presentazione  b-orange 2014Presentazione  b-orange 2014
Presentazione b-orange 2014Barbara Gallo
 
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 ArduinoPaolo Aliverti
 
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArchimedea s.r.l
 
Presentazione
PresentazionePresentazione
Presentazionecesario
 
Review4 u icd2 mplab pic programmer 2010-11-02
Review4 u icd2 mplab pic programmer   2010-11-02Review4 u icd2 mplab pic programmer   2010-11-02
Review4 u icd2 mplab pic programmer 2010-11-02Ionela
 
Progettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereProgettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereEmanuele Bonanni
 

Semelhante a Arduino&Raspberry (20)

Arduino ICT2016 [IT]
Arduino ICT2016 [IT]Arduino ICT2016 [IT]
Arduino ICT2016 [IT]
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italiano
 
Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore Basile
 
EuComm
EuCommEuComm
EuComm
 
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
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
 
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
 
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
 
Arduino galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
 
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger node
 
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
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 
Presentazione b-orange 2014
Presentazione  b-orange 2014Presentazione  b-orange 2014
Presentazione b-orange 2014
 
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
 
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
 
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @Archimedea
 
Presentazione
PresentazionePresentazione
Presentazione
 
Review4 u icd2 mplab pic programmer 2010-11-02
Review4 u icd2 mplab pic programmer   2010-11-02Review4 u icd2 mplab pic programmer   2010-11-02
Review4 u icd2 mplab pic programmer 2010-11-02
 
Grix.it wood board usb
Grix.it    wood board usbGrix.it    wood board usb
Grix.it wood board usb
 
Progettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereProgettare con Arduino come un Ingegnere
Progettare con Arduino come un Ingegnere
 

Último

Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA Lucia
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA LuciaGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA Lucia
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA LuciaServizi a rete
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO Pierpaolo
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO PierpaoloGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO Pierpaolo
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO PierpaoloServizi a rete
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSO
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSOGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSO
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSOServizi a rete
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO MarcoGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO MarcoServizi a rete
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA Rosario
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA RosarioGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA Rosario
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA RosarioServizi a rete
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA MarcoGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA MarcoServizi a rete
 

Último (6)

Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA Lucia
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA LuciaGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA Lucia
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | COSTA Lucia
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO Pierpaolo
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO PierpaoloGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO Pierpaolo
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | RUGIERO Pierpaolo
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSO
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSOGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSO
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | BERTALLI+RUSSO
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO MarcoGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | CESARO Marco
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA Rosario
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA RosarioGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA Rosario
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | MAZZOLA Rosario
 
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA MarcoGiornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA Marco
Giornata tecnica da Acque del Chiampo, 27 marzo 2024 | FARINA Marco
 

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 dell’ultimo 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 dell’ultima 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 l’insegnamento dell’informatica 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 we’ve 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 d’irrigazione 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 ( https://www.slideshare.net/mancio90/ ) • Github ( https://github.com/loweherz/ ) Community • Forum Arduino • Slideshare 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