Espressioni, pause e suoni

Slides:



Advertisements
Presentazioni simili
Laboratorio di Linguaggi lezione III: tipi base, espressioni, type-cast Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e.
Advertisements

Piattaforma Arduino Arduino uno Arduino Mega.
Linguaggio Arduino: Struttura di un programma
Arduino: introduzione alla programmazione
Reti Mobili Ad Hoc e di Sensori Andrea De Salve. COS'È ARDUINO ? Piattaforma Open-Source per il Physical Computing basata su Microcontrollore Arduino.
1 Elementi DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
INTRODUZIONE A MATLAB/OCTAVE MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
1 Prof.ssa A.Comis. 2 Introduzione Definizione Classificazione Principi di equivalenza Regole per la risoluzione.
NUMERI ed ERRORI MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Arduino uno Introduzione.
© 2007 SEI-Società Editrice Internazionale, Apogeo
x2 – 4x + 1 x – 3 6x 5y2 ; x2 – 4x + 1 x – 3 x – 3 ≠ 0 x ≠ 3
Introduzione al linguaggio C
I2c.
Progetto n°2 con il Pannello operatore
Progetto n°1 con il Pannello operatore
Cammino dei Dati (Datapath)
Commenti Ogni riga che comincia con il simbolo # non viene letta dall’interprete per cui rappresenta un modo per commentare il listato # Questo è un esempio.
L’AMBIENTE CODE BLOCKS E L’IO
Organizzazione fisica
TIPI PRIMITIVI TIPI STRUTTURATI
JAVA usa una rappresentazione in VIRGOLA MOBILE
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
2018/9/ /9/11 USER ENVIRONMENT 1 1.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
I caratteri del suono: Altezza – intensita’ – timbro - durata
Global System for Mobile Comunication
Informatica per Scienze Geologiche LT a.a
Introduzione L’8254 è un interval timer event/counter, progettato per risolvere i problemi del controllo del timing, comuni ad ogni microcomputer. E’ costituito.
Programmazione e Laboratorio di Programmazione
Controllo e microprogrammazione
Programmazione e Laboratorio di Programmazione
Programmare.
Il CLOCK Il funzionamento della CPU è regolato da un clock di sistema, questo perché la CPU è una macchina sequenziale, quindi è necessario la presenza.
ABAP Objects ALV Grid Mantova, 30 dicembre 2018.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Programmazione e Laboratorio di Programmazione
Corso di Informatica Applicata Introduzione
Interrupt Arduino.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Lezione 1: Modalità di scrittura
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Maker_INO Lezione Quarta Trasduttori e Sensori Digitali
L’ELEVAMENTO A POTENZA
Lucidi della Pof.ssa Pazienza
Gli archivi e le basi di dati
APPUNTI SUL LINGUAGGIO C Allocazione dinamica della memoria
Lezione Seconda Primi passi di programmazione
Processi decisionali e funzioni di controllo
Programmazione e Laboratorio di Programmazione
Unità 5 Segnali analogici.
UNIT 12 INTERFACCIA SERIALE.
Le variabili Tipo Valori ammissibili
Unità 1 Programmi base.
INPUTS/OUTPUTS digitali e interruzioni
Unità 6 SCHERMI LCD.
Lezione Terza Primi passi di programmazione
Programmazione e Laboratorio di Programmazione
CONTROLLO DI UN SERVOMOTORE A ROTAZIONE CONTINUA
Programmazione e Laboratorio di Programmazione
Unità 7: SENSORI A INFRAROSSI
Progettiamo un robot Prof.ri Ponte Vincenzo Ovazza Sergio
Array e Stringhe Linguaggio C.
Array (vettori) In linguaggio C / C++.
Algoritmi.
TCS230 Sensore di colore.
Programmazione e Laboratorio di Programmazione
Programmazione Procedurale
Transcript della presentazione:

Espressioni, pause e suoni Unità 3 Espressioni, pause e suoni

