Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Cos'è Arduino, in breve

No description
by

mario milanesio

on 7 January 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Cos'è Arduino, in breve

Cos'è Arduino, in breve
Qualche progetto, per capirci
Cos'è una MCU
cos'è cambiato, nel mondo, dal 2005 ad oggi
Un breve presentazione su Wired
I concorrenti
Raspberry Pi
Cubieboard
Beaglebone
Banana Pi
odroid
Teensy
Nanode
...
...ma Arduino è meglio perchè...
la community e il forum
il basso costo
la documentazione in espansione
la diffusione che l'ha resa uno standard
la magagna del 1/4 inch
l'essere open
le shield
l'open source e l'open hardware
licenze aperte: GPL, MIT, BSD, Creative Commons
vantaggi e svantaggi
le shield
Arduino è una scheda elettronica di piccole dimensioni con un microcontrollore e circuiteria di contorno, utile per creare rapidamente prototipi e per scopi hobbistici e didattici. (
fonte: wikipedia
)
http://it.wikipedia.org/wiki/Arduino_%28hardware%29
http://playground.arduino.cc/Italiano/StoriaDiArduino
La storia
http://arduino.cc/en/main/standalone
http://arduino.cc/en/Main/arduinoBoardUno
progetti per tutti, tutti i giorni
progetti professionali
progetti un po' folli !!!
In elettronica digitale il microcontrollore o microcontroller o MCU (MicroController Unit) è un dispositivo elettronico integrato su singolo chip, nato come evoluzione alternativa al Microprocessore ed utilizzato generalmente in sistemi embedded ovvero per applicazioni specifiche (special purpose) di controllo digitale.

È progettato per interagire direttamente con il mondo esterno tramite un programma residente nella propria memoria interna e mediante l'uso di pin specializzati o configurabili dal programmatore. Sono disponibili in 3 fasce di capacità elaborativa (ampiezza del bus dati): 8 bit, 16 bit e 32 bit.

Il microcontrollore è ... 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.
Arduino UNO --> ATmega328
http://www.atmel.com/Images/doc8161.pdf
Un primo assaggio: blink
(facciamo lampeggiare un LED,
ma blink fa un sacco più figo!))
http://www.instructables.com/id/Make-a-High-Altitude-Balloon-Tracker-Arduino/?ALLSTEPS
http://www.instructables.com/id/Arduino-Fart-O-Meter/?ALLSTEPS
http://www.instructables.com/id/Bubblesteen-Bubble-Machine/?ALLSTEPS
http://www.ben-dror.com/pinokio/
https://www.ardusat.com/
https://www.kickstarter.com/projects/575960623/ardusat-your-arduino-experiment-in-space
La software IDE
blink e pulsante
blink, pulsante e potenziometro
secondo assaggio: fotoresistenze (LDR)
terzo assaggio: misurare la temperatura
http://www.logicaprogrammabile.it/arduino-sensore-di-temperatura-tmp36/
https://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor
http://www.mauroalfieri.it/elettronica/fotoresistenze-e-arduino.html
i tipi
boolean
byte
int
const
long
float
double
unsigned ...
Cosa serve, quindi
http://arduino.cc/en/main/software
http://polinienrico.altervista.org/index.php?option=com_content&view=article&id=57&Itemid=66
http://www.maffucci.it/2012/02/28/appunti-di-programmazione-su-arduino-tipi-di-dati/
e tutto il resto...
http://arduino.cc/en/Tutorial/HomePage
http://www.arduino.cc/en/Tutorial/Button
debouncing
http://arduino.cc/en/Tutorial/Debounce
http://arduinotutorial.altervista.org/category/digital-io/debounce/
strutture
if ( ... ) { ... } else { ... }
for ( ... ; ... ; ...) { ... }
http://arduino.cc/en/Tutorial/IfStatement
http://arduino.cc/en/Tutorial/ForLoop
http://arduino.cc/en/Reference/For
http://arduino.cc/en/Tutorial/AnalogInOutSerial
http://www.mauroalfieri.it/elettronica/arduino-led-pulsante.html
io ho meno capelli
crowdfunding e tech
innovazione dal basso
e poi...
ho un bisogno
idea!
progetto, e web
prototipazione
sketch
upload
enjoy!
Fritizing
la struttura
del mondo Arduino
...e ora tocca a voi!
l'idea:

