La piattaforma programmabile Arduino Appunti del corso di Sistemi a.s. 2018/2019 Prof. Aniello Celentano. La piattaforma programmabile ARDUINO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La piattaforma programmabile Arduino Appunti del corso di Sistemi a.s. 2018/2019 Prof. Aniello Celentano. La piattaforma programmabile ARDUINO"

Transcript

1 La piattaforma programmabile ARDUINO Dispensa di Sistemi Elettronici del prof. Aniello Celentano Anno Scolastico 2018/2019 ITIS Galileo Ferraris di Napoli Versione Dicembre

2 I N D I C E Introduzione: La scheda hardware Arduino 3 Il controllore ATMega328 4 La scheda hardware Arduino 5 Il software per programmare Arduino: IDE 6 Il linguaggio di programmazione di Arduino: C++ 7 Struttura logico operativa dello sketch 8 Le periferiche collegabili ad Arduino 10 I segnali elettrico di Input/Output di Arduino 10 Il pulsante: una periferica di input 10 Il diodo LED: una periferica di segnalazione luminosa d uscita 12 Il potenziometro: una periferica analogica. 14 La misura del tempo 16 Monostabile con carico su rete elettrica a 220 Volt AC. 18 Monitoraggio dell esecuzione di un programma (Serial library) 19 Il display LCD Il sensore ad ultrasuoni HC-SR

3 G l i S k e t c h 01 : Un pulsante controlla l accensione/spegnimento di un LED : La tensione fornita dal cursore di un potenziometro : Realizzazione di un circuito monostabile con la scheda Arduino : Collegamento seriale di due schede Arduino : Visualizzare sul display LCD l orario nel formato mʹsʺ : Misurare la distanza di un oggetto 24-3-

4 Introduzione La piattaforma programmabile ARDUINO La piattaforma programmabile Arduino è una scheda elettronica programmabile attraverso la porta USB di un computer opportunamente attrezzato per tale scopo. La scheda è dotata del microcontrollore (1) ATMega328 prodotto dalla società ATMEL. Esistono diverse versioni di Arduino, la versione base è Arduino UNO che è la più semplice da gestire e la più economica. L immagine che segue raffigura la scheda Arduino. Le diverse versione di Arduino si differenziano per il numero di linee digitali di Input/Output che può gestire, per la quantità di memoria RAM flash riservata per la stesura di un programma, alla frequenza di clock. Il microcontrollore ATmega328 Questo componente elettronico è la parte principale della scheda Arduino. E questo componente che permette di eseguire un programma, di analizzare ed eseguire le singole istruzioni di un programma. Le caratteristiche principali di questo componente sono riassunte di seguito. - Memoria flash per la stesura dei programmi 32 Kbyte - Memoria RAM riservata alla definizione delle variabili di programma 2 Kbyte - Memoria E 2 PROM per la memorizzazione dei dati tra sessioni successive 1 Kbyte - Frequenza di Clock con cui vengono eseguite le istruzioni 20 MHz - Capacità di elaborazione istruzioni 20 MIPS, equivalenti a 50 nano-secondi/istruzione - Range di temperatura di funzionamento tra -40 C e 85 C - Tensione di alimentazione tra 1.8 V a 5.5 V - Cicli di programmazione volte, le volte che può essere riprogrammato. -4-

5 La scheda hardware Arduino Sulla scheda Arduino si possono distinguere tre zone elettricamente e concettualmente distinte. La descrizione che segue analizza la scheda ʺArduino Unoʺ a cui si farà riferimento semplicemente come Arduino. a) Le linee di Input/Output digitale. Facendo riferimento all immagine della scheda riportata in alto, queste linee sono posizionate in alto a destra e contraddistinte dai numeri che vanno da 0 a 13 (14 linee). Queste linee sono preposte per ricevere/fornire segnali digitali compatibili TTL (2). In Output le linee non possono erogare più di 20/30 ma di corrente. Genericamente si fa riferimento a queste linee con il termine di PIN oppure semplicemente con Linea. b) In basso a destra sono posizionate sei linee per i segnali di input analogici. Queste linee sono contraddistinte con le sigle A0, A1,... A5. Sono solo linee di Input che possono ricevere segnali analogici. Questi segnali devono essere limitati al range di valori [0 Volt, +5 Volt], valori di default, altrimenti si deve impostare opportunamente l ingresso AREF (Analogic REFerence). c) In basso al centro vi sono le linee per l alimentazione, il così detto BUS di alimentazione. Da questo bus è possibile prelevare le tensioni +5 Volt, +3.3 Volt, il riferimento di massa GND. La linea indicata con VIN è riservata per inserire un alimentazione esterna di +5 Volt, mentre la linea RES permette il RESET della scheda. Il reset della scheda può essere ottenuto manualmente premendo il pulsante di colore rosa in alto a sinistra visibile nella foto (il colore del pulsante può variare con la versione della scheda). L alimentazione alla scheda può essere fatta in tre modi: 1) tramite l ingresso VIN; 2) tramite la porta USB, nella foto al centro del lato sinistro; 3) tramite un opportuno jack, visibile in basso a sinistra della foto, che permette di alimentare la scheda con una batteria di 9 Volt. d) Le linee SCL e SDA sono linee riservate per la comunicazione seriale I 2 C. Molti dispositivi utilizzano il protocollo di comunicazione denominato I 2 C per creare una rete di collegamenti in modo che tutti i dispositivi collegati possano scambiare informazioni. e) La linea di input AREF è una linea riservata per impostare il livello massimo dei segnali analogici di input da convertire con l ADC. Il Convertitore Analogico-Digitale (ADC) montato sulla scheda Arduino è un dispositivo a 10 bit (3) che permette di convertire un segnale elettrico, compreso tra 0 e +5 Volt, in un equivalente valore numerico tra 0 e 1023 (2 10-1). -5-

6 Il software per programmare Arduino: l IDE La piattaforma Arduino per poter essere programmata deve essere collegata, tramite un opportuno cavetto, alla porta USB di un PC (Personal Computer). In questo modo con un opportuno programma installato sul PC è possibile programmare la scheda Arduino tramite la porta USB del computer collegata alla porta USB della scheda Arduino. Il programma installato sul PC, che permette la programmazione della scheda Arduino, è un IDE: Integrated Development Environment = Ambiente di sviluppo integrato In altre parole il programma permette di eseguire una serie di azioni quali: a) Scrivere il programma che si vuole realizzare nel linguaggio C++ comprensibile al compilatore per Arduino. Il compilatore è un programma che traduce le istruzioni del nostro programma in istruzioni comprensibili dal microcontrollore ATMega328P montato sulla scheda Arduino. b) Verificare la correttezza sintattica e strutturale del file dei comandi che intendiamo inviare alla scheda Arduino scritti nel linguaggio C++. Il file dei comandi è indicato con il termine di Sketch. c) Salvare il programma sul disco di massa del PC e poterlo Stampare. Il file contenete il programma viene indicato come file sorgente. d) Modificare il file sorgente in tempi successivi per poter apportare modifiche e correzioni. e) Compilare il file sorgente ed inviarlo alla scheda Arduino (programmazione) f) Analizzare e risolvere gli errori che possono accadere nel trasferimento dal PC alla scheda Arduino. g) Monitorare il corretto funzionamento del programma. La versione aggiornata dell IDE è scaricabile gratuitamente dal sito ufficiale di Arduino, ossia il sito Da questo sito è possibile scaricare l ultima versione dell IDE e installarla sul proprio computer. L icona ufficiale che caratterizza Arduino è la seguente. -6-

7 Il linguaggio di programmazione di Arduino: il C++ Il linguaggio di programmazione è il linguaggio orientato ad oggetti indicato come C++. A tal proposito si rimanda al sito ufficiale per un ampia descrizione dei comandi e della struttura sintattica del linguaggio C++. Qui ci limitiamo solo a riportare la struttura base dello SKETCH, cioè della struttura del file che permette una corretta programmazione di Arduino. La realizzazione di un programma per Arduino deve essere strutturato in tre blocchi. a) Un primo blocco di comandi è riservato alla definizione delle costanti e delle varabili, che hanno una validità generale, utilizzate da tutte le parti costituenti il programma stesso. b) Un secondo blocco è costituito da un sottoprogramma con nome SETUP in cui vengono messi tutti i comandi che inizializzano le variabili, le periferiche e configurano tutti i pin digitali che serviranno per il programma che si vuole realizzare. Il nome è appropriato in quanto vuol dire impostare, inizializzare. c) Un terzo blocco è costituito da un sottoprogramma che contiene tutti i comandi che verranno eseguiti all infinito, in un ciclo continuo dal primo comando all ultimo, ripetendosi infinite volte. Questo sottoprogramma ha nome LOOP, giusto per ricordare che i comandi verranno eseguiti in un loop continuo e infinito. A questi tre blocchi che costituiscono la struttura minima di un file sketch si devono aggiungere le librerie, ossia dei file esterni con comandi che permettono la gestione delle periferiche e che ampliano l insieme dei comandi del linguaggio base. Un ulteriore blocco è riservato ai comandi personalizzati, cioè i comandi che noi definiamo e creiamo per facilitare la programmazione. Sono sottoprogrammi realizzati specificamente per il nostro specifico scopo. La descrizione fatta apparirà più chiara e comprensibile con gli esempi che verranno riportati in seguito. Il linguaggio di programmazione C++ non verrà analizzato. Lo studio dei costrutti fondamentali di tale linguaggio è rimandato a testi specializzati in materia, reperibili anche via web. -7-

