Arduino L'elettronica Open Source!

Похожие документы
Corso di programmazione Arduino DI MALVEZZI DAVIDE

ARDUINO. Ing. Francesco Giurlanda

Introduzione a Arduino

Relazione Tecnica Sensore di Temperatura con interfacciamento microcontroller Arduino 1.3

Cos'è Arduino? rilasciata con licenza di tipo open source.

IZ1MHN e IW1ALX. Agenda. Introduzione ad Arduino Arduino l hardware Arduino il software Alcune idee realizzabili con Arduino E se facessimo un corso?

INSEGUITORE SOLARE CON ARDUINO. Dispositivo che insegue il movimento solare realizzato con: 1. Arduino 2. 2 foto resistenze 3.

Arduino. Laboratorio Arduino Base. HackLab Terni. Laboratorio aperto a tutti di elettronica, scienza e arte. hacklabterni.

Far lampeggiare un led o forse un semaforo?

Arduino. Il team di Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellizione.

Corso Base Arduino ed Elettronica

CORSO ARDUINO. Jacopo Beli Giulio Fieramosca Luca Mati GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii 1

Macchinina evita ostacoli Arduino

Caratteristiche HW. Clock Speed 16 MHz

Introduzione ad Arduino Giuseppe Augiero

Introduzione all'uso di Arduino lezione 1

Arduino: domotica open source

Cos è? Definizione ufficiale scritta dall inventore di Arduino, Massimo Banzi.

La piattaforma hardware e software Arduino Corso completo di autoapprendimento Aggiornato a Arduino Yun

Andrea Di Dato. e fu così che i maker misero le ali

Progetto Arduino BART. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo

Chi sono i padri di Arduino

Workshop Teachers For Teachers settembre 2013

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

FONDAMENTI DI ARDUINO

La piattaforma hardware e software Arduino: parte I. Corso di autoapprendimento

Progetti reali con ARDUINO

Progetto Esami Di Stato Anno 2014/2015

Introduzione alla programmazione di Arduino. 7 Aprile 2016 Massimo Donatelli (INFN-CNAF)

LE ALTRE BOARD ARDUINO

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Tecnologie dei sistemi di controllo per l aeronautica. Introduzione

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Arduino. Sezione di Misure e Tecniche Sperimentali

ELECTRONICS LAB [WITH ARDUINO]

LEGO Mindstorms e Arduino nella scuola secondaria di secondo grado: alcune esperienze didattiche. Pietro Bonora Liceo Scientifico A.B.

SENSORI OTTICI - FOTORESISTENZE

Esercitazione Controllo di un motore DC mediante Arduino YUN

Alma Mater Studiorum Università di Bologna. IOT Robots. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE / 24

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

Laboratorio microcontrollori e open source Prima parte

Alunna: Gennuso Ylenia classe VB a.s. 2014/2015

Macchina con Arduino Uno comandata tramite dispositivo Android e sensore ultrasuoni per fermarsi istantaneamente di fronte ad un ostacolo

Finalità delle misure

Laboratorio di Elettronica. Arduino Lezione 1 Descrizione della board e installazione

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Lezione 3 PWM e motori. Stefano Panichi e Giulio Fieramosca

Week Programmer v2.1 Week Programmer Rev2.1

Per controllare un motore DC (funzionante in corrente continua) con Arduino, devi utilizzare il circuito integrato Ponte H (nel mio caso un L293NE

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65

Arduino. Una filosofia intorno ad un μ-controlore

Progetti reali con ARDUINO

Descrizione Sistema Monitoraggio Contametri

PROGETTO ROBOT BIPEDE

Questo sistema si è poi diffuso in tutto il mondo, soprattutto in ambito didattico e hobbistico. Arduino mette a disposizione:

MM ARDUINO ) un clock al quarzo a 16MHz, abbastanza veloce per la maggior parte delle applicazioni;

Verso Arduino... E oltre!

Internetworking V a nno

Open hardware: Arduino, un prodotto italiano. Riccardo Lemmi

Automobile Bluetooth

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

Davide Gennaretti, Matteo Nicolini

ARDUINO ARDUINODUE. la piattaforma OPEN SOURCE alla portata di tutti. New. New. futurashop.it. S i s t e m i d i s v i l u ppo, software e didattica

Corso di Elettronica Digitale. Display decoder a 7 segmenti con le mappe di Karnaugh

Che cos è un condizionatore?

