Programma di Elettronica II:

Introduzione alle codifiche digitali (binaria, esadecimale, ASCII). Rappresentazione in virgola fissa e mobile. Introduzione all'algebra booleana. Porte logiche elementari. Sintesi di funzioni e circuiti logici. Descrizione dei principali circuiti logici (sommatori, de-multiplexer, de-codificatori, contatori). Memorie a stato solido: celle elementari (latch, flip-flop), registri, volatili e permanenti, leggibili e riscrivibili, ad accesso casuale e sequenziale.

Introduzione alle logiche programmabili (PLA, FPGA) e ai dispositivi elettronici programmabili (microcontrollori, DSP, microprocessori).

Architettura dei microcontrollori (CPU, periferiche, memorie). Linguaggi di programmazione (linguaggio macchina, assembly, C/C++, interpretati).

Arduino UNO. Descrizione della scheda, architettura del microcontrollore, mappatura porte-periferiche.

Arduino IDE (Integrated Development Environment). Installazione, avvio, compilazione, debugging.

Elementi di programmazione in C: struttura dello sketch, tipi di costanti e variabili, operatori matematici e logici, istruzioni cicliche e di condizionamento.

Librerie Arduino (I/O digitali e analogici, pull-up, pull-down, interrupt, ADC, PWM), generazione di toni musicali, controllo motori elettrici dc/step/servo, gestione sensori (temperatura, umidità, ultrasuoni ecc.) e display (LED/LCD).

Comunicazione seriale asincrona (USB, Bluetooth, WiFi, RF wireless) e sincrona (I2C, SPI), connessione a moduli Bluetooth e WiFi. Modalità di trasmissione e ricezione di dati attraverso la comunicazione seriale. Protocolli di trasferimento dell'informazione via internet.

Utilizzo di piattaforme software per sviluppo di applicazioni in ambiente Windows/IoS (Processing/Python) e Android/IoS (MIT App Inventor) per controllo remoto attraverso interfacce Bluetooth di dispositivi sensoriali e meccanici (attuatori, sensori, ecc).

Sistemi di controllo remoto con ricetrasmettitori a radiofrequenza multicanale, progetto di reti wireless con protocollo seriale. Cenni ai moduli Xbee ed NFC.

Moduli hardware per reti Wi-Fi con e senza connessione alla rete Internet. Cenni ai protocolli internet. Utilizzo di server per lo sviluppo di applicazioni domotiche per gestione di dispositivi da remoto con PC o telefoni cellulari. Piattaforme per controllo vocale.