8 Struttura logica operativa dello sketch Tramite il programma IDE installato sul computer è possibile realizzare uno sketch con il quale programmare opportunamente la piattaforma Arduino. Lo sketch è un insieme di comandi comprensibili ad Arduino. I comandi devono essere scritti con una sintassi ben precisa ed inseriti in un file avente una struttura anch essa ben precisa. Qualunque sia il problema che vogliamo risolvere, di sicuro avremo bisogno di variabili numeriche e/o logiche in cui memorizzare i dati. E importante sottolineare che la scelta del nome delle variabili da usare deve essere una scelta importante e ben oculata. Il nome di una variabile deve essere tale da richiamare alla mente del programmatore la natura del dato ch essa memorizza. Per intenderci, se una variabile deve memorizzare la temperatura misurata in un dato processo, la variabile non deve essere mai chiamata X oppure Y, che non richiamerebbero alla mente nessun significato sulla natura del dato memorizzato, ma bensì deve essere chiamata Temperatura, oppure TemperaturaInterna, TemperaturaEsterna ecc. ecc. Questo perché il nome della variabile stessa suggerisce la natura del dato ch essa memorizza. Le variabili non sono tutte uguali, nel senso che non memorizzano tutte lo stesso tipo di dato. Esistono dati logici, detti anche booleani, dati numerici interi, byte, float ed altri tipi di dati. Ogni variabile deve essere intesa come una sorta di contenitore appropriato per contenere uno specifico dato. Un dato booleano può contenere solo le costanti High/Low, oppure True/False oppure anche 0/1. Una variabile di tipo byte, che può contenere tutti i numeri da 0 a 255, è un contenitore piccolo se paragonato ad una variabile intera (tipo int) che può contenere tutti i numeri da 0 a ±2 15. Un contenitore ancora più grande è una variabile foating (tipo float) che può memorizzare i numeri reali. Ogni variabile deve essere definita all inizio dello sketch, in modo che sia sempre disponibile in ogni punto del programma. Il tipo delle variabili deve essere definito sulla base dello specifico problema che si vuole risolvere. Ad esempio, le istruzioni che seguono definiscono alcune variabili byte Conteggio ; // Definisce una variabile intera con valori tra 0 e 255 int NumeroAlunni ; // Def. una variabile intera, positiva e negativa float Temperatura ; // Def. una variabile reale per contenere i valori di temperatura bool StatoLED ; // Def. una variabile per contenere lo stato Acceso/Spento di un LED Si osservi l inserimento dei commenti e degli spazi per allineare le istruzioni. Il nome delle variabili non deve contenere i caratteri speciali tipo lo spazio o il simbolo di %. Dopo il blocco di definizione delle variabili e delle costanti di programma, deve seguire il blocco di inizializzazione delle variabili. Tutte le variabili ed i pin di Input/Output devono essere inizializzati. Ciò deve essere fatto all interno del blocco di SETUP. L esempio che segue mostra una tipica inizializzazione. void setup() NumeroAlunni = 150 ; // Inizializza la variabile NumeroAlunni Temperatura = 25.0 ; // Inizializza la variabile Temperatura StatoLED = HIGH ; // Inizializza la variabile StatoLED pinmode( 5, OUTPUT ) ; // Configura il pin 5 come porta di uscita (OUTPUT) A questo blocco deve seguire un blocco di istruzioni che vengono eseguire all infino, senza fine, con una sequenzialità ciclica (loop). Ad esempio, void loop() X = X + 1 ; // Esempio di incrementa di una variabile chiamata X if( X > 100 ) // Esegue un test sulla variabile X X = 0 ; // Azzera la variabile X Le istruzioni indicate sono solo indicative per illustrare la struttura della funzione loop(). In successione ai tre blocchi di definizione illustrati segue un blocco per la definizione dei comandi personalizzati, cioè dei comandi che possiamo creare e definire per risolvere in modo più semplice la programmazione che intendiamo realizzare. -8-

9 Tali comandi personalizzati sono indicati anche come funzioni, sono definite allo stesso modo delle due funzioni appena illustrate: la setup() e la funzione loop(). Sono definite funzioni perché possono ritornare al programma chiamante (programma main) un tipo di dato. Se non ritornano nessun valore allora il tipo di dato della funzione è void. Supponendo di voler scrivere uno sketch per accendere/spegnere un LED. In questo caso converrebbe definire dei propri comandi che, richiamati, permettono l accensione o lo spegnimento del LED. Le definizioni che seguono illustrano questo concetto appena esposto void AccendiLED() // Esegue i comandi che permettono l accensione del LED void SpegniLED() // Esegue i comandi che permettono lo spegnimento del LED bool StatoLED() // Esegue i comandi per determinare se il LED è acceso oppure spento Le tre funzioni o comandi personalizzati permettono di avere un controllo sul funzionamento del LED. -9-

10 Le periferiche collegabili ad Arduino Le periferiche sono dispositivi che possono essere controllate tramite Arduino e che permettono di realizzare qualche funzione specifica. Possono essere periferiche sia digitali che analogiche. Ad esempio, un pulsante di tipo N.O. (Normaly Open) è una periferica digitale, può commutare da N.O. allo stato N.C. (Normaly Close) se il pulsante è premuto. E collegabile direttamente ad una linea digitale di Arduino opportunamente configurata come linea di INPUT in modo che Arduino possa acquisire lo stato logico associato alla commutazione del pulsante. Un sensore di temperatura, come l integrato LM35, è una periferica analogica che può essere collegata ad uno degli ingressi analogici di Arduino al fine di acquisire la temperatura rilevata dal sensore. I segnali elettrici di Input/Output di Arduino I segnali elettrici digitali che Arduino è in grado di riconoscere sono segnali logici High/Low. Questi segnali spesso sono indicati anche con 1/0 oppure con i termini Alto/Basso. Gli stati logici appena descritti sono associati a livelli di tensione ben precisi. Il livello logico Alto/H/1 è associato a +5 Volt, quello Basso/L/0 è associato a 0 Volt. I segnali analogici che Arduino è in grado di analizzare devono essere compresi nel range [0 Volt, +5 Volt]. Per i segnali analogici compresi in un intervallo più piccolo si deve impostare l ingresso AREF per ottenere una corretta gestione dei segnali, come si vedrà in seguito. Il pulsante: una periferica digitale di input Il pulsante è un dispositivo meccanico che se premuto apre oppure chiude un contatto elettrico. Al primo caso appartengono i pulsanti N.C., normalmente chiusi, che se premuti commutano in normalmente aperti (N.O.); al secondo caso appartengono i pulsanti N.O. che se premuti commutano in N.C. Gli schemi elettrici che seguono mostrano come è possibile realizzare una semplice interfaccia (5) per poter comunicare ad Arduino uno stato logico Low/High (L/H). Nello schema con il pulsante N.C. (schema a sinistra) il condensatore C risulta cortocircuitato per cui la resistenza R risulta collegata a massa. L ingresso di Arduino, il pin colorato nello schema, riceve un segnale elettrico nullo e quindi un segnale logico basso (L). I valori di R e di C non sono valori critici, per R può essere assunto un valore tra 1 KΩ e i 5 KΩ mentre per il condensatore C può essere assunto un valore di circa 1 μf. La necessità di mettere il condensatore nasce dal fatto che i contatti elettrici prima di risultare effettivamente ben saldi generano un serie di impulsi elettrici che possono condizionare le apparecchiature elettroniche. Il condensatore non si carica istantaneamente per cui nel tempo che impiega a caricarsi i contatti elettrici si stabilizzano superando la fase dei rimbalzi elettrici (4). Il circuito con il pulsante N.O. (circuito a destra) mostra che il gruppo R-C in parallelo non è connesso all alimentazione. Pertanto solo dopo che il pulsante viene premuto e dopo i primi istanti dall avvenuto contatto l ingresso di Arduino riceve un segnale alto (H). In entrambi gli schemi elettrici, Arduino normalmente riceve un segnale basso e solo dopo che il pulsante è premuto riceve un segnale alto per tutto il tempo che il pulsante resta premuto. Nei due schemi il tratteggio in rosso delimita l interfaccia necessaria per l utilizzo dei pulsanti. L alimentazione di +5 Volt è necessaria per la compatibilità TTL dei segnali di Input/Output (I/O) di Arduino. -10-

11 La programmazione di Arduino riserva un istruzione molto semplice per leggere ed ottenere lo stato logico del pulsante collegato ad un ingresso digitale di Arduino. Supponiamo, per fissare le idee, che il pin 5 di Arduino sia stato configurato come ingresso (INPUT). In questo caso per sapere lo stato logico del pin 5 deve essere usata la seguente istruzione: Variabile logica Tasto = digitalread( 5 ) Dopo l esecuzione di questa istruzione, la variabile logica (booleana) Tasto conterrà il valore booleano high (H) o low (L). Pertanto, dal valore booleano assunto dalla variabile Tasto si può dedurre lo stato meccanico/elettrico del pulsante P, se è premuto oppure no. L istruzione appena descritta richiede che venga definita una variabile con nome Tasto di tipo booleana. Ciò deve essere fatto nel primo blocco dello sketch, cioè il blocco delle definizioni delle variabili, con l istruzione bool Tasto ; -11-

12 Il diodo LED: una periferica di segnalazione luminosa d uscita Un diodo LED è un dispositivo capace di emettere luce se polarizzato direttamente. Vediamo come utilizzare questo dispositivo per segnalare lo stato logico Low/High di una linea di uscita di Arduino. Il primo schema riportato sopra mostra un diodo LED che tramite la resistenza di polarizzazione R è connesso ad un pin di uscita di Arduino. Solo quando l uscita è alta (H) il LED si illumina. Un pin di Arduino configurato come OUTPUT è in grado di erogare una corrente di ma ad una tensione di +5 Volt. Calcolando opportunamente R, il LED risulta acceso solo quando l uscita è alta poiché il ramo R-LED risulterebbe alimentato da una tensione di +5 Volt. Viceversa se l uscita è bassa, il ramo R-LED risulta cortocircuitato a massa, il LED risulta spento. Il secondo schema riportato sopra mostra il modo di accendere un LED quando l uscita digitale di Arduino si porta ad un livello logico basso (L). Un uscita bassa vuol dire che il pin di uscita si porta ad un potenziale elettrico nullo, 0 Volt, e ciò è come se il pin di uscita internamente venisse collegato a massa. Pertanto il ramo LED-Resistenza risulta alimentato a +5 Volt ed il LED si illumina. Al contrario, se l uscita si porta ad un livello alto, cioè a +5 Volt, il ramo R-LED risulta cortocircuitato al potenziale di +5 Volt e, quindi, non essendo alimentato il LED risulta spento. Per entrambi gli schemi elettrici l interfaccia tra Arduino ed il LED non è altro che una semplice resistenza R di polarizzazione. La programmazione di Arduino riserva la seguente istruzione per poter impostare/scrivere lo stato logico di un pin configurato come uscita digitale (OUTPUT). Supponiamo per fissare le idee che il pin 5 sia stato configurato come output digitale ed alimenta il ramo R-LED. L istruzione da utilizzare è: digitalwrite( 5, HIGH ) oppure digitalwrite( 5, LOW ) La prima istruzione permette di impostare il pin 5 al valore booleano HIGH, ossia elettricamente a +5 Volt. La seconda espressione permette di impostare l uscita digitale 5 al valore LOW, a 0 Volt. -12-