INDICE 1. Comunità Creative 2. Casi studio 2.1. Stazione delle biciclette 2.2. Cantiere per pratiche non-affermative 2.3. Arduino

Corso Base Arduino ed Elettronica

Per vedere tutti i tutorial:

Come è fatto un computer

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Classe 5I2 AS. 2013/14 Niccolò Bulla Giorgia Novelli

PROGETTO M.E.S.A. MECHATRONICH IN ENERGY SAVING APPLICATION

Introduzione alla scheda Arduino/Genuino

Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Hardware - Software Applicazioni

UNIVERSITÀ DEGLI STUDI DI PISA

TESINA di Prisco Fabio

per Shield La scheda qui presentata, è uno progettare & costruire di ADRIANO GANDOLFO Diamo voce ad Arduino - (parte seconda)

Corso Base Arduino ed Elettronica

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

La scheda Arduino Ard.: caratt. Hd e Sw

Esercitazione Monitoraggio temperatura via WEB mediante Arduino YUN

11^ parte : Come gestire i servomotori con Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

My First Robot. My First Robot. I m Learning Robotics. 1 Scarica l ultima versione della Arduino IDE (

QUADRO DI CONTROLLO AMBIENTALE

MICROCONTROLLORI. Laboratorio di Segnali e Sistemi II - Arduino

Università degli studi di Roma LA SAPIENZA

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

UNIVERSITÀ DEGLI STUDI DI PARMA

Arduino& Potenziometro

Serduino - SERRA CON ARDUINO

Open Hardware: Arduino Linux day 2012

Транскрипт:

Arduino L'elettronica Open Source!

Microcontrollori Un microcontrollore o microcontroller, detto anche computer single chip è un sistema a microprocessore completo, integrato in un solo chip, progettato per ottenere la massima autosufficienza funzionale ed ottimizzare il rapporto prezzoprestazioni per una specifica applicazione, a differenza, ad esempio, dei microprocessori impiegati nei personal computer, adatti per un uso più generale. wikipedia

Microcontrollori Utilizzati su: Televisori Videocamere Cellulari Lettori CD/DVD Ecc inf.

Arduino Arduino è una piattaforma hardware per il physical computing, creata in Italia, nel 2005, basata su una semplicissima scheda di I/O e su un ambiente di sviluppo che usa una libreria Wiring per semplificare la scrittura di programmi in C e C++ da far girare sulla scheda. Il team di Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis. Il progetto ha preso avvio in Italia ad Ivrea, nel 2005, con lo scopo di rendere disponibile, a progetti di Interaction design realizzati da studenti, un device per il controllo che fosse più economico rispetto ad altri sistemi di prototipazione disponibili all'epoca.

Arduino Nano Specifications: Microcontroller Atmel ATmega168 or ATmega328 Operating Voltage (logic level) 5V Input Voltage (recommended)7-12 V Input Voltage (limits) 6-20 V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 8 Flash Memory 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader SRAM 1 KB (ATmega168) or 2 KB (ATmega328) EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328) Clock Speed 16 MHz Dimensions 0.73" x 1.70"

LilyPad Arduino Microcontroller ATmega168V or ATmega328V Operating Voltage 2.7-5.5 V Input Voltage 2.7-5.5 V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 ma Flash Memory 16 KB (of which 2 KB used by bootloader) SRAM 1 KB EEPROM 512 bytes Clock Speed 8 MHz

Arduino Mega Microcontroller ATmega1280 Operating Voltage 5V Input Voltage (recommended)7-12v Input Voltage (limits) 6-20V Digital I/O Pins 54 (of which 14 provide PWM output) Analog Input Pins 16 DC Current per I/O Pin 40 ma DC Current for 3.3V Pin 50 ma Flash Memory 128 KB of which 4 KB used by bootloader SRAM 8 KB EEPROM 4 KB Clock Speed 16 MHz

Arduino Duemilanove Microcontroller Atmega168, ATmega328 Operating Voltage 5V Input Voltage (recommended)7-12v Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 ma DC Current for 3.3V Pin 50 ma Flash Memory 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader SRAM 1 KB (ATmega168) or 2 KB (ATmega328) EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328) Clock Speed 16 MHz

L'IDE

