ARDUINO Arduino è una piattaforma hardware low-cost programmabile, con cui è possibile creare circuiti "quasi" di ogni tipo per molte applicazioni, soprattutto.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Ingressi ADC 8 canali con ADC a 10-bit I/O pins dal 13 al 20
Progetto di un lettore di Smartcard Progetto realizzato tramite rivista "Fare Elettronica.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
PHP.
I linguaggi di programmazione
IL MICROCONTROLLORE ST6
Automazione a logica programmabile
Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica PROTOCOLLO DI COMUNICAZIONE TRA PC E MICROCONTROLLORE PER UN’INTERFACCIA.
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
MICROCONTROLLORI Di Tiziano Ragazzi.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Come aumentare le linee di I/O?
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture di controllo in C -- Flow Chart --
I File.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Corso di PHP.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Esperienze di laboratorio “leggero” in aula
Daniele Mazzei. Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione.
Home climate control Automatizzare il sistema di raffreddamento e riscaldamento di casa, con la possibilità di gestione da remoto attraverso un’interfaccia.
IL MONDO DEI ROBOT I robot realizzati dagli studenti
IL MONDO DEI ROBOT I robot realizzati dagli studenti
Le diverse implementazioni degli strumenti Un unico strumento può essere usato per diversi tipi di rilevazioni a secondo delle esigenze dei clienti:
L'ambiente informatico: Hardware e Software
Piattaforma Arduino Arduino uno Arduino Mega.
PRESENTAZIONE di RICCARDO
STRUTTURA GENERALE DI UN ELABORATORE
Sistema elettronico Controllo Idronico 1-2 Livello R&D Engineer SMT – GROUP.
PROGRAMMARE IN C Un ambiente di sviluppo `e un software che serve per scrivere ed eseguire programmi. Generalmente integra almeno 3 funzionalita’: Editor:
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Registro a scorrimento
Programma di Informatica Classi Prime
INSEGUITORE SOLARE CON ARDUINO
Xbee, Bluetooth, SD, Ethernet
Per questo organizza un corso di Arduino per tutti i soci Amon e GMS.
Workshop Teachers For Teachers 23 – 24 settembre 2013
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Linguaggio Arduino: Struttura di un programma
ARDUINO Duemilanove Parte_1 Caratteristiche
ARDUINO Duemilanove Parte_5 Arduino e PHP
Arduino: introduzione alla programmazione
ADC – SCHEMA GENERALE I convertitori AD sono disponibili come circuiti integrati in diversi modelli, che differiscono fra loro per prezzo, prestazioni.
arduino: dalla teoria alla pratica
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Daniele Mazzei. Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
Internetworking V anno.
Io ho voluto dimostrarlo attraverso una delle mie passioni:
Informazione e Informatica - presentazione dei concetti di base -
Arduino.
SENSORI OTTICI - FOTORESISTENZE
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Hardware necessario Una board Intel galileo Un alimentatore Dc 7-15 v
SPIDERCOPPO SCUOLA MEDIA PIETRO COPPO Alunni: Sebastijan Perško
AA 2010/2011 Facoltà del Design - Politecnico di Milano
La struttura di un computer
HI-TECH INNOVATION AT WORK. HI-TECH INNOVATION AT WORK 2 “EASY Programming & Testing tools” Apparecchiature di programmazione e collaudo.
IL PLC AUTOMAZIONE INDUSTRIALE
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Hands-On Arduino Come collegare i sensori ad Arduino P. Perego- Politecnico di Milano AA 2010/2011 Facoltà del Design - Politecnico di Milano 3.o anno.
Struttura del Computer
ISTITUTO TECNICO – SETTORE TECNOLOGICO
Reti Mobili Ad Hoc e di Sensori Andrea De Salve. COS'È ARDUINO ? Piattaforma Open-Source per il Physical Computing basata su Microcontrollore Arduino.
La scheda Arduino.
Transcript della presentazione:

ARDUINO Arduino è una piattaforma hardware low-cost programmabile, con cui è possibile creare circuiti "quasi" di ogni tipo per molte applicazioni, soprattutto in ambito di robotica ed automazione. Si basa su un Microcontrollore della ATMEL, l'ATMega168/328: per esempio l'Arduino Uno monta un ATMega328. Nasce a Ivrea, nel 2005, da un'idea di un professore universitario, un Ingegnere Elettronico, Massimo Banzi.

Questa piattaforma è Open Source, cioè è possibile trovare sul sito ufficiale www.arduino.cc, i circuiti, i componenti e addirittura le istruzioni per realizzarla da soli. Un gruppo di studenti della facoltà di Ingegneria Informatica a scrivergli la libreria, l'IDE (libreria portabile su ogni sistema operativo) e le prime API.

C'è da aggiungere un particolare molto importante, ogni programma che si scrive su Arduino sarà naturalmente avviato a loop() finché non si toglie l'alimentazione dal dispositivo. Arduino può comandare sensori, luci, LED, motori e altri attuatori.

Linguaggio di programmazione Il linguaggio di programmazione è basato su Wiring (un ambiente di programmazione Open-Source pensato per una facile applicazione per semplificare la programmazione in C e C++) e sull'interfaccia Processing.

Il linguaggio base di Arduino, basato sulla sintassi del linguaggio C Strutture generali setup() loop() Strutture di controllo if if .. else for switch case while do .. while break continue return goto Segni di interpunzione usati ; { } // /*/

Direttive: #define #include Tipi di dati: void boolean char insigne char byte int insigne int word long intero a 32 bit con segno unsigned long intero a 32 sempre positivo float double string (di caratteri) String (oggetto) Array

Funzioni per la gestione dell’hardware Digitali pinMode() digitalWrite() digitalRead() Analogici analogReference() analogRead() analogWrite() Gestione del tempo millis() micros() delay() delayMicroseconds() Come si vede, queste istruzioni, che consentono di operare a livello di singoli bit e piedini, e l’ottimizzazione che Arduino assicura per il codice macchina generato, rendono inutile il ricorso all’assembler.

Caratteristiche arduino La scheda Arduino Uno, ultima nata, nel 2010, ha le seguenti caratteristiche: Microcontrollore ATmega328 Tensione di lavoro 5V Tensione di ingresso raccomandata 7-12 V Ingressi-Uscite 14 (di cui 6 possono fornire il comando PWM di motori) Ingressi analogici 6 Memoria Flash 32 KB SRAM 2 KB EEPROM 1 KB Clock 16 MHz

• PWM - I pin a disposizione con questa funzionalità sono 6 • PWM - I pin a disposizione con questa funzionalità sono 6. Il PWM, o pulse width modulation permette di creare un'onda di corrente regolabile. Questa è molto utile per comandare svariati sistemi elettronici. L'esempio piu' stupido è comandare i servomotori da modellismo. • TX - RX - porta seriale • RESET - Questo è un PIN digitale. Se la lettura di questo PIN=HIGH il controller si resetta • PIN uscita corrente a 3.3V • PIN uscita corrente a 5V

Vin - PIN input corrente per alimentazione controller • Analog in - PIN input analogici. Possono percepire molto precisamente una corrente DC tra 0 e 5V, resistuendo un valore da 0 a 1023. • Digital - PIN digitali programmabili per essere input o output, percepiscono se è presente o no corrente restituendo LOW se non c'è corrente e HIGH se c'è corrente, oppure possono essere programmati per generare corrente in output di massimo 40mA

I Pin sono connettori femmina, che hanno molteplici utilizzi, che vanno rispettate per evitare il rischio di un corto circuito che puo' arrivare anche al rischio di incendio e/o danneggiamento del computer a cui è collegato Arduino.   • AREF - Questo pin regola il voltaggio di massima risoluzione degli input analogici • GND - massa

MICROPROCESSORE

Atmega328 è la sigla di questo microcontrollore Atmega328 è la sigla di questo microcontrollore. All'interno di questo componente viene salvato il programma scritto dall'utente e tutta la configurazione di base che permette ad Arduino un funzionamento corretto. Quando acquisterete arduino riceverete uno di questi microcontrollori con solamente il Bootloader all'interno dell'ATMega. Questo "file" è una configurazione di base che permette l'utilizzo del software dedicato. Questo setting puo' essere modificato per utilizzare un software differente e per modificare la posizione e configurazione dei PIN

bootloader: è un pezzo di codice scritto sul chip della scheda Arduino bootloader: è un pezzo di codice scritto sul chip della scheda Arduino. Permette di verificare se viene inviato un codice, lo sketch, tramite la porta seriale. Quindi se c'è un codice, lo legge e lo scrive nella memoria.

Hardware arduino L'hardware originale Arduino è interamente realizzato in Italia dalla Smart Projects, mentre i cloni della scheda possono essere realizzati da chiunque in qualsiasi parte del mondo. Una scheda Arduino tipica consiste in un microcontrollore a 8-bit AVR prodotto dalla Atmel, con l'aggiunta di componenti complementari per facilitarne l'incorporazione in altri circuiti. In queste schede sono usati chip della serie megaAVR - nello specifico i modelli ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560.

Programmazione del microprocessore In alcuni casi il microcontroller della scheda è pre-programmato con un bootloader che semplifica il caricamento dei programmi sullamemoria flash incorporata nel chip. A livello concettuale, tutte le schede sono programmate attraverso una porta seriale RS-232, ma il modo in cui questa funzionalità è implementata nell'hardware varia da versione a versione. Le schede seriali Arduino contengono un semplice circuito inverter che permette la conversione tra il livello della RS-232 e il livello dei segnali TTL. Le versioni attuali di Arduino sono gestite via USB: la versione Uno utilizza un microcontrollore Atmega8U2 programmato come convertitore USB-seriale

Input/output Per implementare il comportamento interattivo, Arduino è fornita di funzionalità di input/output (I/O), grazie alle quali essa riceve i segnali raccolti da sensori esterni. Il comportamento della scheda è gestito dal microcontroller in base ai valori provenienti dai sensori e alle decisioni determinate dal particolare programma in esecuzione in quel momento sulla scheda. L'interazione con l'esterno avviene attraverso attuatori pilotati dal programma attraverso i canali di output in dotazione.

I/O digitale La Arduino Uno, ad esempio, che ha soppiantato la Duemilanove, offre 14 connettori per l'I/O digitale (numerati da 0 a 13). La direzione di funzionamento, input o output, è decisa dallo sketch programmato sull'IDE Sei dei canali I/O possono produrre segnali Pulse-width modulation (PWM).

I/O digitale  Attraverso i segnali PWM è possibile, ad esempio, regolare l'intensità di luminosità di un LED o la velocità di rotazione di un motorino elettrico[5]. L'hardware di tre dei pin di I/O (9, 10 e 11) implementa la possibilità di gestirli direttamente attraverso la funzione analogWrite(), che permette di controllare la PWM del segnale in uscita in maniera efficiente, senza dover eseguire linee di codice appositamente predisposte[

I/O analogico Sempre sulla Uno, sono presenti altri 6 connettori specificamente dedicati a ingressi di segnali analogici (collegati quindi ad una ADC), cioè valori di tensione letti da sensori esterni i cui valori, fino a un massimo di 5 Volt, sono convertiti in 1024 livelli discreti (da 0 a 1023). Questi 6 connettori possono essere riprogrammati (sempre dal codice dello sketchsull'IDE) per funzionare come normali entrate/uscite digitali.

Software di arduino L'ambiente di sviluppo integrato (IDE) di Arduino è un'applicazione multipiattaforma scritta in Java, ed è derivata dall'IDE creato per illinguaggio di programmazione Processing e per il progetto Wiring. È concepita per iniziare alla programmazione artisti e altri neofiti, che siano a digiuno di pratica nello sviluppo di software. Per permettere la stesura del codice sorgente, l'IDE include un editore di test  dotato inoltre di alcune particolarità, come il syntax highlighting, il controllo delle parentesi, e l'indentazione automatica. L'editor è inoltre in grado di compilare e lanciare il programma eseguibile in una sola passata e con un solo click. In genere non vi è bisogno di creare dei Makefile o far girare programmi dalla riga di comando.Ogniprogramma scritto da noi viene denominato da sketch.

software arduino Per Arduino la sorgente di alimentazione viene selezionata automaticamente e può avvenire tramite porta USB o Jack di alimentazione. Appena la scheda è alimentata si accenderà il led verde PWR (power).

Avvio del programma arduino

Andiamo sulla cartella ‘esempi’,’basics’ e apriamo lo sketch denominato blink.

Dopo di che si aprirà un programma base per imparare e iniziare a scrivere il nostro sketch.