13 Sketch 1: Un pulsante controlla l accensione/spegnimento di un LED Lo sketch si propone di realizzare un programma che ad ogni pressione di un pulsante un LED si accende oppure si spegne. La realizzazione di questo programma richiede prima lo sviluppo di un flowchart per una descrizione dettagliata dei passi da eseguire per realizzare il nostro obiettivo e solo successivamente realizzare lo sketch. Il flowchart è uno strumento grafico per poter analizzare i passi logici da eseguire per conseguire un dato obiettivo. start Definizione costanti e variabili Legge lo stato del pulsante Lo sketch è il file gestito dall IDE di Arduino in cui ʺtraduciamoʺ il flowchart in istruzioni comprensibili al compilatore C++ per programmare Arduino. // Definizione di tutte le variabili e costanti const byte PinLED = 5 ; const byte PinPulsante = 6 ; bool StatoPulsante ; bool StatoLED ; void setup() pinmode( PinLED, OUTPUT ) ; pinmode( PinPulsante, INPUT ) ; StatoPulsante = LOW ; SpegniLED() ; Pulsante premuto? LED è ON? LED in OFF NO NO LED in ON void loop() StatoPulsante = digitalread( PinPulsante ) ; if( StatoPulsante == HIGH ) delay(300) ; if( StatoLED == LOW ) AccendiLED(); else SpegniLED() ; // Comando personalizzato void AccendiLED() StatoLED = HIGH ; digitalwrite( PinLED, HIGH ) ; // Comando personalizzato void SpegniLED() StatoLED = LOW ; digitalwrite( PinLED, LOW ) ; Il flowchart si commenta da solo. Un poco più complesso è il commento dello sketch. Si osservi la sintassi con cui vengono messi dei commenti, fondamentali per la descrizione e per un nostro promemoria sui comandi che inseriamo. Nello sketch con il colore rosso sono evidenziati i comandi del linguaggio base C++ per la programmazione di Arduino. Per la comprensione della sintassi e dell uso di tali comandi è necessario consultare il sito ufficiale Si osservi l uso degli spazi per allineare i comandi. L uso degli spazi non è rilevante ai fine della programmazione, ma è fondamentale per poter leggere e comprendere il programma, mettendo in evidenza eventuali errori operativi e logici. Nello sketch con il colore verde sono evidenziati i comandi che possiamo realizzare per facilitare la programmazione. Sono i così detti comandi personalizzati. -13-

14 Il potenziometro: una periferica analogica. Il potenziometro può essere inteso come un sensore di posizione. La tensione ai capi del cursore risulta essere una porzione della tensione che alimenta il potenziometro stesso e funzione della posizione del cursore. Tale tensione varia in modo continuo dal valore 0 Volt al valore della tensione che alimenta il potenziometro stesso, diciamo V o. Nella figura a lato, un generatore di tensione continua V o alimenta un potenziometro. La tensione a cui si porta il cursore per effetto del movimento del cursore stesso è misurata tramite un voltmetro ed è una tensione che varia con continuità tra il valore 0 Volt, quando il cursore è posizionato in B, ed il valore V o corrispondente al cursore posizionato in A. Vediamo come è possibile acquisire il valore V, misurato dal voltmetro, dalla piattaforma programmabile Arduino. Per poter acquisire valori analogici, Arduino fa uso di un dispositivo interno chiamato ADC: Analog Digital Converter, ossia Convertitore Analogico Digitale. Senza scendere nei dettagli operativi del circuito ADC, vediamo brevemente come esso viene utilizzato. Il circuito ADC deve essere pensato come un blocco funzionale, una black-box, che riceve in ingresso un segnale analogico e fornisce in uscita un valore numerico intero a 10 bit. Il segnale analogico d input è un segnale tra 0 e +5 Volt, mentre il valore numerico in uscita è compreso tra 0 e 1023 = Pertanto l ADC stabilisce una corrispondenza biunivoca tra il livello di tensione in ingresso ed il numero a 10 bit in uscita. Indicando con V x il valore analogico in ingresso e con N x il numero a 10 bit in uscita all ADC deve sussistere la seguente relazione (proporzionalità): V x 5 = N x Da questa relazione possiamo ricavare il numero N x che Arduino associa ad un livello di tensione V x e, viceversa, dato un numero intero N x nell intervallo [0 ; 1023] possiamo ricavare il livello di tensione a cui tale numero corrisponde. La programmazione di Arduino riserva un istruzione molto semplice per poter leggere il valore in uscita all ADC, ossia N x. L istruzione è la seguente: N x = analogread( A0 ) In questa istruzione A0 è il primo ingresso analogico disponibile sulla scheda Arduino UNO. Gli ingressi analogici non devono essere configurati e sono indicati con A0, A1, A

15 Sketch 2: La tensione fornita dal cursore di un potenziometro viene monitorata: se inferiore a 2.5 Volt un LED verde è acceso mentre uno rosso è spento; se supera i 2.5 volt il LED verde è spento e quello rosso è acceso. Il circuito elettrico che vogliamo realizzare è il seguente. La tensione che alimenta il potenziometro V o è di +5 Volt. Per fissare le idee supponiamo che il cursore è collegato all ingresso analogico A0 e i due LED sono collegati, con le relative resistenze di polarizzazione, alle due uscite digitale pin 5 e pin 6. Il circuito risulta semplice da descrivere. La rotazione del potenziometro determina una tensione sul cursore che entra nell ingresso analogico A0. In questo modo, un programma che è eseguito da Arduino, con un semplice calcolo può determinare se tale tensione è al di sotto o al di sopra della soglia di 2.5 Volt. Se è al di sotto di tale soglia il LED rosso deve restare spento mentre quello verde risultare acceso. Viceversa se la tensione del cursore è al di sopra di 2.5 Volt. Start Definizione costanti e variabili Legge ingresso A0 Calcola la tensione del cursore Vc Vc < 2.5 Accende LED rosso Spegne LED verde SI Accende LED verde Spegne LED rosso // Definizione di tutte le variabili e costanti const byte PinLEDVerde = 6 ; const byte PinLEDRosso = 7 ; int ValoreA0 ; float Cursore ; void setup() // Configura i pin che gestiscono i LED pinmode( PinLEDVerde, OUTPUT ) ; pinmode( PinLEDRosso, OUTPUT ) ; // Spegne tutti LED digitalwrite( PinLEDVerde, LOW ) ; digitalwrite( PinLEDRosso, LOW ) ; void loop() ValoreA0 = analogread( A0 ) ; Cursore = ( (float)valorea0/ )*5.0 ; if( Cursore < 2.5 ) AccendiLEDVerde() ; SpegniLEDRosso(); else AccendiLEDRosso() ; SpegniLEDVerde(); // Comandi personalizzati void AccendiLEDVerde() digitalwrite(pinledverde,high) ; void AccendiLEDRosso() digitalwrite(pinledrosso,high) ; void SpegniLEDVerde() digitalwrite(pinledverde,low) ; void SpegniLEDRosso() digitalwrite(pinledrosso,low) ; Nella formula per il calcolo della tensione del cursore (variabile Cursore ) si osservi la conversione del tipo di variabile. La variabile ValoreA0 da intera viene convertita in floating. Si osservi anche che le costanti numeriche sono scritte con il punto decimale dato che il calcolo finale è un valore floating. -15-

16 La misura del tempo Dal portale si può constatare che la programmazione di Arduino riserva alcune istruzioni per controllare e determinare il tempo. La prima istruzione è la delay() che permette di ritardare l esecuzione di un programma. Questa istruzione richiede un parametro di input: il numero di millisecondi di pausa tra l esecuzione di questa istruzione e l istruzione immediatamente seguente. Ad esempio, l istruzione delay(1500) significa che dovrà trascorrere 1,5 secondi prima di essere eseguita l istruzione immediatamente seguente. Lo stesso dicasi per l istruzione delaymicroseconds() il cui parametro di input è il numero di microsecondi di pausa che si richiede. Un altra istruzione per la determinazione del tempo è l istruzione millis(). Questa istruzione è una funzione che quando è richiamata ritorna il numero di millisecondi trascorsi dall istante di accensione della scheda elettronica Arduino. Ad esempio, dopo aver eseguito l istruzione x=millis() la variabile x contiene un numero, ad esempio , che sono il numero di millisecondi conteggiati dal momento che la scheda è stata alimentata. Nell esempio riportato ( / 1000 ) / 60 = 5.2 minuti. Questa istruzione è importante per poter determinare il tempo trascorso tra due eventi consecutivi. Ad esempio, se premiamo un pulsante e dopo un poco lo rilasciamo è possibile determinare per quanto tempo il pulsante è stato premuto. Infatti, indichiamo T1 l istante in cui viene premuto il pulsante, ossia eseguiamo l istruzione T1 = millis() quando intercettiamo che il pulsante è stato premuto. Nell istante successivo, quando il pulsante viene rilasciato, eseguendo l istruzione T2=millis() otteniamo l istante in cui il pulsante viene rilasciato: la differenza T2-T1 è giusto il tempo in millisecondi che il pulsante è stato tenuto premuto. Un istruzione analoga, ma con una risoluzione maggiore, è micros() che ritorna il numero di microsecondi trascorsi dall istante in cui la scheda Arduino viene alimentata. Le due istruzioni, millis() e micros(), fanno riferimento a registri interni della CPU a 32 bit che ad intervalli regolari si azzerano. In particolare il registro di conteggio dei millisecondi, ritornato da millis(), si azzera dopo circa 50 giorni; quello di micros() dopo circa 70 minuti. Un registro a 32 bit può contenere un numero di conteggi pari a Il periodo di azzeramento di tale registro, che avviene dopo 2 32 conteggi, può essere facilmente determinato. Infatti: 2 32 μsec = 2 32 * 10-6 Secondi = 2 32 * 10-6 / 60 Minuti = 71' 35ʺ 2 32 msec = 2 32 * 10-3 Secondi = 2 32 * 10-3 / Giorni = 49 g 17 h 2' 47ʺ -16-

