:Author: Andrea Manni
:Copyright: GFDL
- :Version: 0.1
+ :Version: 1
-Arduino avanzato si spinge ai limiti dell'ecosistema Arduino portando le conoscenze acquisite a scalare sia su schede Arduino diverse che su hardware compatibile: dai piccoli AVR Attiny di pochi millimetri ai potenti ARM a 32bit e MIPS ottimizzati per le connessioni a internet. Gli studenti potranno utilizzare le risorse software e librerie Arduino, le piu' vaste e facili da utilizzare, su soluzioni micro dal costo inferiore a un euro fino a schede ad alte prestazioni dal costo inferiore ai 5 euro.
+Arduino avanzato si spinge ai limiti dell'ecosistema Arduino portando le conoscenze acquisite a scalare sia sul schede Arduino diverse che su hardware compatibile: dai piccoli AVR ATtiny di pochi millimetri ai potenti ARM a 32bit e MIPS ottimizzati per le connessioni a internet.
-Durata 21 ore in lezioni da 3 ore, 80 euro per 12 partecipanti (o 60 per 16).
+Gli studenti potranno utilizzare le risorse software e librerie Arduino, le piu' vaste e facili da utilizzare, su soluzioni micro dal costo inferiore a un euro fino a schede ad alte prestazioni dal costo inferiore ai 5 euro.
+
+Durata 20 ore in lezioni da 2 ore, 80 euro per 12 partecipanti.
.. contents:: Indice degli argomenti
Argomenti
==========
+L'ordine degli elementi puo' variare in base alle esigenze emerse nei corsi precedenti.
Informatica:
---------------
-
-Creare librerie ad oggetti, operazioni bitwise, pointers. Connessioni seriali sincrone, I2C. Strumenti di condivisione codice Git e della documentazione.
-
-
+* Creare librerie ad oggetti, intestazioni e percorsi di include.
+* Operazioni bitwise, pointers.
+* Git avanzato: brancing e condivisione.
+* Editors Avanzati: compilazione manuale ed uso di altri editor testuali.
+* Software per gestire la documentazione.
* Processing: scambiare ed elaborare i dati tra Arduino e PC.
-* Http e webframework, introduzione TCP/IP
+* HTTP e WebFramework, introduzione TCP/IP
+* Server su Arduino e scambio di dati con device remoti.
Elettronica
--------------
-Connessioni I2c, wifi.
-Transistor, componenti avanzati:
+L'ordine di presentazione e il tipo di sensori potra' variare in base a quanto fatto nei corsi precedenti.
-
-* Arduino su STM32: MapleMini e generiche
-* ESP8266: port di Aduino
-* Schede NodeMCU e ESP8266 ridotte
* Power Saving: gestione del risparmio energetico
-* Utilizzare StepDown per controllo della corrente
-* Git avanzato: brancing e condivisione.
-* Software per gestire la documentazione.
-* Editors Avanzati: Compilazione manuali ed uso di editor testuali.
-* Connessioni Wifi: sensori e attuatori in rete.
-* Server su Arduino e scambio di dati con device remoti.
+* Lavorare con tensioni diverse da 5v.
+* Mosfet / transistor : ULN2803A Darlington transistor array
+* Connessioni WiFi: sensori e attuatori in rete.
* Usare interrupts: timer e input
-* creare una libreria ad oggetti
* Display LCD a 8 pin (normale e I2C)
* Giroscopio a 6 assi
* Sensore di pressione / altimetro
-* Altri eventuali sensori ed attuatori
+* Altri eventuali sensori ed attuatori secondo esigenze e disponibilita' del laboratorio
* RFID
+* Utilizzare un prot shield per i circuiti (eventuale prefboard con saldature)
Arduino
--------------
-
-Arduino Core e Processing su architettura MIPS con ESP8266 e ARM con STM32. Ambienti di sviluppo avanzati: Sublime Text, Eclipse, Vim, compilazione anuale con Makefiles.
+* Arduino su STM32: MapleMini e generiche
+* ESP8266: port di Arduino
+* Eventuale: AVR standalone su breadboard programmato tramite ISP: Atmega328p / ATTINY2313A
+* AVR: gestione fuse e oscillatori interni / esterni
+* Schede NodeMCU e ESP8266 ridotte
+* Connessioni seriali sincrone, I2C (SPI).
+* Arduino Core e Processing su architettura diverse da Armel
+* Ambienti di sviluppo avanzati: Sublime Text, Eclipse, Vim
+* Compilazione manuale con Makefiles.
Creazione di una libreria a oggetti, deployment con GIT.
* 6 assi I2C
* Arduino Core su STM32: MapleMini e BluePill generica
* Arduino core su ESP8266
-* Logic Level Converter, step down switching, linear regulator 7805 5v e LM1117T 3.3v
+* Logic Level Converter, alimentatori switching, linear regulator 7805 5v e LM1117T 3.3v
* Pilotare i PIN tramite transistor.
-
-Materiali
+Materiali
=======================
-Tutti i materiali necessari al corso saranno disponibili nel laboratorio durante
- le lezioni.
+Tutti i materiali necessari al corso saranno disponibili nel laboratorio durante le lezioni.
Per gli studenti che vogliono esercitarsi a casa sono state predisposte le liste dei componenti e materiali utili ai corsi `Kit base da 5euro <http://lab.piffa.net/kit5.html>`_ e un `Kit da 40euro <http://lab.piffa.net/kit_full.html>`_ . Questi kit vanno prenotati con un mese di anticipo come **acquisto di gruppo**.
-Per quanto riguarda il software e' stato preparato un sistema operativo Gnu/Linux in versione Live / installabile sul proprio coputer: http://zap.piffa.net/store/ con tutti i software e gli esercizi preconfigurati
+Per quanto riguarda il software e' stato preparato un sistema operativo Gnu/Linux in versione Live / installabile sul proprio computer: http://www.piffa.net/live/ con varie librerie Arduino preconfigurate, l'ambiente di sviluppo Eclipse e Sublime Text ottimizzati per Arduino. Sul Wiki sono state preparate le istruzioni di massima per gestire varie schede e componenti