Scopo e agenda dell’unità 3 Uno sguardo da vicino a variabili, costanti ed espressioni in generale. Presenta alcune nuove funzioni di Arduino per creare pause e suoni. Scopo della presentazione L’agenda della presentazione Presenta che tipo di espressioni possiamo usare con Arduino Fornisce le funzioni di base per le pause Fornisce le funzioni di base per le l’uso dei suoni 2

ESPRESSIONI Le funzioni di Arduino studiate finora pinMode(pin, mode): devi specificare il numero di pin a cui ti stai riferendo e se sono input o output. digitalRead(pin): devi specificare quale numero pin vuoi leggere. digitalWrite(pin,value): devi specificare quale numero pin vuoi usare per stabilire il valore. Puoi esprimere questi parametri in diversi modi Constant: digitalRead(4) legge il valore di un input pin numero 4. Variable: digitalRead(pushbutton), legge il pin input definito nella variabile “pushbutton”. Operation:, digitalRead((1+1)*2) legge il pin 4 come come risultato di (1+1)*2. 3

ESPRESSIONI COSTANTI Un valore di programma che non cambia mai può essere usato come una “costante” Non c’è modo di cambiare questo durante l’esecuzione del programma Se decidi di cambiare devi modificare il programma e registrarlo di nuovo nella memoria del controller Sono immagazzinati nel programma di memoria FLASH del controller Non sono volatili e persino quando la corrente è scollegata mantengono il loro valore ESEMPI digitalRead(12); //legge input pin 12 digitalWrite(6,HIGH); //colloca il pin 6 di output sul livello “1” pinMode(9,OUTPUT); //Configura pin 9 come un output 4

EXPRESSIONS type name = value VARIABILI Sono spazi nella memoria RAM del controller specificamente designati a immagazzinare dati diversi Si può leggere e scrivere nella memoria RAM tanto quanto si vuole e lungo quanto si può fare nel modo giusto ESEMPIO type name = value type: Stabilisce il tipo di dati che la variabile contiene name: Questo è il nome che tu assegni alla variabile o contenitore value: Questo è il contenuto o valore che mettiamo nella variabile 5

La tabella seguente contiene un riassunto delle variabili più comuni ESPRESSIONI La tabella seguente contiene un riassunto delle variabili più comuni TYPE BYTES DESCRIPTION char 1 A char takes up 1 byte of memory and stores a character value (8 bits). Character literals are written in single quotation marks (‘).The char datatype is a signed type, meaning that it encodes numbers from -128 to 127. byte A byte stores an 8-bit unsigned number and yields a range of 0 to 255 (28-1). int 2 Integers are your primary data-type for number storage. They store a signed 16-bit (2-byte) value and yield a range of -32768 to +32767 unsigned int or word Stores an 16-bit unsigned number and yields a range of 0 to 65535 (216-1) long 4 These are signed variables that store 32 bits (4 bytes) and yield a range of -2,147,483,648 to 2,147,483,647. unsigned long Unsigned variable that stores 32 bits (4 bytes) and yields a range of 0 to 4,294,967,295 (2^32 - 1). float Floating-point numbers can be as high as 3.4028235E+38 and as low as -3.4028235E+38. They are stored as 32 bits (4 bytes) of information. 6

ESPRESSIONI “Arrays” sono un altro tipo di variabile Un array è un gruppo di variabili e può comprendere una di quelle nella tabella sopra Per accedere ai contenuti delle variabili devi indicare il loro numero indice Le variabili possono essere “global” o “local” a seconda di dove le dichiari nel programma Globals: Queste sono variabili che sono dichiarate o definite fuori da tutte le funzioni nel programma includendo setup() e loop() Locals: Queste sono variabili che sono dichiarate e create all’interno di una funzione specifica e possono essere usate solo da quella funzione 7