17 Sketch 03: Realizzazione di un circuito monostabile con la scheda Arduino. Il circuito monostabile è un circuito che azionato con un pulsante commuta l uscita per un determinato intervallo di tempo. Per comprendere meglio la funzione del circuito si può pensare al dispositivo che permette lo spegnimento delle luci nelle scale condominiali dopo un intervallo di tempo ben preciso. Un possibile schema di principio è quello riportato di seguito. Il circuito è molto semplice. Il pulsante P quando viene premuto permette al condensatore di caricarsi attraverso la resistenza R 1 e di portare il pin di ingresso numero 5 di Arduino ad un livello HIGH: il LED in questo caso si accende. Dall istante in cui il LED si accende, il programma memorizzato su Arduino deve conteggiare il trascorrere dei secondi e dopo 5 minuti spegnere il LED. Start Definizione costanti e variabili Legge ingresso PIN 5 Pin 5 = HIGH Accende LED Memorizza tempo To Calcola i minuti trascorsi T SI T < 5 Spegne il LED NO // Definizione di tutte le variabili e costanti const byte PinPulsante = 5 ; const byte PinLED = 7 ; int DeltaT = 5 ; // Tempo Reset Minuti bool StatoPulsante ; unsigned long T0, T1 ; // Per calcolare tempo int T ; // Minuti trascorsi void setup() // Configura i PIN che gestisce il LED pinmode( PinLED, OUTPUT ) ; pinmode( PinPulsante, INPUT ) ; // Spegne il LED digitalwrite( PinLED, LOW ) ; void loop() StatoPulsante = digitalread( PinPulsante ) ; if( StatoPulsante == HIGH ) digitalwrite( PinLED, HIGH ) ; T0 = millis() ; // Istante iniziale T1 = 0 ; T = 0 ; while( T < DeltaT ) T1 = millis() ; T1 = (T1 - T0) ; T = (int) (T1/1000) ; digitalwrite( PinLED, LOW ) ; Lo schema elettrico riportato ad inizio paragrafo è uno schema di principio, ma valido e funzionante. Non è particolarmente complesso realizzare uno schema elettrico con più pulsanti d ingresso e un uscita su carico a 220 Volt AC. -17-

18 Monostabile con carico su rete elettrica a 220 Volt AC. Descrizione. Il circuito presenta N-Pulsanti con contatto normalmente aperto (N.O.). L uscita di Arduino pilota contemporaneamente sia un ramo elettrico con un LED e sia la base del transistor 2N2222 (o uno equivalente). Quando uno dei pulsanti viene premuto, il programma in esecuzione su Arduino intercetta lo stato HIGH impostato sull ingresso pin 5 e quindi imposta l uscita pin 7 nello stato logico HIGH, elettricamente a +5 Volt. In questo modo il LED si accende e segnalare l attivazione del monostabile, contemporaneamente la base del transistor viene alimentata. Il transistor in questo caso commuta dallo stato di interdizione (OFF) a quello di saturazione (ON), permettendo al relè di eccitarsi e commutare i contatti elettrici a 220 Volt. Il risultato è che il carico, nello schema la lampada LP, viene alimentato a 220 Volt. Dopo un tempo preimpostato l uscita pin 7 ritorna allo stato logico LOW spegnendo sia il LED che il transistor. In questo modo il relè viene diseccitato e la sua commutazione toglie la tensione al carico LP. NOTA. Nello schema potrebbe essere inserito un potenziometro in modo da controllare il tempo di attivazione del monostabile, permettendo di impostare un tempo da un minimo di 1 minuto ad un massimo di 10 minuti. In altre parole, la variabile DeltaT dello sketch precedente anziché avere un valore preimpostato di 5 minuti si potrebbe fare in modo da controllare questo valore con la rotazione del cursore di un potenziometro. -18-

19 Monitoraggio dell esecuzione di un programma Accade spesso che l esecuzione di un programma non produce i risultati aspettati. In questo caso occorre monitorare l esecuzione del programma con una serie di warning, messaggi di attenzione, che vengono riprodotti sul monitor del computer. La scheda Arduino collegata al computer tramite le porte USB può trasmettere delle warning al computer, che questo riproduce sul monitor, al fine di monitorare passo-passo l esecuzione di un programma. Occorre utilizzare una specifica libreria (6) per poter stabilire il collegamento tra la scheda Arduino e il computer in modo che quest ultimo possa ricevere correttamente i messaggi trasmessi dalla scheda Arduino. La libreria da utilizzare per tale scopo è la Serial. Questa libreria permette di gestire il collegamento tra la scheda Arduino ed un computer tramite la porta USB oppure tra due schede Arduino tramite i pin 0 (Rx) e pin 1 (Tx) riservati per tale scopo. La prima istruzione da inserire nel nostro sketch è l istruzione Serial.begin(9600). Questa istruzione stabilisce: a) un collegamento tra il computer ed Arduino; b) la velocità di scambio dei segnali tra i due dispositivi, necessaria per la corretta comprensione dei segnali tra i due dispositivi. Dopo aver stabilito un collegamento tra i due dispositivi, è possibile usare l istruzione che permette di inviare al computer una stringa di caratteri (una frase), le warning. L istruzione da usare è: Serial.print( frase da inviare ). Con questa istruzione la frase posta tra il carattere doppio apice di apertura e chiusura (. ) è inviata al computer che provvede a visualizzarla sul monitor. La visualizzazione è possibile predisponendo l IDE nella modalità Monitor Seriale, selezionabile sotto la voce menu Strumenti. In questo modo tutte le warning trasmesse da Arduino sono visualizzate sul monitor del computer. Con l utilizzo della libreria Serial oltre a poter monitorare il corretto funzionamento del programma è anche controllare il contenuto delle variabili per valutare la correttezza dei calcoli effettuati. Esempio di utilizzo della libreria Serial tra scheda Arduino e PC int ValoreA0 ; float Tensione ; void setup() Serial.begin(9600) ; // Stabilisce un collegamento con il PC while(!serial ) ; // Aspetta l OK per proseguire Serial.println(ʺCollegamento seriale stabilito.ʺ) ; // Segnala sul Monitor del PC l OK void loop() ValoreA0 = analogread( A0 ) ; Tensione = ( (float)valorea0/ )*5.0 ; Serial.print( ʺTensione cursore ʺ); Serial.print( Tensione ) ; Serial.println( ʺ Voltʺ ) ; // Legge un valore dall ingresso analogico // Converte il valore letto in tensione // Invia al PC la frase che verrà visualizzata // sul monitor del computer. Ossia: // Tensione cursore 3.5 Volt Dal sito ufficiale è possibile ampliare la conoscenza di questa libreria. Con la libreria Serial è anche possibile il collegamento di due Arduino per un mutuo scambio di informazioni. Il collegamento seriale avviene collegando il pin 0 (Rx) ed il pin 1 (Tx) di un primo Arduino al pin 1 e pin 0 di un secondo Arduino. In questo modo tutti i segnali che escono dal pin Tx (trasmittente) di un Arduino entrano nel pin Rx (ricevente) dell altro Arduino. Il collegamento seriale di due Arduino potrebbe servire in una situazione reale in cui, ad esempio, bisogna monitorare 10 periferiche analogiche. In questo caso un Arduino monitora 6 di queste periferiche e le altre 4 vengono monitorate da un altro Arduino, diciamo Main. Il programma in esecuzione sull Arduino-Main interroga la scheda Arduino che monitora le 6 periferiche richiedendone i dati, mentre i dati delle altre 4 periferiche sarebbero direttamente accessibili dalla scheda Arduino-Main. -19-

20 Sketch 04: Collegamento seriale di due schede Arduino Due schede Arduino sono collegate tramite i pin Rx e Tx con collegamento incrociato, ossia il pin Tx di una scheda è collegato all Rx dell altra scheda. Lo sketch che segue mostra come una scheda Arduino, che chiamiamo Main, riceve i dati rilevati e trasmessi dalla scheda Arduino, modulo secondario, che rileva i primi tre ingressi analogici. Tramite la funzione Monitor Seriale impostata per la scheda Arduino Main possiamo visualizzare i dati rilevati dal modulo secondario. bool IsMain = false ; unsigned long Tempo = millis() ; int x, x0, x1, x2 ; // Tipo di scheda: Main oppure modulo secondario // Variabile per conteggiare i secondi // Variabili di appoggio void setup() Serial.begin( 9600 ) ; while(!serial ) ; Serial.println("Comunicazione USB stabilita") ; if(ismain) Serial.println( "Modulo Principale (Main)" ); else Serial.println( "Modulo Secondario" ) ; delay(3000) ; // Stabilisce un collegamento con il PC // Aspetta l OK per proseguire void loop() // // // M A I N // // if( IsMain ) if( Serial.available() ) while( Serial.available()>0 ) x = Serial.read() ; if( x == 13 ) // Il terminatore di stringa è il New-Line Serial.println(""); // corrispondente ai codici ASCII 13 e 10. else if( x!= 10 ) Serial.print( (char) x ) ; // // // MODULO SECONDARIO // // if(!ismain ) if( (millis()-tempo) > 1000 ) // Controlla se è passato 1 secondo // i0 = analogread( A0 ) ; // Ad ogni secondo di tempo sono effettuate le i1 = analogread( A1 ) ; // letture degli ingressi analogici e trasmessi i2 = analogread( A2 ) ; // via seriale. Serial.print( "Arduino n.0: " ) ; Serial.print( "[A0]=" ) ; Serial.print( i0 ) ; Serial.print( " ; " ) ; Serial.print( "[A1]=" ) ; Serial.print( i1 ) ; Serial.print( " ; " ) ; Serial.print( "[A2]=" ) ; Serial.print( i2 ) ; Serial.print( " ; " ) ; Serial.println( "" ); Tempo = millis() ; Il programma deve essere caricato sia sul modulo main, con la variabile booleana IsMain=true, e sia sul modulo secondario, con l impostazione IsMain=false. La verifica del programma può essere fatta in modo semplice variando con un potenziometro il livello elettrico degli ingressi A0, A1 e A2 del modulo secondario. -20-

