]> git.piffa.net Git - arduino/blob - corsi/arduino_avanzato.rst
Merge branch 'master' of kim:/home/git/arduino
[arduino] / corsi / arduino_avanzato.rst
1 ===================================
2 Arduino Avanzato
3 ===================================
4
5
6   :Author: Andrea Manni
7   :Copyright: GFDL
8   :Version: 1
9
10 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. 
11
12 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.
13
14 Durata 20 ore in lezioni da 2 ore, 80 euro per 12 partecipanti.
15
16
17 .. contents:: Indice degli argomenti
18    .. |date| date::
19
20
21
22 Argomenti
23 ==========
24 L'ordine degli elementi puo' variare in base alle esigenze emerse nei corsi precedenti.
25
26 Informatica:
27 ---------------
28 * Creare librerie ad oggetti, intestazioni e percorsi di include.
29 * Operazioni bitwise, pointers.
30 * Git avanzato: brancing e condivisione.
31 * Editors Avanzati: compilazione manuale ed uso di altri editor testuali.
32 * Software per gestire la documentazione.
33 * Processing: scambiare ed elaborare i dati tra Arduino e PC.
34 * HTTP e WebFramework, introduzione TCP/IP
35 * Server su Arduino e scambio di dati con device remoti.
36
37 Elettronica
38 --------------
39 L'ordine di presentazione e il tipo di sensori potra' variare in base a quanto fatto nei corsi precedenti.
40
41 * Power Saving: gestione del risparmio energetico
42 * Lavorare con tensioni diverse da 5v.
43 * Mosfet / transistor : ULN2803A Darlington transistor array
44 * Connessioni WiFi: sensori e attuatori in rete.
45 * Usare interrupts: timer e input
46 * Display LCD a 8 pin (normale e I2C)
47 * Giroscopio a 6 assi
48 * Sensore di pressione / altimetro
49 * Altri eventuali sensori ed attuatori secondo esigenze e disponibilita' del laboratorio
50 * RFID
51 * Utilizzare un prot shield per i circuiti (eventuale prefboard con saldature)
52
53 Arduino
54 --------------
55 * Arduino su STM32: MapleMini e generiche
56 * ESP8266: port di Arduino
57 * Eventuale: AVR standalone su breadboard programmato tramite ISP: Atmega328p / ATTINY2313A 
58 * AVR: gestione fuse e oscillatori interni / esterni
59 * Schede NodeMCU e ESP8266 ridotte
60 * Connessioni seriali sincrone, I2C (SPI).
61 * Arduino Core e Processing su architettura diverse da Armel  
62 * Ambienti di sviluppo avanzati: Sublime Text, Eclipse, Vim
63 * Compilazione manuale con Makefiles.
64
65 Creazione di una libreria a oggetti, deployment con GIT.
66
67
68 Upgrade Hardware
69 ------------------
70
71 * Step Down: pilotare LED in corrente
72 * Barometro / termometro I2C
73 * 6 assi I2C
74 * Arduino Core su STM32: MapleMini e BluePill generica
75 * Arduino core su ESP8266
76 * Logic Level Converter, alimentatori switching, linear regulator 7805 5v e LM1117T 3.3v
77 * Pilotare i PIN tramite transistor.
78
79 Materiali
80 =======================
81
82 Tutti i materiali necessari al corso saranno disponibili nel laboratorio durante le lezioni.
83
84 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**.
85
86 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