a gruppi predisponete un (piccolo!) progetto da utilizzare per la didattica in classe oppure per risolvere un problema casalingo o, ancora, un problema professionale.
Importante:
partire da una
necessità
che risolvereste solo acquistando qualcosa
individuare dei componenti magari di
recupero
per risolverlo, e un po'...di Arduino
per favore...no panic!
10 modi per distruggere un Arduino
http://www.leonardomiliani.com/2013/10-modi-per-distruggere-un-arduino/
com'è fatto
http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
https://www.kickstarter.com/projects/24519005/controllino-plc-arduino-compatible
http://www.industrialshields.com/m-duino-plc-arduino-21-i-os-analog-digital
http://paulfurley.com/arduino-isnt-just-for-hackers/
http://hackaday.com/2014/12/23/hate-blue-mms-sort-them-using-the-power-of-an-iphone/
http://www.instructables.com/id/Temperature-Data-Logger-1/
http://hackaday.com/2015/02/17/blackboard-digitization-for-under-40/
http://www.instructables.com/id/The-Arduino-Mothbot/
https://www.youtube.com/results?search_query=arduino+cat+feeder
http://www.instructables.com/id/Garduino-Gardening-Arduino/?ALLSTEPS
http://www.avbrand.com/projects/powermonitor/
http://arduino.cc/en/tutorial/fading
primo antipasto: fading an LED
commenti
http://arduino.cc/en/tutorial/fading
secondo antipasto: fading an LED with LDR
commenti
Riassumendo
:

sappiamo accendere un LED (però!)

sappiamo misurare quanta luce c'è (basta guardare...!)

sappiamo accendere il LED in base alla luce (non saprei fare senza!)

manca solo la misura della temperatura!
terzo antipasto: misurare la temperatura
http://www.logicaprogrammabile.it/arduino-sensore-di-temperatura-tmp36/
https://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor
terzo antipasto, secondo giro:
misurare la temperatura con TCN75A
http://www.microbot.it/product/9/Sensore-Digitale-di-Temperatura-con-TCN75A.html
http://www.xappsoftware.com/wordpress/2012/01/09/working-with-the-tcn75-temperature-sensor/
Le librerie di Arduino
http://arduino.cc/en/reference/libraries
http://arduino.cc/en/Guide/Libraries
sensori e trasduttori
http://www.seeedstudio.com/depot/Sensors-c-25/?ref=side
http://www.robot-italy.com/it/sensors/where/limit/100.html
Motori e attuatori
Un attuatore è un meccanismo attraverso cui un agente agisce su un ambiente, inoltre l'agente può essere o un agente intelligente artificiale o un qualsiasi altro essere autonomo (umano, animale). In senso lato, un attuatore è talvolta definito come un qualsiasi dispositivo che converte dell'energia da una forma ad un'altra, in modo che questa agisca nell'ambiente fisico al posto dell'uomo.
In ingegneria gli attuatori sono capaci di trasformare un segnale in input (tipicamente elettrico) in movimento
motori elettrici
pistoni idraulici
relè
...
Motori elettrici che tratteremo:
motori in corrente continua (DC motors)
motori a passo (stepper motor)
servomotori (servo)
Motori in corrente continua (e motoriduttori)
http://www.glgprograms.it/?p=elet/motoridc
http://scuola.arduino.cc/lesson/dd7ddb4/Controlla_un_Motore_DC_con_un_ponte_H_L293D
Arduino può pilotare fino a 20mA per pin...
Motori a passo (stepper motor)
...se ne trovano a costo zero nelle stampanti rotte...
uhmmmm...
http://www.mauroalfieri.it/elettronica/motore-corrente-continua.html
Arduino può pilotare fino a 20mA per pin...
usiamo dei
driver
!
Servomotori
La durata esatta di un impulso, espressa in frazioni di millisecondo, stabilisce la posizione del servo
come ottenere impulsi di larghezza definita?
PWM !!!
non è per nulla difficile!
sweep
+
la libreria:
http://playground.arduino.cc/ComponentLib/Servo
knob
http://www.mauroalfieri.it/elettronica/tutorial-arduino-servo.html
http://arduino.cc/en/Tutorial/Sweep
http://arduino.cc/en/Tutorial/Knob
LDR e servo
https://github.com/nrdufour/nemoworld.info/blob/master/_posts/2011-09-04-servo-photoresistor-arduino.md
dove comprare
dove trovare idee
e ora...
progetto!