21 -21-

22 Display LCD 16x02 Il display LCD1602 è un display a cristalli liquidi (LCD) costituito da 2 righe ciascuna delle quali di 16 caratteri. Ogni carattere è una matrice di punti luminosi che si accendono per formare un carattere. L immagine a lato è reperita dal web. Il display viene gestito attraverso alcune linee di controllo. Può essere del tipo retro-illuminato, nel qual caso è caratterizzato da 16 linee di controllo, diversamente possiede 14 linee di controllo. La definizione delle linee di controllo è riportata nella tabella che segue. Pin Linea Pin Linea 1 GND 9 D Volt 10 D3 3 Vo : Contrasto 11 D4 4 RS 12 D5 5 R/W 13 D6 6 E (Enable) 14 D7 7 D0 15 A 8 D1 16 K La gestione diretta delle linee del display non è una cosa semplice. Per questo motivo deve essere utilizzata una libreria appropriata, permettendo una semplice gestione e mettendo a disposizione alcuni comandi che gestiscono il display. La libreria da utilizzare, importata nello sketch che vogliamo realizzare attraverso l IDE, è la LiquidCrystal. Attraverso la voce di menu dell IDE 'Sketch', sottomenu '#include libreria' e quindi 'gestione librerie ' è possibile importare la libreria LiquidCrystal. Solo dopo aver importato la libreria è possibile utilizzarla. L IDE di Arduino in automatico inserisce nel nostro file-sketch il comando #include <LiquidCrystal.h> come prima riga dello sketch. Il passo successivo è quello di indicare alla libreria quali sono i pin di Arduino che gestiscono le linee del display. In particolar modo occorre usare l istruzione: LiquidCrystal LCD( pin RS, pin Enable, pin D4, pin D5, pin D6, pin D7 ) L istruzione richiede l indice dei pin di Arduino a cui sono collegate le linee RS, E, D4, D5, D6 e D7 del display. Solo dopo questa impostazione è possibile utilizzare i seguenti comandi per gestire il display. LCD.clear() ; LCD.begin(16, 2) ; comando LCD.setCursor( x-colonna, y-riga ) ; LCD.print( stringa ) ; LCD.print( valore ) ; descrizione Con questo comando si fa in modo da cancellare tutti i caratteri presenti sul display. Diversamente rimangono caratteri derivanti da stampe precedenti. Imposta l utilizzo della libreria per il display costituito da 2 righe ciascuna con 16 colonne. Questo perché esistono altri display con più righe. Con questo comando si imposta la posizione di inizio scrittura sul display. L indice x-colonna è un numero tra 0 e 15 (16 colonne); l indice y-riga è un intero tra 0 e 1 ( 2 righe). Con questa istruzione è possibile inviare al display una tringa di caratteri o un valore numerico che verrà visualizzato sul display. Spetta al programmatore controllare che le stringhe siano al massimo di 16 caratteri e su quale riga visualizzare l informazione. -22-

23 Sketch 05: Visualizzare sul display l indicazione dell ora nel formato mʹ sʺ Lo sketch si propone di illustrare i comandi principali per gestire il display LCD1602. I collegamenti da effettuare sono i seguenti. Display LCD1602 ARDUINO Pin Pin 1 GND GND 2 +5 Volt +5 Volt 3 GND o Potenziometro GND 4 RS 8 5 GND GND 6 Enable 9 11,12,13,14 DATA 10,11,12,13 #include <LiquidCrystal.h> LiquidCrystal LCD(8,9,10,11,12,13) ; byte Secondi, Minuti ; unsigned long Tempo ; unsigned long T ; void setup() LCD.begin(16, 2) ; LCD.clear() ; LCD.setCursor(0,0) ; LCD.print( "Orologio" ) ; Secondi=0 ; Minuti=0 ; Tempo=millis() ; void loop() T = ((millis()-tempo)/1000) ; if( (byte) T > 1 ) Tempo=millis() ; Secondi++ ; if( Secondi>59 ) Secondi=0 ; Minuti++ ; if( Minuti>59 ) Minuti=0; LCD.setCursor(0, 1) ; LCD.print( Minuti ) ; LCD.print( (char) 39 ) ; LCD.print( Secondi ) ; LCD.print( (char) 34 ) ; LCD.print( " " ) ; Imposta la libreria da usare Imposta nella libreria la corrispondenza tra le linee del display e i pin di Arduino Definizione di alcune variabili Inizializza il display LCD Cancella i caratteri presenti sull LCD Posiziona il cursore nel punto (0,0) Scrive la frase OROLOGIO Azzera le variabili definite Calcola i secondi trascorsi Esegue una conversione di tipo Posiziona il cursore nel punto (0,1) Forza il tipo (char) del numero indicato Cancella i caratteri inutili a destra Effettuati i collegamenti e caricato su una scheda Arduino lo sketch illustrato, sulla prima riga del display LCD1602 appare la scritta Orologio, mentre sulla seconda riga appare l indicazione dei minuti e dei secondi che scorrono col passare del tempo, nel formato, ad esempio, 12ʹ38ʺ. -23-

24 Il sensore ad ultrasuoni HC-SR04. Un onda sonora si propaga nello spazio e quando colpisce un ostacolo ne è riflessa proprio come uno specchio riflette un raggio di luce. Un sensore ad ultrasuoni è un dispositivo capace di emettere un onda sonora e rilevare il tempo che impiega ad essere riflessa da un ostacolo. Rilevando il tempo che l onda riflessa impiega per raggiungere il sensore ad ultrasuoni si rileva automaticamente la distanza dell oggetto che ha riflesso l onda sonora, ossia la posizione dell ostacolo. L immagine a lato raffigura un sensore ad ultrasuoni (fonte internet). Il sensore deve essere alimentato attraverso il pin Vcc (+5Volt) ed il pin GND. Il pin di ingresso di Trigger permette di generare un onda sonora per tutto il tempo che è tenuto nello stato alto (H). Il pin di Echo, normalmente mantenuto a livello basso (L) dal sensore, è posto a livello alto dal sensore stesso nel momento in cui questo rileva il segnale ultrasonico. Pertanto, generando un impulso ultrasonico e misurando il tempo che il pin Echo impiega a portarsi a livello alto, è possibile determinare la posizione degli oggetti rispetto al sensore. Infatti, se ΔT è il tempo che intercorre tra la fine della generazione dell impulso ultrasonico e l istante in cui questo viene rilevato, la distanza dell oggetto che ha riflesso l onda è L= 340 m/sec * ΔT/2. La velocità del suono è circa 340 metri/sec. Il collegamento hardware da realizza. Alimentato il sensore, i pin di Trigger e di Echo devono essere gestiti da Arduino, come illustrato di seguito. Sketch 06: Misurare la distanza di un oggetto byte TriggerPin = 9 ; byte EchoPin = 10 ; long durata = 0 ; long distanza = 0 ; Pin riservato all impulso di trigger Pin per rilevare l'impulso Variabile di appoggio Variabile di appoggio void setup() pinmode( TriggerPin, OUTPUT ) ; pinmode( EchoPin, INPUT ) ; Serial.begin( 9600 ) ; while(!serial); Serial.println( "Sensore Ultrasuoni") ; delay(100) ; digitalwrite( TriggerPin, LOW ) ; delay(100) ; void loop() digitalwrite( TriggerPin, HIGH ) ; delaymicroseconds( 10 ) ; digitalwrite( TriggerPin, LOW ) ; durata = pulsein( EchoPin, HIGH) ; if( durata > ) distanza = 1000 ; else distanza = 0.034*durata/2 ; Alimenta il sensore ad UltraSuoni Genera un impulso Misura il tempo di ritorno Fuori portata,oltre i 10 metri Calcola la distanza in cm Serial.println( distanza ) ; delay(500) ; Visualizza la distanza L istruzione usata pulsein() permette di misurare il tempo in cui il pin da monitorare, indicato come input alla funzione, diventi alto. L istruzione, pertanto, controlla che il pin EchoPin diventi HIGH (alto), memorizzando nella variabile durata il numero di milli-secondi impiegati per tale transizione. -24-

25 -25-

26 Riferimenti (1) La differenza tra un microcontrollore e un microprocessore sta nella potenza delle funzioni che possono svolgere. Si può pensare molto semplicisticamente allo stesso rapporto che esiste tra un utilitaria della FIAT, tipo la 500, e una FERRARI: la fiat 500 possiamo dire che è una versione ridotta (familiare) di una Ferrari. Allo stesso modo il microcontrollore è una versione ridotta del microprocessore. (2) I segnali elettrici TTL sono segnali digitali di 0 Volt oppure +5 Volt. L acronimo TTL sta per Transistor-Transistor-Logic, ossia circuiti con accoppiamento di Transitor in configurazione Logica. (3) Il dispositivo Analog-Digital-Converter ADC permette di associare ad un livello di tensione tra 0 e +5 Volt un numero tra 0 e Un opportuno circuito elettronico individua a quale porzione delle 1024 parti di suddivisione dell intervallo analogico appartiene. (4) Il prodotto R C ha le dimensioni di un tempo ed è indicato come costante di tempo. Nel caso specifico in esame tale prodotto deve essere di circa 1 milli-secondo, tempo necessario affinché due contatti metallici risultino elettricamente ben connessi. (5) Un interfaccia è un dispositivo interposto tra due circuiti in grado di adattare le caratteristiche dell uno verso l altro dispositivo. Ad esempio una tastiera è un interfaccia tra il computer e un operatore. (6) Una libreria software è un programma esterno che permette di ampliare i comandi base per la programmazione che si sta realizzando. In generale la libreria metta a disposizione del programmatore dei comandi per realizzare specifiche funzioni. -26-

Ricevitore Supervisionato RX-24

