Introduzione a Processing. Prof. Christian Gervasi
|
|
|
- Cosima Fabiani
- 9 anni fa
- Visualizzazioni
Transcript
1 Introduzione a Processing
2 Come costruire un interfaccia grafica e in che modo collegarla con Arduino. 1. LEZIONE 2_1 BUTTON Questo programma mostra come disegnare un pulsante, che si evidenzia quando il puntatore è sopra di esso e si accende se viene fatto clic. 2. LEZIONE 2_2 BUTTON & LED Rispetto al programma precedente, aggiunge un LED che lampeggia in maniera intermittente ogni secondo. 3. LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO A questo punto utilizziamo Arduino; l interfaccia è quella del programma precedente, ma ad ogni secondo viene trasmesso un INDICE comando ad Arduino, che accenderà o meno un LED secondo lo stato del pulsante grafico. 4. LEZIONE 2_4 BUTTON & LED + TRASMISSIONE/ RICEZIONE + ARDUINO Aggiungiamo ora la possibilità di leggere lo stato di ingresso di Arduino; in pratica ad ogni secondo viene inviato, da parte di Processing, lo stato del pulsante grafi co ed Arduino risponde comunicando lo stato del suo pulsante reale. Processing accenderà un ulteriore LED sull interfaccia grafi ca.
3 Processing e Arduino sono due realtà molto simili, infatti il loro editor (o IDE) è praticamente lo stesso e la sintassi da utilizzare per programmare cambia davvero poco tra i due. L unica differenza significativa è che il loro campo di applicazione è differente, in quanto Processing serve per scrivere software da PC, mentre l IDE di Arduino ci consente di programmare il microcontrollore che si trova a bordo proprio dei moduli Arduino. Qualunque sia il punto di partenza, è comunque molto semplice passare da un ambiente all altro: da Arduino a Processing o viceversa.
4 L anello di congiunzione tra un programma scritto in Processing ed uno che gira su Arduino è la comunicazione seriale, la quale fisicamente è realizzata attraverso il cavo USB tramite cui Arduino è collegato al PC.
5 A livello logico, nella comunicazione seriale vengono scambiati byte; ricordiamo che un byte è un numero binario di 8 bit, perciò la rappresentazione di un byte può essere un numero intero che va da 0 a 255 oppure la rappresentazione di caratteri che si trovano nella tabella ASCII. Che sia un numero, oppure un carattere, tutto dipende da come interpretiamo i dati; la sostanza comunque non cambia, perché si tratta sempre di un pacchetto di 8 bit che viene scambiato. Concettualmente una comunicazione è definita quando conosciamo il supporto fisico (nel nostro caso è il collegamento USB), il livello logico (cioè come sono interpretati i bit) ed infine, quando è stabilito il protocollo di comunicazione. Nel caso di questo corso, saremo noi a definire il protocollo, cioè attribuiremo a determinati simboli e numeri delle funzionalità, sia verso Processing che verso Arduino.
6 Viene definito master il sistema che invia comandi con una certa cadenza temporale oppure a seguito di determinati eventi, mentre è chiamato slave il sistema che risponde alle interrogazioni del master. Il software da PC scritto in Processing sarà il master della comunicazione, mentre Arduino sarà lo slave. Si può fare anche il contrario ma questo lo lasciamo come esercizio
7 LEZIONE 2_1 BUTTON Un pulsante può essere rappresentato come un quadrato riempito di colore nero rect()
8 LEZIONE 2_1 BUTTON Evidenziare il rettangolo significa ridisegnare il quadrato con il bordo giallo fill()
9 LEZIONE 2_1 BUTTON Illuminare il pulsante equivale a ridisegnare il quadrato con il riempimento diverso da nero (magari un azzurro) stroke();
10 LEZIONE 2_1 BUTTON Ci serve una funzione che chiameremo overrect(), la quale ci restituirà un valore logico TRUE se il puntatore del mouse sarà sopra il rettangolo identificato come pulsante,
11 LEZIONE 2_1 BUTTON Infine ci occorre una piccola astuzia: definiamo innanzitutto la variabile button come intero; questa variabile sarà rappresentativa dello stato del pulsante.
12 LEZIONE 2_1 BUTTON scriveremo una funzione di riempimento in questo modo: fill(60*button,130*button,240*button) Quando button vale 0, avremo questa funzione di riempimento: fill(0,0,0), che significa riempimento di colore nero. Se button = 1, allora si ha fill(60,130,240), che in questo caso corrisponde al riempimento con un colore RGB
13 LEZIONE 2_1 BUTTON Lo stesso principio descritto per fill() vale anche per stroke(), cioè per il bordo del rettangolo. Quindi, attraverso la funzione overrect() identifichiamo se il puntatore è sopra il pulsante; se, contemporaneamente, il tasto del mouse è premuto, attraverso la primitiva di Processing chiamata mouse-pressed cambiamo il valore di button da 0 a 1 con esso il colore di riempimento.
14 LEZIONE 2_1 BUTTON
15 LEZIONE 2_1 BUTTON
16 LEZIONE 2_1 BUTTON
17 LEZIONE 2_1 BUTTON Analizziamo adesso,più approfonditamente,la funzione overrect(). Diciamo innanzitutto che le funzioni si scrivono in fondo al programma principale; in pratica fuori da void draw(){} La funzione in questione è definita in questo modo: boolean overrect(int x, int y, int w, int h){} Ciò significa che overrect restituisce un valore logico che può essere TRUE o FALSE e si aspetta, come parametri di ingresso, quattro valori interi x, y, w, e h. In sostanza, quando all interno del programma richiamiamo questa funzione, dobbiamo passare la posizione x, y del rettangolo e le sue dimensioni w, h; la funzione restituirà TRUE o FALSE.
18 LEZIONE 2_1 BUTTON La verifica della posizione del puntatore del mouse, all interno di overrect, viene svolta in questo modo: if (mousex >= x && mousex <= x+w && mousey >= y && mousey <= y+h) {return true; } else{ return false; } Viene, cioè, verificata una condizione con quattro AND logiche; il valore X del puntatore deve essere maggiore della posizione x del rettangolo e minore della posizione x+w (larghezza del rettangolo), mentre il valore Y del puntatore deve essere maggiore della posizione y del rettangolo e minore di y+h (altezza del rettangolo). Il risultato finale di questa prima interfaccia grafica è rappresentato nella Fig. 3, dove il pulsante è spento, in Fig. 4, che mostra il pulsante evidenziato e nella Fig. 5, dove il pulsante è acceso.
19 LEZIONE 2_1 BUTTON Il risultato finale di questa prima interfaccia grafica è rappresentato nella Fig. 3, dove il pulsante è spento, in Fig. 4, che mostra il pulsante evidenziato e nella Fig. 5, dove il pulsante è acceso.
20 LEZIONE 2_2 BUTTON & LED Aggiungiamo al programma precedente il comando di un LED (Listato 2)
21 LEZIONE 2_2 BUTTON & LED Anche in questo caso rappresentiamo il LED con un rettangolo colorato di nero se il LED è spento, ovvero di giallo se il LED è acceso. Innanzitutto dobbiamo cambiare l interfaccia grafi ca del programma precedente, estendendo l area del programma ed aggiungendo un nuovo rettangolo, con sotto l etichetta TX ;
22 LEZIONE 2_2 BUTTON & LED Oltre a dover ridisegnare l area dell interfaccia, abbiamo bisogno di una nuova variabile che chiameremo LED; inoltre ci servirà ancora un altra variabile che chiameremo lastupdate e della quale analizzeremo tra poco la funzionalità. Anche per il LED useremo la stessa tecnica sviluppata per il pulsante, ovvero agiremo sulla funzione di riempimento fill() e la renderemo dipendente dalla variabile LED:
23 LEZIONE 2_2 BUTTON & LED fi ll(241*led,250*led, 18*LED); se LED = 0, allora avremo fill(0,0,0) cioè riempimento nero, mentre se invece LED = 1 avremo fill(241,250,18) che rappresenta un giallo acceso. Il tutto è mostrato nel codice contenuto nel Listato 3.
24 LEZIONE 2_2 BUTTON & LED Supponiamo ora di voler far lampeggiare il LED in maniera intermittente ogni secondo. La prima cosa che ci viene in mente potrebbe essere nserire un banale ciclo di ritardo all interno della funzione principale void draw(){}, ma questa tecnica avrebbe un grave effetto collaterale: il pulsante non risponderebbe più durante il ciclo di ritardo, perché il programma sarebbe bloccato dentro questo ciclo e non potrebbe gestire le funzionalità del pulsante. Il nostro obiettivo è, dunque, far lampeggiare il LED, mantenendo contemporaneamente tutte le funzionalità del pulsante. Una tecnica relativamente semplice per fare ciò consiste nello sfruttare la funzione millis() di Processing, oprattutto perché essa funzione restituisce il tempo, espresso in millisecondi, trascorso dall istante in cui l applicazione è stata avviata.
25 LEZIONE 2_2 BUTTON & LED Quindi millis() ci restituisce un valore che cresce continuamente. Siccome vogliamo far accadere qualcosa (un evento) ogni secondo (1.000 ms), basterà salvare il valore di millis() in una variabile temporanea e confrontare continuamente la differenza tra il valore assoluto di millis() ed il valore precedentemente salvato. Se questa differenza è maggiore di 1.000, allora verrà scatenata la relativa azione e sarà nuovamente salvato il valore di millis() nella variabile temporanea. Il ciclo è rappresentato nella Fig. 8.
26 LEZIONE 2_2 BUTTON & LED La funzione millis() cresce indefinitamente, mentre invece la variabile temporanea lastupdate è inizializzata a 0 ed ogni volta che la differenza tra millis() ed essa è maggiore di 1.000, lastupdate viene aggiornata all attuale valore di millis().. Inoltre viene avviata l azione prevista.
27 LEZIONE 2_2 BUTTON & LED La porzione di codice che svolge quanto descritto è quella contenuta nel Listato 4.
28 LEZIONE 2_2 BUTTON & LED La Fig. 9 e la Fig. 7 mostrano come appare il programma definitivo, nel quale il ciclo di lampeggio del LED non interferisce con la funzionalità del pulsante.
29 LEZIONE 2_2 BUTTON & LED /* Corso Arduino+Processing Lezione 2_2 PULSANTE e LED il codice qui descritto permette di costruire un'interfaccia con un pulsante ed un led lampeggiante 09_Feb_2011 Matteo Fioravanti */ int button; int led; float lastupdate; void setup(){ button = 0; led = 0; lastupdate =0; //definizione della variabile button come intero //definizione della variabile led come intero //inizializzazione di button //inizializzazione di led //inizializzazione di lastupdate //definizione delle primitive grafiche color(rgb); //tipo di colore strokeweight(1); //spessore linee strokejoin(square); //tipo di spigolo: quadrato fill(30); //grigio di sfondo smooth(); size(300,360); //area dell'applicazione fill(220,220,220); //grigio dell'area pulsante rect(10,10,280,140); //area pulsante rect(10,160,280,140); //area led textsize(30); fill(0); } //dimensione del testo void draw(){ fill(60*button,130*button,240*button); //il colore di riempimento del pulsante dipende dalla variabile button, ovvero dal dallo stato di button, //se button=0 ---> fill(0,0,0) quindi colore nero //Se button=1 ---> fill(60,130,240) quindi colore blu rect(20,40,40,40); //rettangolo che rappresenta il pulsante text("button", 20, 120); //etichetta strokeweight(3); if (overrect(20,40,40,40)){ stroke(241, 250, 18); rect(20,40,40,40); } else { stroke(0, 0, 0); rect(20,40,40,40); } //spessore del bordo //la funzione overrect restituisce TRUE se il mouse è sopra il rettangolo che rappresenta il pulsante, altrimenti FALSE //definizione di una linea di colore giallo //disegno di un rettangolo di colore giallo in corrispondenza del pulsante, questa tecnica serve ad evidenziare il pulsante //se il mouse non si trova sopra il pulsante, il bordo del pulsante è di colore nero //cambio dello stato del pulsante se tasto mouse premuto if ((overrect(20,40,40,40)) && mousepressed) //se contemporaneamente il mouse è sopra l'area del pulsante ed il tasto sinistro è premuto { //viene cambiato il valore di button in 0 se era 1, oppure in 1 se precedentemente era 0 delay(300); //questo ciclo di ritardo funziona da debounce del tasto del mouse if (button == 0) { button = 1; } else { button = 0; } } //disegno del Led strokeweight(3); stroke(0, 0, 0); fill(241*led,250*led,18*led); //il colore di riempimento del Led dipende dalla variabile led, ovvero dal dal suo stato //se led=0 ---> fill(0,0,0) quindi colore nero //se led=1 ---> fill(241,250, 18) quindi colore giallo rect(20,200,40,40); //rettangolo che rappresenta il Led text("tx", 20, 280); //etichetta //ciclo di lampeggio del Led if ((millis() - lastupdate) > 1000){ //la funzione millis() restituisce il tempo trascorso dall'avvio del programma, in millisecondi //se la differenza tra millis() e lastupdate è > 1000, è trascorso 1 secondo e viene cambiato lo stato di led println("trasmissione"); if (led ==1){ led=0; } else{ led=1; } lastupdate = millis(); //salvataggio nella variabile lastupdate del valore di millis() } } boolean overrect(int x, int y, int w, int h) //funzione overrect, vengono passati i parametri di posizione X e Y, e di larghezza W e altezza H del pulsante { if (mousex >= x && mousex <= x+w && //overrect assume valore TRUE se il cursore del mouse è dentro il rettangolo posizionato in X,Y e di dimensioni W,H mousey >= y && mousey <= y+h) { return true; } else { return false; } }
30 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Questo terzo esempio trasforma il programma appena descritto in una vera interfaccia grafica capace di gestire delle funzionalità su Arduino.
31 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO In pratica vengono aggiunte al programma della lezione 2_2 le primitive di Processing utili per la comunicazione seriale. Allo stesso tempo dovremo anche analizzare il relativo codice di Arduino ed il circuito applicativo. Per accedere alle funzionalità della comunicazione seriale, dobbiamo far ricorso all apposita libreria di Processing. Il nostro terzo programma di esempio comincia infatti in questo modo: import Processing.serial.*. Ciò significa che inglobiamo nel programma la relativa libreria di comunicazione seriale; dal momento che Processing già dispone di questa libreria non dovremo installare nulla, ma semplicemente richiamarla prima di tutto nel programma.
32 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Un altra operazione fondamentale è nominare la porta seriale: Serial myport; Serial è una classe e myport è la definizione di un oggetto appartenente alla classe Serial, quindi la nostra porta di comunicazione seriale si chiamerà myport e nel programma si farà riferimento ad essa. Ancora, però, la porta seriale non è funzionante, perché è stata definita unicamente a livello astratto ma non a livello fisico; dobbiamo infatti specificare a quale COM è associata ed a che velocità comunica.
33 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Queste definizioni sono fatte dentro void setup() {}. Il Listato 5 mostra come appaiono nel programma. La riga di programma seguente: myport = new Serial(this, COM9, 9600);
34 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO myport = new Serial(this, COM9, 9600); significa che myport (la nostra porta seriale) appartiene alla classe Serial, si chiama COM9 e trasmette a baud. Il nome della porta COM che andremo a scrivere ( COM9, COM6...) deve essere lo stesso della porta usata da Arduino; ovviamente la velocità di comunicazione deve essere la stessa sia per Arduino che per Processing (nel nostro caso appunto 9600); se il nome della porta e la velocità non sono rispettati, il sistema non può funzionare.
35 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Definiamo ora un semplice protocollo: stabiliamo che se il pulsante è acceso, viene trasmesso verso Arduino il carattere ASCII H,
36 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO altrimenti se il pulsante è spento trasmettiamo il carattere L. Il master della trasmissione è il programma scritto in Processing e la trasmissione del comando deve avvenire ogni secondo. In pratica la struttura è già fatta: infatti sfrutteremo il ciclo di lampeggio del LED descritto nel programma precedente ed aggiungeremo la comunicazione seriale del carattere H oppure L ; questa comunicazione ovviamente avverrà ogni secondo.
37 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Il codice modificato è quello che appare nel Listato 6. Dentro il ciclo di lampeggio è stata aggiunta una condizione di verifica del valore di button ed a seconda di questo viene scritto in myport il carattere H oppure L, sfruttando la funzione myport.write(). Ora che il programma master è completo dobbiamo impostare il sistema slave con Arduino.
38 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Innanzitutto realizziamo il circuito di Fig. 10
39 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO il cui schema elettrico è riportato in Fig. 11; si tratta di collegare due LED con le rispettive resistenze serie ed un pulsante con la sua resistenza di pull-up, ai pin digitali di Arduino che saranno opportunamente configurati come uscite per i LED e ingresso per il pulsante
40 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO I due LED di Arduino saranno chiamati LED_0 e LED_1; il primo servirà per mostrare che la comunicazione seriale è stabilita, quindi sarà acceso se comunque un carattere è ricevuto
41 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO mentre LED_1 si accenderà se il carattere ricevuto è H e si spegnerà in corrispondenza del carattere L.
42 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Riportiamo, nel Listato 7, il codice di Arduino. Per quanto possibile, proviamo a spiegare in questa sede il programma per Arduino: il codice è strutturato in una prima fase in cui sono definiti e configurati i pin di ingresso/uscita e la porta seriale di Arduino, poi il programma entra nel loop principale.
43 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Nel loop viene continuamente verificato se ci sono dati nel buffer seriale: in caso affermativo, viene acceso LED_0, quindi letto e salvato il dato del buffer; poi, a seconda dello stato del pulsante, viene trasmesso tramite la porta seriale un valore(1 o 2) verso il PC. Il valore letto dal buffer seriale viene decodificato; se è H viene acceso LED_1, altrimenti lo stesso viene tenuto spento.
44 LEZIONE 2_3 BUTTON & LED + TRASMISSIONE + ARDUINO Il flow-chart del programma è rappresentato nella Fig. 14. Il programma descritto ha una funzionalità in più rispetto a quella necessaria per il codice di Processing qui descritto, in quanto il programma di Arduino trasmette anche lo stato del pulsante. Questa funzionalità sarà usata dal programma dell esercizio seguente.
45 LEZIONE 2_4 BUTTON & LED + TRASMISSIONE/ RICEZIONE + ARDUINO sull interfaccia grafica un ulteriore LED che rappresenta lo stato del pulsante di Arduino.
46 LEZIONE 2_4 BUTTON & LED + TRASMISSIONE/ RICEZIONE + ARDUINO Ora che sappiamo come disegnare un LED ed accenderlo, rimane solo da definire a livello di programma la lettura della porta seriale da parte di Processing. Innanzitutto definiamo un nuovo LED che chiameremo LEDConn; questo, ovviamente, deve essere anche disegnato, perciò procederemo sempre come per il LED precedente: si tratterà di un rettangolo in cui cambieremo il colore di riempimento a seconda del valore di LEDConn. Nel ciclo di trasmissione del master verso Arduino, inseriamo anche la lettura del buffer seriale del PC.
47 LEZIONE 2_4 BUTTON & LED + TRASMISSIONE/ RICEZIONE + ARDUINO Allo scopo, la prima funzione che richiamiamo è myport.availabe(), la quale restituisce TRUE se c è qualcosa nel buffer, ovvero FALSE se non c è nulla. Una volta verificato che il buffer seriale è pieno, questo viene letto ed il valore memorizzato in una variabile temporanea val= myport.read(); dopo aver letto questo valore, il buffer è ripulito attraverso myport. clear(). Verificato che c è un valore, questo viene letto, poi il buffer è ripulito. Rimane soltanto da decodificare il valore di val: se è 1, LEDConn sarà posto ad 1, altrimenti LEDConn sarà posto a 0.
48 LEZIONE 2_4 BUTTON & LED + TRASMISSIONE/ RICEZIONE + ARDUINO La porzione di codice da aggiungere al programma precedente è illustrata nel Listato 8.
49 LEZIONE 2_4 BUTTON & LED + TRASMISSIONE/ RICEZIONE + ARDUINO Il funzionamento del sistema completo è rappresentato in Fig
50 LEZIONE 2_4 BUTTON & LED + TRASMISSIONE/ RICEZIONE + ARDUINO Il funzionamento del sistema completo è rappresentato in Fig
ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?
ARDUINO Colleghiamolo al PC/MAC - FUNZIONA? DUE LED PREINSTALLATI led L è connesso al pin13. PWR indica se l alimentazione c è, e implicitamente se la porta USB è corretta ARDUINO Composizione del codice
PRIMI PASSI CON ARDUINO
PRIMI PASSI CON ARDUINO 1) Accensione e spegnimento del led presente sulla scheda Arduino. La scheda Arduino presenta, a bordo, alcuni led uno dei quali può essere controllato dal pin digitale 13; quando
ACCENDERE E SPEGNERE UN DIODO LED
ACCENDERE E SPEGNERE UN DIODO LED ACCENDERE E SPEGNERE UN DIODO LED ACCENDERE E SPEGNERE UN DIODO LED ACCENDERE E SPEGNERE UN DIODO LED CON UN PULSANTE ACCENDERE E SPEGNERE UN DIODO LED CON UN PULSANTE
I Circuiti combinatori: LOGISIM
1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY I Circuiti combinatori: LOGISIM Prof. G. Ciaschetti 1. Le porte logiche Un circuito combinatorio (o sistema combinatorio o rete combinatoria) è un circuito elettrico,
Arduino& Potenziometro
Arduino& Potenziometro Componenti utilizzati. Hardware: Arduino 1, potenziometro, 3 cavi di collegamento, cavo USB Software: IDE Arduino: https://www.arduino.cc/ CoolTerm: http://freeware.the-meiers.org/
Corso di programmazione Arduino DI MALVEZZI DAVIDE
Corso di programmazione Arduino DI MALVEZZI DAVIDE Argomenti Pin digitali e pin analogici Gestione di timer e bottoni Utilizzo della porta seriale Oggetto String Controllo di schermi LCD Utilizzo dell
Vogliamo far lampeggiare i led collegati come in figura ai bit della porta D del PIC 18F8722 presente sulla demo board in dotazione al laboratorio.
Lampeggio di 8 led Vogliamo far lampeggiare i led collegati come in figura ai bit della porta D del PIC 18F8722 presente sulla demo board in dotazione al laboratorio. Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1
Interfaccia seriale per LM709SW
Interfaccia seriale per LM709SW Caratteristiche tecniche : Alimentazione di ingresso : 6.6 VDC 12 VDC Interfaccia di collegamento : RS232 Segnalazione a led di rx e tx seriale Segnalazione a led per errori
CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco
CTU Presenta Contest Automation con Arduino IK0XBX - Francesco Arduino cosa è??? Arduino Uno lo standard Arduino Mega più in/out e 4 seriali Arduino Nano quello tascabile Arduino è una piattaforma open-source
Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style
Corso Arduino 2014 21 Maggio 2014 Riccardo Binetti [email protected] Lezione 1 - Blinking LEDs with style Riccardo Binetti Arduino 2014 Lezione 1 1 / 24 Fate domande Riccardo Binetti Arduino 2014 Lezione
Internetworking V a nno
Internetworking V anno Introduzione ad Arduino Introduzione La scheda Arduino nasce nel 2005 dall idea di alcuni giovani ricercatori guidati da Massimo Banzi. Il loro obiettivo era quello di creare una
Tipologie dei dati nell SDK di Arduino come in un vero LP ad alto livello :
Questa è una breve guida alla sintassi di base della famosa scheda a microprocessore Arduino. Maggiori informazioni potrete trovarle sul sito ufficiale a questo link Tipologie dei dati nell SDK di Arduino
MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL
MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL ISTRUZIONI PIU COMUNI: Le istruzioni per scrivere del testo dentro una cella sono principalmente due: cells e range L istruzione cells permette di scrivere
Roulettuino. Progetto realizzato dagli alunni della V ABACUS d informatica:
Roulettuino Progetto realizzato dagli alunni della V ABACUS d informatica: E i professori: Pietro Angileri Vincenzo Guccione Giovan Battista Patanè Dario Camarrone Samuele Sciacca Carlo Columba Giovanni
Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di
STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di interfacciamento è stato introdotto al fine di collegare dispositivi remoti a bassa velocità con un calcolatore centrale. In questo genere
Display numerico con i LED
Display numerico con i LED Ferrari, Porti, Zannetti 1 febbraio 2016 1 Scheda Questo progetto prevede l unione di più caratteristiche prese dai vari progetti fatti in precedenza, per riuscire a formare
Quindi dopo aver collegato tutto avremo qualcosa di simile:
Arduino + IMU In questa lezione cercheremo di utilizzare un Arduino UNO e un IMU (giroscopi e accelerometri) per attivare dei motori a spazzole (brushed) a seconda dell'inclinazione dei sensori, in modo
I grafici a torta. Laboratorio con EXCEL. 1 Come si costruisce un grafico a torta
I grafici a torta 1 Come si costruisce un grafico a torta In un gruppo di 130 persone è stata condotta un indagine per sapere quale è la lingua più parlata, oltre l italiano. Gli intervistati potevano
SENSORI OTTICI - FOTORESISTENZE
SENSORI OTTICI - FOTORESISTENZE ComponentI elettronici con resistenza inversamente proporzionale alla quantità di luce che lo colpisce. La corrente che attraversa una fotoresistenza è direttamente proporzionale
Circuito logico AND / AND Gate
Circuito logico AND / AND Gate Introduzione Lo scopo del progetto è creare un circuito elettrico che rappresenti la tabella di verità della porta logica AND. Il circuito logico preso in analisi restituisce
Il protocollo RS Introduzione. 1.2 Lo Standard RS-232
1 Il protocollo RS232 1.1 Introduzione Come noto un dispositivo di interfaccia permette la comunicazione tra la struttura hardware di un calcolatore e uno o più dispositivi esterni. Uno degli obiettivi
8^ parte : Come pilotare i motori passo-passo unipolari. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)
8^ parte : Come pilotare i motori passo-passo unipolari Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) In questo articolo inizieremo analizzando lo schema di collegamento del nostro circuito.
AUTOMAZIONE CANCELLO SCORREVOLE A MICROCONTROLLORE con ARDUINO
AUTOMAZIONE CANCELLO SCORREVOLE A MICROCONTROLLORE con ARDUI DATI DI PROGETTO Un sistema a microcontrollore controlla un dispositivo automatico di apertura e chiusura di un cancello scorrevole, mediante
CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca
CORSO ARDUINO Giulio Fieramosca Stefano Panichi Corso ASEV 2015 Pulsanti e interruttori Pushbutton Momentary button Pulsante monostabile A B Switch Interruttore bistabile C A B C D C B A Pulsanti e interruttori
SendMed Client v Manuale d uso-
1/22 SendMed Client v. 1.0 -Manuale d uso- 2/22 Indice 1) Introduzione...3 2) Installazione...4 3) Prima dell avvio di SendMed Client...7 4) Primo Avvio: Inserimento dei Dati....8 5) Login SendMed...9
I SENSORI DI PROSSIMITA
I SENSORI DI PROSSIMITA In questa lezione su Arduino, parleremo di un interessante trasduttore, che può essere utile per tantissimi progetti: il sensore di presenza o di prossimità I sensori di prossimità
Arduino Tutorial #7 - Nunchuk materiale utilizzato Arduino, cavi elettrici, breadboard, nunchuk, 3 led.
www.creativecommons.org Arduino Tutorial #7 - Nunchuk materiale utilizzato Arduino, cavi elettrici, breadboard, nunchuk, 3 led. Per vedere tutti i tutorial: /arduino/ In questo tutorial colleghiamo il
Creare una gif animata con GIMP!
Creare una gif animata con GIMP! 1) Aprire l immagine utilizzando GIMP! (dopo aver avviato il programma, cliccare su FILE apri selezionare il file desiderato) L immagine viene aperta come sfondo. Tra parentesi
Per controllare un motore DC (funzionante in corrente continua) con Arduino, devi utilizzare il circuito integrato Ponte H (nel mio caso un L293NE
Controllo di velocità e verso di un motore DC con Arduino con L293NE Per controllare un motore DC (funzionante in corrente continua) con Arduino, devi utilizzare il circuito integrato Ponte H (nel mio
DISPOSITIVO PER LA LETTURA DI UN ENCODER INCREMENTALE
DISPOSITIVO PER LA LETTURA DI UN ENCODER INCREMENTALE Si propone l'uso di un microcontrollore pic16f84 della Microchip. Si acquisiscono i segnali di un encoder con due canali in quadratura con la possibilità
1. Panoramica interfaccia utente
1. Panoramica interfaccia utente Se si avvia Allplan per la prima volta, l'interfaccia utente appare come segue: Barra del titolo Nella barra del titolo della finestra Allplan vengono visualizzati il progetto,
Tesina di Maturità. Gianfriddo Giuseppe Classe: 5^B I.T.I.S Indirizzo: Elettronica ed elettrotecnica Anno: 2014/15. Autore: Gianfriddo Giuseppe
1 Tesina di Maturità Gianfriddo Giuseppe Classe: 5^B I.T.I.S Indirizzo: Elettronica ed elettrotecnica Anno: 2014/15 2 3 Premesse 4 L obiettivo che mi sono prefissato, inizialmente era quello di progettare,
5^ parte : Controllare un LED RGB con 3 potenziometri. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)
5^ parte : Controllare un LED RGB con 3 potenziometri Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Esperienzan 3 Lo scopo è riuscire a controllare i tre canali di un led RGB attraverso dei
Guida a Getrix: Indice Multimedia Planimetria
Guida a Getrix: Indice Multimedia Planimetria Multimedia - PLANIMETRIA: Crea Modifica Cancella Ottieni URL (Multimedia Planimetria) pag. 2 - Creare una Planimetria: Costruzione (Multimedia Planimetria
22/09/2010. Rossato Alessio
Hardware del PC [email protected] 1 I componenti del computer Possiamo paragonare il computer al corpo umano che, come sappiamo, è formato da un elemento centrale, il busto, al quale sono collegati gli
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
Arduino. Analog Read Serial
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
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e
MODEM GUIDA ALL INSTALLAZIONE - MODEM. guida modem freccia_a.idml 1 20/05/14 16:32
MODEM GUIDA ALL INSTALLAZIONE - MODEM guida modem freccia_a.idml 1 20/05/14 16:32 INTRODUZIONE C Questa guida descrive le attività utili per una rapida installazione del Modem e per collegare il tuo telefono
Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni [email protected] Programmazione prof. Domenico
DISPOSITIVO DI COMANDO A 4 CANALI CON ATTUATORE MULTIFUNZIONE ART. 442ABT4R2
Il dispositivo 442ABT4R2 è un comando a quattro canali indipendenti, con attuatore multifunzione incorporato idoneo per illuminazione e tapparelle. Il dispositivo è composto, oltre che dalla parte frontale
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»
CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii
CORSO ARDUINO Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM 2016 1 FAQ time domande e risposte? 2 Iterazioni: while Si usa per ripetere un blocco di codice finché una condizione è vera, ma senza tenere
Appunti sui Fogli Elettronici. Introduzione. D. Gubiani. 19 Luglio 2005
Appunti sui Elettronici D. Gubiani Università degli Studi G.D Annunzio di Chieti-Pescara 19 Luglio 2005 1 2 3 Un foglio elettronico è un programa che permette di creare tabelle contenenti dati correlati
Honda CBR 919 Hornet Power Commander III
www.dynojet.com È distribuito per l Italia da: Honda CBR 919 Hornet Power Commander III www.ferracci.it Per Modelli Italiani È possibile scaricare il software del Power Commander e le mappature più aggiornate
Cap. 2 - Rappresentazione in base 2 dei numeri interi
Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:
Capitolo 2. Figura 21. Inserimento dati
Capitolo 2 INSERIMENTO DI DATI In ogni cella del foglio di lavoro è possibile inserire dati che possono essere di tipo testuale o numerico, oppure è possibile inserire formule le quali hanno la caratteristica
Alberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra
EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule
EXCEL Il software Excel appartiene alla categoria dei fogli elettronici. Ogni foglio è composto da 1.048.576 righe per 16.384 colonne suddivise in celle che è possibile collegare tra loro: in tal modo
1.1 Caratteristiche tecniche
Centrale gestione led RGB art. 3.RGB.LM/S Gentile cliente nel ringraziarla per avere scelto un nostro prodotto la preghiamo di leggere attentamente questo manuale prima di iniziare l installazione. DESCRIZIONE
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
Grafici. 1 Generazione di grafici a partire da un foglio elettronico
Grafici In questa parte analizzeremo le funzionalità relative ai grafici. In particolare: 1. Generazione di grafici a partire da un foglio elettronico 2. Modifica di un grafico 1 Generazione di grafici
Bus RS-232. Ing. Gianfranco Miele April 28, 2011
Ing. Gianfranco Miele ([email protected]) http://www.docente.unicas.it/gianfranco_miele April 28, 2011 Alcune definizioni Comunicazione seriale Bit trasmessi in sequenza Basta una sola linea Più lenta
Introduzione a Processing. Roberto Ranon
Introduzione a Processing Roberto Ranon www.dimi.uniud.it/ranon/processing.html 1 Processing è, insieme, un ambiente e linguaggio di programmazione per creare prodotti multimediali interattivi open source
AC500PRA. Pannello remoto di ripetizione per centrali di rivelazione automatica di incendio AC501 e AC502. Manuale di installazione
AC500PRA Pannello remoto di ripetizione per centrali di rivelazione automatica di incendio AC501 e AC502 Manuale di installazione INDICE 1 Introduzione... 3 2 Struttura... 3 3 Stati del pannello... 3 3.1
APPUNTI DI INFORMATICA
APPUNTI DI INFORMATICA Per il biennio di liceo scientifico scienze applicate Sommario Il calcolo binario... 2 Numerazione Decimale... 2 Numerazione Binaria... 2 Conversione Binario -> Decimale... 2 Conversione
Note per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
Come è fatto un computer
Come è fatto un computer COMPUTER = HARDWARE + SOFTWARE Hardware = Ferramenta Ovvero la parte elettronica e meccanica del PC Software = i programmi TIPI DI COMPUTER mainframe workstation server IL COMPUTER
Corso di BASCOM (Capitolo 1 5 ) Corso Teorico/Pratico di programmazione in BASCOM Autore: DAMINO Salvatore. D I S P L A Y L C D (3).
Corso di BASCOM 8051 - (Capitolo 1 5 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. D I S P L A Y L C D (3). GESTIONE DI UNA SEMPLICE CALCOLATRICE. Questo programma
HyperTerminal e Serie IDP TR
Sensori di spostamento a triangolazione laser INTRODUZIONE: HyperTerminal e Serie IDP TR In questo breve documento viene presentata una procedura per la configurazione del programma HyperTerminal di Microsoft
Periferica CPTM-Bus. Vers 1 Rev A
Periferica CPTM-Bus Vers 1 Rev B L apparecchiatura CPTM-Bus è un periferica che permette di leggere tutta la strumentazione in architettura M-Bus standard, in modo stand alone, tramite le periferiche Computherm
R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010
1 11. Data link layer: codici di rilevazione di errore, gestione degli errori La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono
Excel memorizza il riferimento alla cella A1 sotto forma di distanza dalla cella contenente la formula.
Quando scriviamo una formula, solitamente creiamo un riferimento ad un altra cella. Se nella cella A2 scriviamo A1 +3, stiamo indicando a Excel di prelevare il valore della cella A1 e sommargli 3. Excel
Topward electronics TPS ALTERA Max EPM7128SLC84-15
Esercitazione : CONVERTITORE A/D Strumenti utilizzati Strumento Marca e modello Caratteristiche Alimentatore Scheda ALTERA Fotocamera digitale Topward electronics TPS- 4000 ALTERA Max EPM7128SLC84-15 Olympus
Rappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
Guida all assemblaggio e al testing del modulo di retroazione S2 V2
Guida all assemblaggio e al testing del modulo di retroazione S2 V2 Versione guida 1.0 Il kit contiene sia il circuito stampato che tutti i componenti necessari per assemblare il modulo. L assemblaggio
Codice Gray. (versione Marzo 2007)
Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.
07/12-01 PC Lettore di Prossimità Sfera. Manuale installatore
07/12-01 PC 353200 Lettore di Prossimità Sfera Manuale installatore 2 Lettore di Prossimità Sfera Indice 1 Introduzione 4 1.1 Avvertenze e consigli 4 Manuale installatore 2 Descrizione 5 2.1 Funzioni principali
Con per la prima rete e per la seconda rete. La configurazione della rete sarà la seguente:
Laboratorio 1 Packet Tracer Costruiamo due segmenti della stessa subnet con due switch differenti. Colleghiamo gli switch con un cavo copper cross-over. Possiamo trovarci a costruire una rete così perché
Modulo Tastiera Sfera. Manuale installatore 04/16-01 PC
353000 Modulo Tastiera Sfera Manuale installatore 04/16-01 PC 2 Modulo Tastiera Sfera Indice 1 Introduzione 4 1.1 Avvertenze e consigli 4 Manuale installatore 2 Descrizione 5 2.1 Funzioni principali 5
Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO
Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO Strumenti utilizzati Strumento Marca e modello Caratteristiche Alimentatore Scheda ALTERA Fotocamera digitale Topward electronics TPS- 4000 ALTERA Max
Domotica con Arduino. Prima di proseguire con la descrizione del progetto, elenco, di seguito, il materiale utilizzato:
Domotica con Arduino Questo progetto, che chiamo sinteticamente come da titolo, si occupa di gestire l accensione e lo spegnimento di elettrodomestici e illuminazione, attraverso una semplice interfaccia
EFA Automazione S.r.l. Serial Bridge 3 - Modbus RTU slave to PICnet (01 ITA).doc pag. 1 / 8
EFA Automazione S.r.l. Serial Bridge 3 - Modbus RTU slave to PICnet (01 ITA).doc pag. 1 / 8 Applicazione Integrazione di reti PICnet mediante l interfacciamento del modulo master (PN MAS dotato di porta
FREEFEM++ Marcello Bellomi. 18 Aprile Università di Verona FREEFEM++
18 Aprile 2013 Indice 1) Introduzione 2) Esempio base 3) Sintassi 4) Esempio Part I Indroduzione Dettagli iniziali Risolve problemi in 2D e 3D, creato principalmente per risolvere problemi variazionali
ADSL Modem :: Ericsson B-Quick (HM120d)
ADSL Modem :: Ericsson B-Quick (HM120d) 1. Introduzione www.ericsson.com Il modem ADSL HM120d consente connessioni ai servizi in banda larga usando una normale linea telefonica. Supporta connessioni in
CORSO DI INFORMATICA DI BASE
CORSO DI INFORMATICA DI BASE - MICROSOFT OFFICE WORD 15/05/2014 ore 18:00 20:00 CENTRO POLIFUNZIONALE - ASSOCIAZIONE ADA VIA LEOPARDI, CORIGLIANO CALABRO TEACHER: LEONARDO CARACCIOLO MICROSOFT WORD L icona
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: [email protected] telefono: 0432 558676
PARALLELEPIPEDO CON DIMENSIONI VARIABILI
PARALLELEPIPEDO CON DIMENSIONI VARIABILI Un parallelepipedo che cambia la sua forma, diventa più grande o più piccolo, più largo o più stretto in base alle dimensioni che scegli a piacere! Apri Excel e
FONDAMENTI DI ARDUINO
FONDAMENTI DI ARDUINO LEZIONE 1: LE BASI 8 novembre 2016 presso POLIFACTORY il makerspace del Politecnico di Milano PROGRAMMA DEL CORSO 8/11 Le basi, corrente elettrica, led, resistenze 10/11 Ingressi
ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
Guida rapida all utilizzo del Software per la LIM. TouchBoard
Guida rapida all utilizzo del Software per la LIM TouchBoard Questa piccola guida mostra in modo semplice le principali caratteristiche del software e l uso delle funzioni principali attivabili attraverso
Sistemi Informativi Territoriali. Area di rispetto
Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Area di rispetto Cod.721 - Vers.E4R 1 Area di rispetto - Definizione 2 Area di rispetto - Costruzione 3 Geometria dell'area di rispetto
Lezione 2. Il desktop LE ICONE
Lezione 2 Il desktop La prima schermata (immagine) che vedi sul tuo monitor, dopo aver acceso il pc (e dopo il caricamento del sistema operativo) è ildesktop. Questo è il punto di partenza per accedere
VIP Video Interview Pen Penna per video intervista
VIP Video Interview Pen Penna per video intervista Manuale dell utente 1 Contenuto: 1x VIP 1x Adattatore CA 1x Cavo USB 1x Manuale dell utente 2 Specifiche tecniche: Memoria interna: 4 o 8 GB Misure :
TASTIERA RFID Manuale
Manuale GasiaShop P.Iva: 03957290616 [Digitare il testo] Indice Capitolo 1 Impostazioni Badge o Tag Manager...3 Capitolo 2 Impostazioni uscita relè...4 Capitolo 3 Aggiungere e Cancellare un Badge o Tab...
Magic snc Via San Giobbe 3 Funo Argelato Bologna Tel Fax P.I
LOTTOFLASH LAVAGNA AUTOMATICA PER LE ESTRAZIONI DEL LOTTO INSTALLAZIONE LAVAGNA A computer spento collegare il cavo seriale alla lavagna e alla porta seriale del pc, in alternativa è possibile installare
Altoparlante HP Roar Plus. Altre funzionalità
Altoparlante HP Roar Plus Altre funzionalità Copyright 2014 Hewlett-Packard Development Company, L.P. Microsoft, Windows e Windows Vista sono marchi registrati negli Stati Uniti del gruppo di società Microsoft.
perror: individuare l errore quando una system call restituisce -1
perror: individuare l errore quando una system call restituisce -1 Quando una system call (o una funzione di libreria) non va a buon fine, restituisce come valore -1 Come si fa a sapere più precisamente
SEE Electrical Expert V4: FAQ
SEE Electrical Expert V4: FAQ Inserimento attributi in morsetti logici e fisici INTRODUZIONE Ad un morsetto (che sia esso logico oppure fisico) è possibile aggiungere un attributo passando per il comando
Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