idee
bobinatrice
carica e scarica di un condensatore
time lapse camera
tapparelle all'alba
https://drive.google.com/a/vallauri.edu/folderview?id=0Bylp_5j_3uCyWjFxRkdqMDVzcXM&usp=sharing
http://www.instructables.com/howto/arduino/
http://hackaday.com/
http://42bots.com/
http://www.logicaprogrammabile.it/
http://www.open-electronics.org/
http://randomnerdtutorials.com/
http://hackedgadgets.com/
http://www.mauroalfieri.it/
http://www.lucadentella.it/
http://www.robot-italy.com/
http://www.robot-domestici.it/joomla/index.php
http://it.rs-online.com/web/
https://futurashop.it/
http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20150313031519&SearchText=arduino
http://www.electrodragon.com/
http://www.distrelec.it/
credo lo stesso approccio non sia applicabile a lezione, con ragazzi che non sanno nemmeno cos'è un foglio Excel, altro che programmare
che ne sappiano almeno qualcosa, ad esempio cos'è un ciclo IF, secondo me per loro sarà fondamentale
Arduino è economico e performante, il futuro va senz'altro da quella parte, ma chi è totalmente digiuno di programmazione secondo me non riesce a trarne molto vantaggio:
anche il linguaggio C è un formalismo abbastanza rigido e complicato, la media dei ragazzi si limiterà a copiare, da Internet o dal vicino di banco
lo trovo invece eccezionale per le aree di progetto
a livello didattico sia più efficace il BS2
Una riflessione
(di un personaggio
molto
preparato e
molto
"folkloristico")
http://www.wolfstep.cc/post/fuffamakers/
Qualche sana riflessione critica
(stralci da una mail di un collega)
speed
è una parola dedicata
ldr/4
:
ldr contiene le letture effettuate, su 10 livelli di campionamento --> valori tra 0 e 2^10-1=1023
ma in PWM posso scrivere valori solo tra 0 e 2^8-1=255 --> ldr/4
http://it.wikipedia.org/wiki/Partitore_di_tensione
R1 --> LDR
R2 --> resistenza inserita nel circuito
V --> 5Volt
R1 varia col variare della luminosità ambientale;
"misuriamo" V1 attraverso analogRead,
quindi se R2 è molto minore di R1 avremo valori vicini a 5V, se R2 è molto maggiore di R1 avremo valori molto vicini a 0V.
Bisogna ragionare sul range di valori di R1, al variare della luce ambientale!
Scritto così il codice gnera l'inverso di un sensore crepuscolare: poca luce, LED quasi spento, molta luce LED acceso.
Volendo la funzione crescolare "classica"
poca luce, LED acceso, molta luce LED quasi spento,

si potrebbe cambiare l'istruzione con:
analogWrite(ledPin, 255-ldr/4);
oppure
analogWrite(ledPin, map(ldr,0,1023,0,255));
vedi: http://arduino.cc/en/reference/map
http://shieldlist.org/
Alcuni esempi
SD card shield
Solar shield
Motor shield
https://www.sparkfun.com/products/12761
http://www.adafruit.com/products/1141
RTC shield
https://store.open-electronics.org/index.php?_route_=RTC%20shield
http://www.seeedstudio.com/depot/Solar-Charger-Shield-V2-p-914.html
http://www.seeedstudio.com/wiki/index.php?title=Solar_Charger_Shield_v2.0b
Arduino e Internet
http://store.arduino.cc/index.php?main_page=product_info&cPath=11_5&products_id=204&language=it
ADAFRUIT stepper/DC/servo shield
https://www.adafruit.com/products/1438
WIFI shield
Ethernet shield
http://arduino.cc/en/Main/ArduinoEthernetShield
http://arduino.cc/en/Main/ArduinoWiFiShield
PING - SFR05
http://scuola.arduino.cc/lesson/b75edfa/Misuratore_di_distanza_con_sensore_ad_ultrasuoni_SRF05
http://www.mauroalfieri.it/elettronica/sensore-ad-ultrasuoni-srf05.html
https://code.google.com/p/arduino-new-ping/
LCD shield
http://www.adafruit.com/product/714
Umidità e temperatura - DHT 11
http://chioszrobots.com/2013/07/15/dht11-digital-temperature-humidity-sensor-module-keyes/
http://www.dragino.com/products/yunshield/item/86-yun-shield.html
3G shield + GPS
http://www.cooking-hacks.com/documentation/tutorials/arduino-3g-gprs-gsm-gps
motivazioni:
controllo remoto
in ingresso e uscita,
per leggere dati,
per inviare dati e comandi
...serve un collegamento tra Arduino e web server
http://arduino.cc/en/Main/arduinoBoardEthernet
http://arduino.cc/en/Main/ArduinoBoardYun?from=Products.ArduinoYUN
...per farci che cosa?
alcuni esempi, un cenno
https://hackaday.io/project/1720-20-wireless-arduino-home-automation-w-openhab
http://tutorial.cytron.com.my/2011/07/27/an-arduino-room-monitoring-web-server/
http://www.instructables.com/id/Ethernet-Switching-with-Arduino/?ALLSTEPS
http://randomnerdtutorials.com/arduino-webserver-with-an-arduino-ethernet-shield/
https://temboo.com/arduino/yun/
http://www.voltaicsystems.com/blog/solar-powered-air-quality-sensor-tutorial/
https://freeboard.io/
http://www.instructables.com/id/Arduino-WiFi-Garage-Door-Opener/?ALLSTEPS
http://hackaday.com/2015/04/08/blink-thrice-to-let-me-in/
arduino.cc e arduino.org
https://github.com/arduino-org/Arduino/issues/2
come sta evolvendo la divisione
Open Energy Monitor
Xively
https://personal.xively.com/feeds/813571217
http://xivelylogmein4.wpengine.com/whats_xively/
http://www.open-electronics.org/interact-and-remotely-control-arduino-yun-with-ajax/
Arduino Yun e l'anemometro
http://openenergymonitor.org/emon/
Arduino e IoT
http://www.arduino.cc/en/tutorial/potentiometer
https://mattwiechec.wordpress.com/2010/01/26/arduino-led-potentiometer/
map(value, fromLow, fromHigh, toLow, toHigh)
Full transcript