Ricevitore Supervisionato RX-24 Ricevitore Supervisionato RX-24 Dati tecnici Gestione a microprocessore 24 Sensori memorizzabili 8 Uscite allarme uno per canale 8 Canali con 3 sensori per ogni canale 10 Telecomandi programmabili 1 Uscita

Dettagli

Progetto per il corso di Microcontrollori: Gestore Ambientale

Progetto per il corso di Microcontrollori: Gestore Ambientale UNIVERSITÀ DEGLI STUDI DELL INSUBRIA Corso di Laurea Magistrale in Informatica Progetto per il corso di Microcontrollori: Gestore Ambientale Studente: Bonizzi Mauro Matr. 711020 Anno Accademico 2013/2014

Dettagli

Collaudo statico di un ADC

Collaudo statico di un ADC Collaudo statico di un ADC Scopo della prova Verifica del funzionamento di un tipico convertitore Analogico-Digitale. Materiali 1 Alimentatore 1 Oscilloscopio 1 Integrato ADC 0801 o equivalente Alcuni

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

TERMOMETRO LCD BASATO SUL TRASDUTTORE DI TEMPERATURA ANALOGICO LM 35

TERMOMETRO LCD BASATO SUL TRASDUTTORE DI TEMPERATURA ANALOGICO LM 35 ESERCITAZIONE CON ARDUINO N 5 TERMOMETRO LCD BASATO SUL TRASDUTTORE DI TEMPERATURA ANALOGICO LM 35 Con il presente circuito, si vuole realizzare un termostato ambientale per un caseificio, che utilizza

Dettagli

7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M.

7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M. 7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Esperienzan 6 Lo scopo del progetto è realizzare un termometro

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

Dettagli

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

Dettagli

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI

Dettagli

Via Oberdan, 42, 48018 Faenza (RA) Italy Tel.: ++39-0546-677111 Fax: ++39-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA

Via Oberdan, 42, 48018 Faenza (RA) Italy Tel.: ++39-0546-677111 Fax: ++39-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA Via Oberdan, 4, 4808 Faenza (RA) Italy Tel.: ++9-0546-677 Fax: ++9-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA * tasti con doppia funzionalità : dipende dalla modalità di

Dettagli

Importazione dati. e/fiscali Spesometro - Rel. 04.05.01. con gestionale e/satto. Gestionale e/satto

Importazione dati. e/fiscali Spesometro - Rel. 04.05.01. con gestionale e/satto. Gestionale e/satto e/fiscali Spesometro - Rel. 04.05.01 Importazione dati con gestionale e/satto 06118930012 Tribunale di Torino 2044/91 C.C.I.A.A. 761816 - www.eurosoftware.it Pagina 1 ATTENZIONE. Per poter procedere con

Dettagli

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Release NOTE 1.1 Prima Versione del Manuale INDICE 1-INTRODUZIONE... 4 2- GESTIONE DEL CATALOGO PIXMANIA-PRO SU IMAIO... 5 3-Configurazione

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Capitolo Acquisizione dati con PC

Capitolo Acquisizione dati con PC Capitolo 2 Acquisizione dati con PC 2.1 Generalità 2.2 Sistema di acquisizione dati analogici monocanale con PC, per segnali lentamente variabili 2.3 Sistema di acquisizione dati analogici multicanale

Dettagli

Manuale D uso MultiBox

Manuale D uso MultiBox Manuale D uso MultiBox COMANDI DELLA MACCHINA 1) INTERRUTORE GENRALE: ruotando l interruttore generale dalla posizione 0 alla posizione 1 il quadro elettrico viene alimentato. 2) PANNELLO TOUCHSCREEN:

Dettagli

EFA Automazione S.r.l. SB3Conf Help V1.00 (01 ITA).doc pag. 1 / 10

EFA Automazione S.r.l. SB3Conf Help V1.00 (01 ITA).doc pag. 1 / 10 EFA Automazione S.r.l. SB3Conf Help V1.00 (01 ITA).doc pag. 1 / 10 SOMMARIO Requisiti software pag. 2 Istruzioni per l installazione pag. 2 Avvio del Configuratore pag. 2 Creazione di un nuovo progetto

Dettagli

Centrale M-Bus. Impiego. Funzioni. Maggio 1996

Centrale M-Bus. Impiego. Funzioni. Maggio 1996 s Maggio 1996 5 362 Centrale M-Bus OZW10 Centrale per la concentrazione dei dati dei misuratori. I dati vengono memorizzati in modo imperdibile per la lettura diretta e/o a posteriore tramite la scheda

Dettagli

HP LED Driver Shield. EtherMania di Signorini Marco Via Cadore 9 21046 MALNATE (VA) P.I. 03111760124 REA VA-324137 http://www.ethermania.

HP LED Driver Shield. EtherMania di Signorini Marco Via Cadore 9 21046 MALNATE (VA) P.I. 03111760124 REA VA-324137 http://www.ethermania. HP LED Driver Shield Introduzione Lo HPLEDDriverShield e' uno shield per Arduino (UNO e Mega 2560) che permette di pilotare fino a 4 stringhe di LED High Power. Ogni canale e' dotato di un preciso generatore

Dettagli

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi Sistema per l acquisizione, l elaborazione e la gestione delle apparecchiature di una stazione di monitoraggio della qualità dell aria sviluppato da Project Automation S.p.A. è il sistema periferico per

Dettagli

12 - timer da cucina display a 4 cifre

12 - timer da cucina display a 4 cifre 12 - timer da cucina display a 4 cifre Il display led da 4 cifre utilizzato in questo esercizio e il modello HS410561K-32. Questo modello, e caratterizzato da 4 anodi (uno per ogni cifra) e dai 8 catodi,

Dettagli

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) 6^ parte : Acquisizione della temperatura con LM35 Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Esperienzan 5 Lo scopo è quello di far accendere due LED in base ad una soglia di temperatura

Dettagli

SmartLF CX40 scanner utilities

SmartLF CX40 scanner utilities SmartLF CX40 scanner utilities Sommario Introduzione...3 Revisioni...3 Esecuzione in modalità utente...4 La modalità di servizio...5 Aggiornamento via Internet di firmware e/o driver...6 Aggiornamento

Dettagli

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Programmazione di Base Variabili Array Funzioni Strutture di controllo Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) 3^ parte Com è fatto Arduino Programmazione da USB Nota: Firmware: Insieme

Dettagli

Guida rapida all utilizzo del software e-stant

Guida rapida all utilizzo del software e-stant Guida rapida all utilizzo del software e-stant Il software, per PC Windows, E-stant può essere scaricato al seguente link: http://www.esse-ti.it/download_m2m.asp Una volta installato, il software permette

Dettagli

Rilevatore di caduta per anziani. Guida per l utente

Rilevatore di caduta per anziani. Guida per l utente FATE Rilevatore di caduta per anziani Guida per l utente 1 Indice 1. Il sistema FATE COME SI USA IL SISTEMA FATE p.3 TIPI DI ALLARME INVIATI DAL SISTEMA FATE p.5 MESSAGGI DI AVVISO DEL TELEFONO CELLULARE

Dettagli

ARDUINO. Ing. Francesco Giurlanda francesco.giurlanda@iet.unipi.it

ARDUINO. Ing. Francesco Giurlanda francesco.giurlanda@iet.unipi.it ARDUINO Ing. Francesco Giurlanda francesco.giurlanda@iet.unipi.it Cos'è ARDUINO? Il progetto nasce ad Ivrea, nel 2005. Obiettivo: realizzare un sistema di prototipizzazione economico. Al Maggio del 2011

Dettagli

D sistema d allarme con sensori magnetici

D sistema d allarme con sensori magnetici D sistema d allarme con sensori magnetici Il sistema di allarme proposto in questa nota prevede l utilizzo di sensori reed per rilevare l apertura di porte e/o finestre. Il programma prevede due sensori,

Dettagli

APRS CON KENWOOD TMD 710

APRS CON KENWOOD TMD 710 APRS CON KENWOOD TMD 710 Per fare APRS il tmd 710 si può usare in molteplici modi Illustrerò i modi con cui lo uso io e le sue configurazioni scusate le immagini ma di meglio non sono riuscito a fare.

Dettagli

Guida di installazione

Guida di installazione Il braccio destro per il business. Guida di installazione Il termine Wi-Fi è un marchio registrato della Wi-Fi Alliance. Complimenti per aver acquistato il servizio Wi-Fi Space di Impresa Semplice. Di

Dettagli

Q71S. 230V ac Q71S. CENTRALE DI GESTIONE PER CANCELLI SCORREVOLI Manuale di installazione e uso. Centrale di gestione per cancello scorrevole 230V ac

Q71S. 230V ac Q71S. CENTRALE DI GESTIONE PER CANCELLI SCORREVOLI Manuale di installazione e uso. Centrale di gestione per cancello scorrevole 230V ac Q71S CENTRALE DI GESTIONE PER CANCELLI SCORREVOLI Manuale di installazione e uso 230V ac Q71S Centrale di gestione per cancello scorrevole 230V ac Programmazione semplificata del ciclo di funzionamento

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Relazione finale del progetto Arduino - NIMT

Relazione finale del progetto Arduino - NIMT Relazione finale del progetto Arduino - NIMT Gruppo 3: Salvatore Brunelli, Alessandro Del bono, Luca Guazzi, Davide Petrolini 24 febbraio 2016 La "scatola" di Arduino One può essere considerata come il

Dettagli

ALLFLEX STICK READER RS 320

ALLFLEX STICK READER RS 320 ALLFLEX STICK READER RS 320 ISTRUZIONI RAPIDE PER L USO ( FARE RIFERIMENTO AL MANUALE CONTENUTO NELLA CONFEZIONE ) 1) CONTENUTO DELLA CONFEZIONE - STICK READER ALLFLEX RS 320 - ISTRUZIONI D USO - UNA BATTERIA

Dettagli

Motori Motore passo-passo Stadio di potenza PWM Sincrono Stadio di potenza del motore passopasso. Blocchi funzionali. Set point e generatore PWM

Motori Motore passo-passo Stadio di potenza PWM Sincrono Stadio di potenza del motore passopasso. Blocchi funzionali. Set point e generatore PWM RC1 Blocchi funzionai Motori a corrente continua Generatori Circuiti per il controllo dei motori in CC Motori a corrente alternata Circuiti per il controllo dei motori in CA Motori passo-passo Circuiti