Queste sono le operazioni matematiche più comuni ESPRESSIONI OPERAZIONI I valori che carichi nelle variabili possono essere ottenuti come risultato di tutte le operazioni matematiche tra variabili e/o costanti. Queste sono le operazioni matematiche più comuni = Equivalenza + Addizione - Sottrazione * Moltiplicazione / Divisione % Avanzo (l’avanzo di una divisione tra due numeri interi) 8

delayMicroseconds(n); TEMPISTICHE E’ spesso una buona idea per il controller non fare assolutamente niente di utile o, in alter parole, perdere un sacco di tempo Arduino ha un sacco di funzioni che mettono in pausa l’esecuzione di un programma per un tempo definito FUNZIONE DELAYMICROSECONDS() Mette in pausa il programma per un tempo specificato (in microseconds) delayMicroseconds(n); n: indica il numero di millisecondi per la pausa del programma. È un numero intero a 16 bit ESEMPIO A = 100; delayMicroseconds(A); // mette in pausa per 100 µS = 0.1 mS = 0.0001 secondi 9

ESPRESSIONI FUNZIONE DELAY() Mette in pausa il programma per tanti millisecondi quanto sono indicati delays(n); n: indica il numero di millisecondi (mS) desiderati per la pausa del programma. Questi sono riferiti a numeri lunghi senza un segno a 32 bit o senza segno algebrico ESEMPIO A = 100; delay (A); //mette in pausa il programma per 100 mS = 0.1 second delay(1000) 10

ESPRESSIONI FUNZIONE MICROS() Restituisce il numero di microsecondi trascorsi da quando Arduino ha cominciato a far girare il programma Resituisce un valore senza segno algebrico e il numero andrà a zero dopo circa 70 minuti var = micros(); var: Questa è la variabile che immagazzina i microsecondi (µS) trascorsi da quando il sistema è stato riavviato. FUNZIONE MILLIS() Restituisce il numero dei millisecondi (mS) trascorsi da quando Arduino ha cominciato a far girare il programma Restituisce un valore senza segno algebrico e il numero andrà a zero dopo circa 50 giorni var = micros(); var: Questa è la variabile che immagazzina i millisecondi (mS) trascorsi da quando il sistema è stato riavviato. 11

SUONO Che cosa serve per creare suono? Un device in grado di vibrare e produrre cambiamenti di pressione e vibrazioni nell’aria Queste vibrazioni raggiungono i tamburi del tuo orecchio e il cervello le percepisce come suono Ci sono molti device conosciuti che portano cambiamenti nella pressione dell’aria e questo crea onde che trasportano il suono: autoparlanti, cuffie, cicalini, sirene Gli umani sono in grado di sentire le frequenze sonore tra approssimativamente 20 Hz e 20,000 Hz (20 KHz) o cicli per secondo. Questo indica le frequenze o il numero di volte al secondo in cui il segnale passa da “1” a “0”. 12

tone(pin, frequency, duration); FUNZIONI SONORE Il linguaggio di programmazione di Arduino rende facile la produzione di molti tipi di suoni Tutto ciò che bisogna fare è indicare la frequenza F e Arduino si occuperà del resto FUNZIONE TONE() Genera un suono con una frequenza F richiesta sul pin di output e per la durata indicata tone(pin, frequency, duration); pin: indica il pin di generazione del suono frequency: rappresenta la frequenza del tono in Hz (hertz) duration: Questo parametro è facoltativo. È un numero algebrico lungo che rappresenta la durata del tono in millisecondi 13

FUNZIONI DEL SUONO FUNZIONE noTONE() Interrompe il suono a un pin designato tone(pin); pin: rappresenta su quale pin il suono deve essere interrotto ESEMPIO: tone(2,13000); //Genera un tono indefinito a 13 KHz tone sul pin 2. …. //Il tono continua a risuonare noTone(2); //Il tono si interrompe 14

Unità 3 ESPRESSIONI, PAUSE E SUONI Grazie