LIBRERIE Arduino mette a disposizione una serie di librerie che facilitano notevolmente l'implementazione su tale piattaforma. Esistono ormai svariate librerie che si occupano della gestione dei vari componenti hardware, ad esempio servomotori, display lcd, comunicazione seriale, ethernet ecc ecc. L'implementazione tramite tali librerie permette lo sviluppo e la prototipazione di sistemi embedded senza dover comprendere a fondo come i componenti lavorino.

PASSIAMO ALL'AZIONE

LUCIFERO Lucifero è un semplice robot, ha lo scopo di seguire le fonti luminose presenti nell'ambiente. Il cervello di Lucifero è Arduino al quale sono state collegate alcune componenti elettroniche. INGREDIENTI: 1 Arduino 1 Motore elettrico CC 1 Servomotore 2 Fotoresistenze 2 Resistenze 4 Ruote 1 Sistema di motoriduzione 1 Pila 9V 1 Breadboard Qualche cavo Un po di pazienza

E COME VORREBBE VEDERLO BENDER...

LUCIFERO #include <Servo.h> #define MOTORE 3 #define SERVO 9 #define FDX 4 #define FSX 5 #define DX 50 #define SX 120 #define CEN 90 Servo myservo; int valfotosx; //variabile relativa alla fotoresistenza di sinistra int valfotodx; //variabile relativa alla fotoresistenza di Destra int i; //contatore int medsx,meddx; //variabili su cui si calcola la media dei valori delle fotoresistenze

setup e loop Se sviluppiamo il software con l'ide di Arduino ci troveremo a dover implementare due funzioni principali: setup e loop. La prima viene invocara per inizializzare il sistema, la seconda viene eseguita continuamente dal sistema finchè è in funzione. Una volta compilato il codice l'ide inserirà di default una funzione main standard. void setup(){ void loop(){ int main(void) { init(); setup(); for (;;) loop(); return 0;

LUCIFERO Se sviluppiamo il software con l'ide di Arduino ci troveremo a dover implementare due funzioni principali: setup e loop. La prima viene invocara per inizializzare il sistema, la seconda viene eseguita continuamente dal sistema finchè è in funzione. void setup() { myservo.attach(servo); //dichiara che sul pin SERVO è connesso un servomotore TROPPO DIFFICILE!!!

LUCIFERO void loop() { medsx=0; meddx=0; for(i = 0;i <= 4; i++){ //calcola una media su 4 valori dei valori delle due fotoresistenze valfotosx = analogread(fsx); valfotodx = analogread(fdx); medsx=meddx+valfotosx; meddx=meddx+valfotodx; meddx=meddx/4; medsx=medsx/4;...

LUCIFERO valfotosx=medsx-meddx; //riutiluzzo valfotosx ora non serve :P if(valfotosx<-50){ //se la differenza fra la media dei valori di destra e //quelli di sinistra? < -50 => meddx > medsx myservo.write(dx);//si gira a sinistra analogwrite(motore,890);//regola velocità motore else if(valfotosx>50){//se la differenza è > 50 => medsx > meddx analogwrite(motore,890); myservo.write(sx);//si gira a sinistra else{//se la differenza è nell'intervallo [-50,50] analogwrite(motore,1000); myservo.write(cen);//si va dritti delay(150);

ALTRE LIBRERIE Ovviamente è anche possibile effettuare la scrittura digitale... void setup(){ pinmode(12,output); void loop(){ digitalwrite(12,high);

ALTRE LIBRERIE Sono disponibili molte altre librerie che facilitano lo sviluppo di applicazioni con Arduino. Un esempio è la librerie per la comunicazione seriale char c; void setup(){ Serial.begin(9600); void loop(){ Serial.println( Sono in loop ); c= Serial.read();

ALTRE LIBRERIE LiquidCrystal() begin() clear() noblink() display() home() nodisplay() scrolldisplayleft() setcursor() scrolldisplayright() write() autoscroll() print() noautoscroll() cursor() lefttoright() nocursor() righttoleft() blink() createchar()

ALTRE LIBRERIE Ethernet begin() Server class * Server() * begin() * available() * write() * print() * println() Client class * Client() * connected() * connect() * write() * print() * println() * available() * read() * flush() * stop()

CONCLUSIONI Come visto sviluppare applicazioni con Arduino è semplice e veloce ed economico. Da un semplice dispositivo per la didattica Arduino è divenuto un ottimo strumento utilizzato anche in applicazioni industriali. Esempi: Wiimote Macchina Espresso Controlled Laser Harp Fully Functional Automatic Head Tracking con Arduino Rocker Scale Measures how Hard You Rock