Dettagli

Sensore da soffitto con infrarosso passivo

Sensore da soffitto con infrarosso passivo Sensore da soffitto con infrarosso passivo Descrizione Dispositivo di controllo e comando, alimentato da Bus SCS, dotato di due differenti sensori che grazie alla combinazione dei quali è in grado di gestire

Dettagli

Utilizzo collegamento remoto

Utilizzo collegamento remoto Utilizzo collegamento remoto Introduzione Il collegamento VPN (virtual private network) consente a PC collegati ad internet ma fisicamente fuori dalla rete interna regionale, di accedere, con le credenziali

Dettagli

Programma di Robotica[LEGO EV3]

Programma di Robotica[LEGO EV3] Programma di Robotica[LEGO EV3] Target: 1. Alunni ultima classe scuola media inferiore per i quali sia possibile compiere un lavoro di potenziamento delle abilità per i livelli di eccellenza didattica

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

SCHEDA ALTERA UP1. Topografia della scheda UP1

SCHEDA ALTERA UP1. Topografia della scheda UP1 SCHEDA ALTERA UP1 (tratto da: Guida alle esercitazioni di laboratorio per il corso di Elettronica delle Telecomunicazioni, AA 2001-2002; D. Del Corso, M. Chiaberge, C. Sansoè) La scheda UP1 è descritta

Dettagli

Automobile Bluetooth

Automobile Bluetooth Automobile Bluetooth Ivancich Stefano 17 Maggio 2015 SOMMARIO Di seguito s illustra un progetto di un automobile comandata da uno smartphone tramite la connessione Bluetooth. E stata presa una automobilina

Dettagli

MANUALE UTENTE RIO-42

MANUALE UTENTE RIO-42 MANUALE UTENTE RIO-42 Dispositivo generico di Telecontrollo con 4 ingressi e 2 uscite. Manuale Utente RIO-42 Rev.0 SOMMARIO PRESENTAZIONE... 3 Caratteristiche generali (TODO)... 3 Caratteristiche tecniche...

Dettagli

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI 1/10 SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI 2/10 ARCHITETTURA DI SISTEMA Il sistema è basato su una rete di stazioni di ricarica, con configurazione e tipologia

Dettagli

BUDVR4PLUS - BUDVR16PLUS

BUDVR4PLUS - BUDVR16PLUS BUDVR4PLUS - BUDVR16PLUS 1. GUIDA RAPIDA ALL INSTALLAZIONE Installazione degli HARDDISK Questi due modelli di DVR non vengono forniti con l Hard Disk installato. La dimensione massima dello spazio del

Dettagli

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE SCHEDA DI LABORATORIO N 3 CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE Si vuole realizzare un contasecondi con display a 7 segmenti utilizzando la scheda Arduino. Materiale occorrente: N 1 Bread

Dettagli

Ci congratuliamo per il vostro acquisto del nuovo USB. Tester, uno strumento dedicato a coloro che devono

Ci congratuliamo per il vostro acquisto del nuovo USB. Tester, uno strumento dedicato a coloro che devono Soluzioni MANUALE IT UTENTE Contenuto : 1 x USB Tester 1 x USB Printer Cable 1 x USB MiniUSB Cable 1 x Secure Digital Ci congratuliamo per il vostro acquisto del nuovo USB Tester, uno strumento dedicato

Dettagli

PLC E AUTOMAZIONE INDUSTRIALE

PLC E AUTOMAZIONE INDUSTRIALE FEDELE ing. Domenico Antonio PROGETTAZIONE DI IMPIANTI Viale Barlaam da Seminara, 16/D 88100 CATANZARO E-mail: mimmofed@alice.it PEC: domenicoantonio.fedele@ingpec.eu Web: www.ingfedele.it Dispense e appunti

Dettagli

MANUALE 3DPRN ware 1

MANUALE 3DPRN ware 1 MANUALE 3DPRNware 1 Sommario 1. Installazione e configurazione... 3 2. Form principale... 6 3. Prima stampa... 11 2 1. Installazione e configurazione Scaricare il setup di 3DPRNWARE dal link: http://www.3dprn.com/download/3dprnware_v.1.2.0.0.zip

Dettagli

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette. 3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,

Dettagli

Video Quad Processor

Video Quad Processor Video Quad Processor Manuale d istruzioni CAUTION Questo è un dispositivo intelligente. Collegare il cavo video sul primo ingresso ed accendere. Il dispositivo individuerà il sistema automaticamente PAL/NTSC

Dettagli

ELETTRONICA INDUSTRIALE

ELETTRONICA INDUSTRIALE CATALOGO EM - Series Novembre 1998 Detail ELETTRONICA INDUSTRIALE 2 3 CATALOGO EM -Series Novembre 1998 Tutti i diritti sono riservati. E' vietata la riproduzione di qualsiasi parte di questo catalogo,

Dettagli

La certificazione di qualità del contatore

La certificazione di qualità del contatore La certificazione di qualità del contatore Il contatore elettronico ha superato tutte le prove di qualità e sicurezza previste dalla normativa vigente ed è conforme alle Direttive Comunitarie applicabili.

Dettagli

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

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»

Dettagli

Telefono Multifunzione Evoluto Il Nuovo telefono standard dotato di innumerevoli funzioni

Telefono Multifunzione Evoluto Il Nuovo telefono standard dotato di innumerevoli funzioni Telefono Multifunzione Evoluto Il Nuovo telefono standard dotato di innumerevoli funzioni Il grande display LCD alfanumerico, i tasti funzione, i tasti memoria, il vivavoce potenziato, i Led di segnalazione

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

La soluzione innovativa CONSUMI IN TEMPO REALE SU CLOUD SEMPLICE E VELOCE DA INSTALLARE PER TUTTI I TIPI DI CONTATORE BASSO COSTO

La soluzione innovativa CONSUMI IN TEMPO REALE SU CLOUD SEMPLICE E VELOCE DA INSTALLARE PER TUTTI I TIPI DI CONTATORE BASSO COSTO NEW Gestione illuminazione pubblica da remoto e La soluzione innovativa CONSUMI IN TEMPO REALE SU CLOUD SEMPLICE E VELOCE DA INSTALLARE PER TUTTI I TIPI DI CONTATORE BASSO COSTO per controllare i consumi

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Arduino: manuale di programmazione wiring

Arduino: manuale di programmazione wiring Arduino: manuale di programmazione wiring Introduzione Che cosa e, come si progetta e come si scrive un programma Struttura di un programma Ortografia, grammatica e sintassi Le parole chiave Le istruzioni

Dettagli

Esercitazione Strumentazione virtuale

Esercitazione Strumentazione virtuale Esercitazione Strumentazione virtuale - 1 Esercitazione Strumentazione virtuale 1 - Oggetto Introduzione alla strumentazione virtuale. LabView: il pannello frontale e il diagramma a blocchi. Esempi: generatore

Dettagli

Manuale di configurazione e utilizzo Barcode card

Manuale di configurazione e utilizzo Barcode card Manuale di configurazione e utilizzo Barcode card Premessa... 3 Impostazioni Monetica... 3 Impostazioni... 3 Menu Barcode card... 5 Impostazioni... 6 Registrazione... 6 Elenco barcode card... 7 Configurazione

Dettagli

SOFTWARE DI PROGRAMMAZIONE PER ENCODER SERIALI ASINCRONI AMS / ACS / AMM / ACM Versione 1.5 Introduzione

SOFTWARE DI PROGRAMMAZIONE PER ENCODER SERIALI ASINCRONI AMS / ACS / AMM / ACM Versione 1.5 Introduzione SOFTWARE DI PROGRAMMAZIONE PER ENCODER SERIALI ASINCRONI AMS / ACS / AMM / ACM Versione. Introduzione Il software, realizzato dal Hohner Automazione s.r.l., permette di effettuare la programmazione dei

Dettagli

FIRMA DIGITALE E CIFRATURA

FIRMA DIGITALE E CIFRATURA FIRMA DIGITALE E CIFRATURA Di seguito viene illustrato come firmare digitalmente un file e come crittografarlo (o cifrarlo). Lo scopo può essere raggiunto attraverso una molteplicità di strumenti, sia

Dettagli

Manuale di installazione e uso

Manuale di installazione e uso Manuale di installazione e uso Joystick III Stato: V2.20141208 3032258305-02-IT Leggere il presente manuale d'uso ed osservare le indicazioni in esso contenute. Conservare il manuale per la consultazione

Dettagli

A.S. 2015/16 CLASSE 5 AEE MATERIA: LABORATORIO DI T.P.S.E.

A.S. 2015/16 CLASSE 5 AEE MATERIA: LABORATORIO DI T.P.S.E. A.S. 2015/16 CLASSE 5 AEE MATERIA: LABORATORIO DI T.P.S.E. UNITA DI APPRENDIMENTO 1: AMPLIFICATORI OPERAZIONALI Essere capace di progettare le principali configurazioni circuitali con op-amp. Caratteristiche

Dettagli

Controllare un nastro trasportatore fischertechnik con Arduino

Controllare un nastro trasportatore fischertechnik con Arduino TITOLO ESPERIENZA: Controllare un nastro trasportatore fischertechnik con Arduino PRODOTTI UTILIZZATI: OBIETTIVO: AUTORE: RINGRAZIAMENTI: Interfacciare e controllare un modello di nastro trasportatore

Dettagli

SOFTWARE PER DATA LOGGER VACQ

SOFTWARE PER DATA LOGGER VACQ SOFTWARE PER DATA LOGGER VACQ I software a disposizione sono stati sviluppati appositamente per ogni prodotto, esaltandone le specifiche tecniche senza tuttavia risultare incomprensibili all utente. Non

Dettagli

Site Installer. Manuale Utente

Site Installer. Manuale Utente Manuale Utente Site Installer Manuale Utente 2 Indice 1. INSTALLAZIONE... 4 1.1 Disinstallazione della revisione precedente...4 1.2 Installazione del Software...4 2 UTILIZZO DI SITE INSTALLER... 5 2.1

Dettagli

TERMINALI PER IL RILEVAMENTO PRESENZE LBX 2780 FOGLIO

TERMINALI PER IL RILEVAMENTO PRESENZE LBX 2780 FOGLIO TERMINALI PER IL RILEVAMENTO PRESENZE LBX 2780 FOGLIO Potente e dal design sofisticato Una gamma diversificata di terminali è la risposta di Solari alle esigenze più diverse ed articolate del mercato.

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1 ª) gennaio 2015 Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione Sovietica 490 (TO) Materiale didattico: www.istitutoprimolevi.gov.it

Dettagli

DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo

DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo Ogni componente hardware dell elaboratore, per poter svolgere determinati compiti,

Dettagli

Natura corpuscolare della luce: misura della costante di Planck utilizzando i diodi LED

Natura corpuscolare della luce: misura della costante di Planck utilizzando i diodi LED Natura corpuscolare della luce: misura della costante di Planck utilizzando i diodi LED 1. Introduzione e teoria Nell ambito della teoria corpuscolare della luce, la stessa è costituita da particelle (o

Dettagli

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS Versione 1.2 9 Luglio 2007 Pagina 1 di 16 SOMMARIO 1. Cos è Outlook Web Access... 3 2. Quando si usa... 3 3. Prerequisiti per l uso di Outlook

Dettagli

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Introduzione allo sviluppo di progetti Premessa Qualunque sistema basato su microcontrollore deve eseguire un codice memorizzato in

Dettagli

Pompa di calore Euro Cube HP &

Pompa di calore Euro Cube HP & Euro Cube HP Pompe di calore aria/acqua per installazione splittata Gamma disponibile Tipologia di unità IP Pompa di calore (reversibile lato refrigerante) Versioni VB Versione Base Allestimenti acustici

Dettagli

Funzionamento generale

Funzionamento generale ISTRUZIONI D USO E MANUTENZIONE MODULO LED D EMERGENZA XISTEMLED Funzionamento generale Il modulo funziona a tensione di rete da 230V e, quando è collegato, carica il pacco batterie interna in dotazione

Dettagli

Manuale LiveBox APPLICAZIONE ANDROID (V. 3.02.019) http://www.liveboxcloud.com

Manuale LiveBox APPLICAZIONE ANDROID (V. 3.02.019) http://www.liveboxcloud.com 2015 Manuale LiveBox APPLICAZIONE ANDROID (V. 3.02.019) http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi

Dettagli

Controllo di un climatizzatore da Smartphone

Controllo di un climatizzatore da Smartphone Controllo di un climatizzatore da Smartphone Esistono diverse soluzioni per comandare un termostato programmabile per l accensione di una caldaia via internet con uno smartphone Ma se l apparecchio da

Dettagli

ISCRIZIONI ONLINE 2014 II FASE Scuole Verifica domande

ISCRIZIONI ONLINE 2014 II FASE Scuole Verifica domande ISCRIZIONI ONLINE 2014 II FASE Scuole Verifica domande II FASE Scuole Verifica delle domande Dal 3 febbraio, fino al 28 febbraio, le scuole destinatarie dell iscrizione o anche quelle di attuale frequenza

Dettagli

NOTE RILASCIO IATROS SISS v. 2.X

NOTE RILASCIO IATROS SISS v. 2.X NOTE RILASCIO IATROS SISS v. 2.X Il SISS ha chiesto l implementazione obbligatoria di alcune importanti modifiche di funzionalità di integrazione della cartella con i servizi regionali. Le modifiche apportate

Dettagli

Giocare con Theremino: la mia prima APP in Visual Studio 2008 (Theremino_LM35_Thermometer v. 1.1)

Giocare con Theremino: la mia prima APP in Visual Studio 2008 (Theremino_LM35_Thermometer v. 1.1) Giocare con Theremino: la mia prima APP in Visual Studio 2008 (Theremino_LM35_Thermometer v. 1.1) Dopo aver preso confidenza con il sistema Theremino (www.theremino.com) ed in paricolare con la fondamentale

Dettagli

DISPLAY REMOTO PILOTATO DALLA SERIALE. LCD_SERv10

DISPLAY REMOTO PILOTATO DALLA SERIALE. LCD_SERv10 DISPLAY REMOTO PILOTATO DALLA SERIALE su CPU18LCD LCD_SERv10 035-693737 1 FUNZIONI del sistema: Il sistema è composto da: 1. una scheda con a bordo ÄÅ Un regolatore 12Vcc / 7Vcc Ä a 5Vcc ÄÇ Un microprocessore

Dettagli

Pag. 25-4. Pag. 25-5. Pag. 25-4

Pag. 25-4. Pag. 25-5. Pag. 25-4 Pag. -4 ATL 600 Commutatore di rete con porta ottica e display LCD grafico. Alimentazione AC. 6 ingressi digitali programmabili. 7 uscite a relè programmabili. Pag. -4 ATL 610 Commutatore di rete con porta

Dettagli

SCOPO FUNZIONALE DELL'APPARECCHIO

SCOPO FUNZIONALE DELL'APPARECCHIO A2X_2TH32 A2X02TH32 = 115 Vac A2X12TH32 = 230 Vac A2X22TH32 = 24 Vac A2X32TH32 = 24 Vdc STAZIONE AUTO/MAN DOTAZIONE All'interno dell'imballaggio sono presenti:! manuale d'uso! avvertenze! dispositivo!

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

TRASMISSIONE DATI tra PC e CN (nozioni teoriche essenziali)

TRASMISSIONE DATI tra PC e CN (nozioni teoriche essenziali) TRASMISSIONE DATI tra PC e CN (nozioni teoriche essenziali) (versione Dicembre 2002) Appunti ad esclusivo uso interno ITIS VARESE - specializzazione meccanici. Sistema binario: sistema numerico costituito

Dettagli

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

Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) - Arduino è orientato all'applicazione, - Permette di provare, partendo dal piccolo e crescendo pezzo per pezzo (sviluppo modulare); - Lo sviluppo è aiutato da una enorme community online con esempi e

Dettagli

* in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012

* in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012 Nota Salvatempo Contabilità 22 MAGGIO 2012 * in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012 Nuova modalità di esportazione dei dati dalla Contabilità all Unico Persone

Dettagli

Progetto di Domotica

Progetto di Domotica Progetto di Domotica Titolo dell esercitazione: Progetto di Domotica Descrizione sommaria dell esperienza: Realizzazione di un circuito che permette il controllo di vari sensori all interno di un edificio.

Dettagli

Gestione dell'interrupt con il microcontrollore ATMega328 (scheda Arduino)

Gestione dell'interrupt con il microcontrollore ATMega328 (scheda Arduino) Gestione dell'interrupt con il microcontrollore ATMega328 (scheda Arduino) Un microcontrollore normalmente esegue le istruzioni nella sequenza definita in fase di programmazione (fig. 1). Comunque, il

Dettagli

Manuale Istruzioni DATI IDENTIFICATIVI DEL PRODUTTORE

Manuale Istruzioni DATI IDENTIFICATIVI DEL PRODUTTORE Manuale Istruzioni DATI IDENTIFICATIVI DEL PRODUTTORE KOLVER S.r.l. VIA MARCO CORNER, 19/21 36016 THIENE (VI) ITALIA TEL +39 0445 371068 www.kolver.it DATI IDENTIFICATIVI DEL PRODOTTO MODELLO: ACE contaviti

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Programmatore per telaio scheller

Programmatore per telaio scheller Divo Di Lupo Sistemi per telai Cotton Bentley Monk Textima Scheller Closa Boehringer http://www.divodilupo.191.it/ Programmatore per telaio scheller Attuatore USB semplificato Procedura di installazione

Dettagli

OPERA Specifiche tecniche per moduli telegestione Hardware, Quadri di campo e di rete FV

OPERA Specifiche tecniche per moduli telegestione Hardware, Quadri di campo e di rete FV SPECIFICHE TECNICHE OPERA Specifiche tecniche per moduli telegestione Hardware, Quadri di campo e di rete FV RSST04I00 rev. 0 0113 SPECIFICA SIGLA TIPO DI PRODOTTO A DIM/F TELEGESTIONE QUADRI DI CAMPO

Dettagli

MANUALE D USO E MANUTENZIONE

MANUALE D USO E MANUTENZIONE MANUALE D USO E MANUTENZIONE GENERATORE DI ULTRASUONI UGP 1 UCM Srl Via Lombardia, 11 20060 Vignate (MI) Tel: +39 02 9567194 Fax: +39 02 700532896 info@ucmultrasuoni.it http://www.ucmmacchine.it 2 1 DICHIARAZIONE

Dettagli

Laboratorio microcontrollori e open source Prima parte

Laboratorio microcontrollori e open source Prima parte Laboratorio microcontrollori e open source Prima parte Politecnico Open unix Labs 13 Aprile 2012 POuL Laboratorio microcontrollori e open source Prima parte 1/ 53 Introduzione Questo corso è una breve

Dettagli

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676

Dettagli

MANUALE CENTRALINA DI COMMUTAZIONE TMC_2

MANUALE CENTRALINA DI COMMUTAZIONE TMC_2 MANUALE CENTRALINA DI COMMUTAZIONE TMC_2 1 DESCRIZIONE La centralina di controllo generatore è un dispositivo che permette la commutazione automatica tra una sorgente di linea-rete ed un generatore. Quando

Dettagli

Finalità delle misure

Finalità delle misure Sistemi di controllo industriale tramite Ing. Lorenzo Comolli Finalità delle misure In ambito scientifico,, studiare i fenomeni, verificare sperimentalmente modelli matematici e teorie scientifiche, monitorare

Dettagli

Guida Rapida per i Docenti dell ITIS Galilei

Guida Rapida per i Docenti dell ITIS Galilei Guida Rapida per i Docenti dell ITIS Galilei Il nuovo server Internet learning dell Istituto Galileo Galilei di Roma è raggiungibile digitando http://lnx.itisgalileiroma.it/moodle nella barra degli indirizzi

Dettagli

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO Servizi per l e-government nell università Federico II WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO CONNESSIONE_TERMINAL_SERVER PAG. 1 DI 13 Indice 1. Premessa...3

Dettagli