]> git.piffa.net Git - arduino/commitdiff
corsi
authorAndrea Manni <andrea@piffa.net>
Sat, 19 Dec 2015 06:37:37 +0000 (07:37 +0100)
committerAndrea Manni <andrea@piffa.net>
Sat, 19 Dec 2015 06:37:37 +0000 (07:37 +0100)
Makefile [new file with mode: 0644]
kit/five_euro
lezioni/.arduino_avanzato.rst.swp [deleted file]
lezioni/arduino_avanzato.rst
lezioni/arduino_base.rst
lezioni/arduino_base_dettaglio.rst [deleted file]
lezioni/arduino_intermedio.rst [new file with mode: 0644]
lezioni/iot.rst [new file with mode: 0644]
lezioni/lezioni
lezioni/linux_base.rst [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..ae0cefb
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,11 @@
+# Arduino Make file. Refer to https://github.com/sudar/Arduino-Makefile
+
+CURRENT_DIR = $(shell pwd)
+BOARD_TAG    = uno
+MONITOR_PORT  = /dev/ttyACM0
+
+OBJDIR                         = /tmp/$(notdir $(shell pwd))
+ARDUINO_DIR            = /usr/local/software/arduino-1.6.5
+MONITOR_BAUDRATE = 115200
+
+include /usr/share/arduino/Arduino.mk
index 3ee8df3cfd21d96e87726929d6db655d4b863eff..043f75921b2e39168d83fe54122c3c26affd1799 100644 (file)
@@ -12,3 +12,12 @@ Non arrivati:
 - led RGB
 - resistenze 150 ohm
 - jumper femmina / mixed
+
+
+----- fine primo 20 batch:
+- manca un arduino
+- 10 pot rimasti contando i prossimi
+
+Ordinati: 2000led rossi - 100 + 200 buste plastica.
+
+Servono diodi 2x per H bridge.
diff --git a/lezioni/.arduino_avanzato.rst.swp b/lezioni/.arduino_avanzato.rst.swp
deleted file mode 100644 (file)
index 10727bb..0000000
Binary files a/lezioni/.arduino_avanzato.rst.swp and /dev/null differ
index adc4f7ec59f47b5aaa1ded50966c5fb43b68cd67..d7ff67182c301c8c05ada6aa98c25b86143c7801 100644 (file)
@@ -8,12 +8,14 @@ Arduino Avanzato
   :Version: 0.1
 
 
-Traccia degli argomenti del corso avanzato su Arduino Make++ nel Laboratorio NetGarage in via Barchetta. Questo documento non costituisce un manuale per il corso ma solo una traccia degli argomenti trattati nelle varie giornate di lezione.
+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 conessioni 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.
 
-Gli argomenti del corso Arduino Avanzati sono da considerarsi suscettibile di cambiamenti in base alla composizione dell'aula e dei componenti elettronici disponibili. La versione definitiva sara' disponibile il prima possibile.
 
 
 
+Durata 21 ore in lezioni da 3 ore, 80 euro per 12 partecipanti (o 60 per 16).
+
+
 .. contents:: Indice degli argomenti
    .. |date| date::
 
@@ -21,57 +23,66 @@ Gli argomenti del corso Arduino Avanzati sono da considerarsi suscettibile di ca
 
 Argomenti
 ==========
-La traccia degli argomenti e' suscettibile di cambiamenti in base alla composizione dell'aula e dei componenti elettronici disponibili.
-
-* Shift register
-* EPROM
-* Transistor: PNP e NPN
-* Costruire Hbridge per pilotare motore, usare un integrato L293D
-* Power Saving: narcoleptic library
-* Mosfet / transistor : pilotare LED strip a 12v / LED alta luminosita'
-* Programmazione ad oggetti: Blink, PWM e Loop con Millis() . Refactoring
-* Editors Avanzati: Sublime Text, Eclipse, Makefiles
-* Eventuale: Arduino + Processing (S4a?)
-* Eventuale: decodifica input PWM RX
+
+Informatica:
+---------------
+
+Creare librerie ad oggetti, operazioni bitwise, pointers. Connessioni seriali sincrone, I2C. Strumenti di condivisione codice Git e della documentazione.
+
+
+* Processing: scambiare ed elaborare i dati tra Arduino e PC.
+* Http e webframework, introduzione TCP/IP
+
+Elettronica
+--------------
+Connessioni I2c, wifi.
+Transistor, componenti avanzati:
+
+
+* 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.
 * Usare interrupts: timer e input
 * creare una libreria ad oggetti
-* Comunicazione a infrarossi
-* comunicazione radio seriale
-* Sensora a ultrasuoni
-* Display LCD a 8 pin (eventuale in I2C)
+* Display LCD a 8 pin (normale e I2C)
+* Giroscopio a 6 assi
+* Sensore di pressione / altimetro
+* Altri eventuali sensori ed attuatori
 * RFID
 
+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.
+
+Creazione di una libreria a oggetti, deployment con GIT.
+
+
 Upgrade Hardware
 ------------------
 
-* RTC 
 * Step Down: pilotare LED in corrente
 * Barometro / termometro I2C
 * 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 
-* eventuale introduziona a NodeMCU in LUA
-* eventuale registri e 
-
-
-Hardware particolare
-========================
-
-Serviranno alimenatori a 12v per i LED, se si vogliono usare step down serviranno PSU superiori a 12v: http://www.aliexpress.com/item/Newest-AC-100V-240V-to-DC-24V-2A-48W-Voltage-Transformer-Switch-Power-Supply-for-Led/32338559143.html
+* Pilotare i PIN tramite transistor.
 
-* http://www.aliexpress.com/item/New-Brand-Switch-Power-Supply-Driver-for-LED-Strip-Light-Display-12V-1A-12W-high-quality/2013711623.html
-* Wifi: http://www.aliexpress.com/item/New-version-ESP-12E-replace-ESP-12-ESP8266-remote-serial-Port-WIFI-wireless-module/32339917567.html
-* NodeMCU:  http://www.aliexpress.com/item/2015-New-product-Wireless-module-NodeMcu-Lua-Wifi-Nodemcu-WIFI-Network-Development-Board-Based-ESP8266-High/32341789414.html
-* MapleMini: http://www.aliexpress.com/store/product/5PCS-LOT-leaflabs-Leaf-maple-mini-ARM-STM32-compatibility/213957_1400682373.html
-* Linear regulators: http://www.aliexpress.com/item/Free-Shipping-10pcs-lot-7805-L7805CV-ST-TO-220-Three-terminal-voltage-regulator/1608655221.html
-* http://www.aliexpress.com/item/Free-Shipping-10pcs-LM1117T-3-3-LM1117T-LM1117-Low-Dropout-Voltage-Regulator-3-3V/2030773257.html?ws_ab_test=searchweb201556_1,searchweb201644_5,searchweb201560_9
-* LLC http://www.aliexpress.com/item/Free-shipping-50pcs-lot-4-channel-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to/32458903534.html?ws_ab_test=searchweb201556_1_21_79_78_77_92_91_22_80,searchweb201644_5,searchweb201560_9 (non testati!)
 
 Materiali 
 =======================
 
-Per gli studenti che vogliono esercitarsi a casa sono stati predisposti un `Kit base da 5euro <http://lab.piffa.net/kit5.html>`_ e un `Kit da 25euro <http://lab.piffa.net/kit.html>`_ . Questi kit vanno prenotati con un mese di anticipo (ce ne saranno di disponibili per l'inizio del corso) come **acquisto di gruppo**.
+Tutti i materiali necessari al corso saranno disponibili nel laboratorio durante
+ le lezioni.
 
-Per quanto riguarda il software  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 esericizi preconfigurati.
+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
index bf765f0c72e9e94fa2cf8d953d25ae310e2c4a49..7597284bebcddb0da17f844188e3a5d0325617d8 100644 (file)
@@ -6,16 +6,16 @@ Arduino Base
 
   :Author: Andrea Manni
   :Copyright: GFDL
-  :Version: 0.1
+  :Version: 1.2
 
 
-Traccia degli argomenti del corso avanzato su Arduino Make++ nel Laboratorio NetGarage in via Barchetta. Questo documento non costituisce un manuale per il corso ma solo una traccia degli argomenti trattati nelle varie giornate di lezione.
+Arduino Base e' il corso per chi si avvicina per la prima volta al mondo dell'elettronica digitale con Arduino, nessun prerequisito. Tramite esercitazioni pratiche in laboratorio verranno costruite le basi di elettronica, fondamenti di programmazione e informatica per poter costruire i propri progetti di elettronica digitale, robotica, domotica, internet of things. Ardino e le comepetenze annesse sono il punto di partenza dell'universo dei Maker.
 
-La durata del corso e' 20 ore in 10 incontri, lun. e giov. dalle 18 alle 20.
+La durata del corso e' 20 ore in 10 incontri.
 
 * Docente Andrea Manni, 
-* Inizio lunedì 23 novembre, 
-* Quota di iscrizione € 50 (da versare il primo incontro).
+* Inizio Lunedì 23 Novembre, 
+* Quota di iscrizione 60euro.
 
 
 .. contents:: Indice degli argomenti
@@ -53,7 +53,7 @@ Elettronica
 * LED, LED RGB
 * Elettricita', differenza di potenziale, resistenze
 * Legge di Ohm, calcolare resistenze per LED
-* Utilizzo della BradBoard (tavoletta di prototipizzazione)
+* Utilizzo della BreadBoard (tavoletta di prototipizzazione)
 * Bottoni in Pull DOWN e Pull UP
 * Potenziometri, resistivita' e resistenza
 * Fotoresistenze
@@ -66,15 +66,16 @@ Elettronica
 Materiali 
 =======================
 
-Il laboratorio mette a disposizione i Kit con i componenti necessari allo svolgersi delle lezioni.
-Per gli studenti che vogliono esercitarsi a casa sono stati predisposti un `Kit base da 5euro <http://lab.piffa.net/kit5.html>`_ e un `Kit da 25euro <http://lab.piffa.net/kit.html>`_ . Questi kit vanno prenotati con un mese di anticipo (ce ne saranno di disponibili per l'inizio del corso) come **acquisto di gruppo**. 
+Tutti i materiali necessari al corso saranno disponibili nel laboratorio durante le lezioni.
 
-Per quanto riguarda il software  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 esericizi preconfigurati.
+Per gli studenti che vogliono esercitarsi a casa sono stati predisposti un `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 (i kit base saranno disponibili per l'inizio del corso fino a esaurimento scorte) 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 esericizi preconfigurati. Questo permettera' agli studenti di avere a disposizione fin da subito anche a casa un ambiente di sviluppo pronto all'uso per dedicarsi agli argomenti del corso.
 
 Riferimenti
 ==============
 
-Sono disponibili i calendari delle lezioni delle precedenti edizioni del Corso Base con gli argomenti trattati in ogni lezione: ad es http://lab.piffa.net/lunedi.html e http://lab.piffa.net/giovedi.html , il Wiki con informazioni utili sui componenti (a cura degli studenti): http://wiki.piffa.net/ , gli `esercizi <http://lab.piffa.net/sketchbook_andrea/>`_ e gli `schemi elettronici <http://lab.piffa.net/schemi/>`_
+Sono disponibili i calendari delle lezioni delle precedenti edizioni del Corso Base con gli argomenti trattati in ogni lezione: ad es http://lab.piffa.net/lunedi.html , il Wiki con informazioni utili sui componenti (a cura degli studenti): http://wiki.piffa.net/ , gli `esercizi <http://lab.piffa.net/sketchbook_andrea/>`_ e gli `schemi elettronici <http://lab.piffa.net/schemi/>`_
 
 Il sito web di riferimento e': http://lab.piffa.net/
 
diff --git a/lezioni/arduino_base_dettaglio.rst b/lezioni/arduino_base_dettaglio.rst
deleted file mode 100644 (file)
index 17f9eb4..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-===================================
-Arduino Base: dettaglio
-===================================
-
-Progettazione di dettaglio.
-
-
-  :Author: Andrea Manni
-  :Copyright: GFDL
-  :Version: 0.1
-
-
-Traccia degli argomenti del corso avanzato su Arduino Make++ nel Laboratorio NetGarage in via Barchetta. Questo documento non costituisce un manuale per il corso ma solo una traccia degli argomenti trattati nelle varie giornate di lezione, i riferimenti per testi e risorse consigliati li trovate su: http://lab.piffa.net/testi.html
-
-La durata del corso e' 20 ore in 10 incontri, lun. e giov. dalle 18 alle 20.
-
-Docente Andrea Manni
-Inizio lunedì 23 novembre
-Quota di iscrizione € 50 (da versare il primo incontro)
-
-
-
-.. contents:: Indice degli argomenti
-   .. |date| date::
-
-Generato il |date| con: http://docutils.sourceforge.net/rst.html
-
-
-Argomenti
-==========
-
-Introduzione...
-Architettura elaboratore: processore - memoria - storaggio - input -autput. Bus di comunicazione: seriali. Cenni a USB iclient / HOST. 
-Software, Sistemi operativi, compilazione (e interpreti), architetture.
-Classi di elaboratori. MCU e CPU. 
-
-Esercizio Blink, 4 parti: commenti dichiarazioni setup loop. 
-          istruzioni e sequenze di istruzioni.
-Istruzione termina con puntoe virgola.
-Partire dalla funzione digitalWrite, modificare i tempi e ripetere: sequenze di istruzioni. 
-Variabili: impostare i tempi con una variabile.
-Fare una funzione per rapido - lento, guardare loop() e setup() 
-Setup() symbolic constant /usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h
-Mettere funzioni in un file separato, senza estensione.
-
-
-Informatica: automatismi per operazioni ripetitive.
-Introdurre un ciclo while() con un iteratore, ragionare sulla gestione dell'iteratore, scope, introdurre ciclo for (esercizio blinks/blink_4)
-
-Introdurre un LED e un resistore: circuiti elettrici, introduzione.
-Breadboard, jumpers, colore per cavi.
-
-impostare una nuova funzione per tempi e led: argomenti.
-
-...diventa ripetitivo: serve qualcosa per cambiare il flusso di esecuzione: cicli condizionali (e poi iterativi).
-
- Input base per accendere un LED (senza bottone, col jumper), input libero: se non e' collegato a +5 o a ground e' come una antenna. 
-- Sketch seriale hello world
-- fare il circuito con un bottone momentaneo button_1
-- sketch con debug seriale button_2_serial
-seriali per fare il debuggin e leggere i valori del bottone.
-Seriali: funzioni base: instanziare con Serial.Begin(), print - println e flush() del buffer.
-
- Usare un bottone e una resistenza: pull up e pull down, ciclo IF, invertire il circuito del bottone: confronto con cambio software per introdurre elettronica digitale.
-
-Approfondimento: leggere le resistenze e i LED.
-
-Input analogico: usare un potenziometro, resistivita' proporzionale alla lunghezza, potenziometro per varaire pausa dello sketch blink: a intervalli bassi tende al PWM. Cenni ai trimmer.
-
-- http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM
-PWM, fatto con intervalli di un millisecondo, cenno a delayMicroseconds(), introdurre i PWM automatici: base con un byte per luminosita': cicli iterativi. Partire da while, variabile contatore e iteratore, e poi fori ternario.
-
-Input analogico per impostare il PWM.
-
-- Introdurre gli operatori comparativi (>,<,=!)  e booleani (&&, ||, !): 
-Stato di un bottone poi  Debouncing: grafico http://www.ladyada.net/learn/arduino/lesson5.html
-
-Eventuale: fare il circuito Knight rider con 6 led per pratica con for loop, magai con un solo resistor. http://arduino.cc/en/Tutorial/ForLoop
-
-State machine
-==============
-
-Pensarlo per accendere due led con millis )multitasking)
-- https://learn.adafruit.com/downloads/pdf/multi-tasking-the-arduino-part-1.pdf
-e per i bottoni.
-
-Ratio
-=====
-Visti input e output analogici: ora alternare la presentazione di un sesore (input) e un attuatore.
-
-Input analogico: sensore di luminosita'. Lettura valori, calibrazione manuale, calibrazione automatica, map(), constrain(), smoothing. Sketch basic/analog_input[3,4,5,6]. trasformazione input -> output analogico di un piezo: poibilita' di percepire soglie e range non percepibili con i sensi umani. Smothing (semplificato), claibrazione automatica.
-
-Piezo: meldie varie, sirene. Pitch follower, melodia con 3 tasti in pullup, melodia pre impostata con include di libreria.
-
-LED RGB: ciclo per ogni colore, impostazione via seriale.
-PWM con LED RGB.
-
-Programmazione: vedere come stiamo con operatori e data types.
-Direttive per preprocesor: # define - # if defined - per DEBUG
-Usare seriale per aritmetica.
-
-Input: bouncing e state: elettronica digitale. (serie di esercizi in "basic")
-http://www.ikalogic.com/de-bouncing-circuits/
-(guardare arduino for dummies)
-Analog input con un potenziometro.
-Usare map() per ricalibrare una lettura.
-Usare map() e poi una diffusuione \*4 oer mappare un range 1024 -> 256 su PWM.
-
-
-Seriali: scrivere e debugging. Interpretae input / caratteri da seriale per accendere un LED.
-
-Motore a spazzole, transistor e diodo.
-- Accendere e spegnere un motore, 
-- usare un ciclo FOR per PWM,
-- potenziometro per variare PWM (con debuggin seriale)
-- impostare valore minimo per motore (da usare con analoglWrite)
-
-
-Servo: descrizione / caratteristiche base (vedi guida)
-Fare i due sketch di esempio: ciclio FOR e Knob.
-- C: caricare librerie
-
-
-Piezo
-Descrizione del funzionamento, melodie di esempio (mario tunes!).
-Arduino dev: utilizzare sketch su piu' tabs (include): percorsi <> ""
-Programmazione: array, strutture dati.
-Pitch follower - sensore luminose connesso a piezo. Ricordarsi di calibrare il sensore con map().
-Usare un piezo come input - knock (descrivere come le dimensioni influenzano la sensibilita', esistono piezo costruiti espressamente per input - flex). Occhio alla sensibilita'.
-
-
-                                                       
-
-Ottimizzazione: multitasking con millis() al posto di delay(),
-Debouncing, gestione stato di un bottone, arrotondamento su media della lettura di un sensore, calibrazione di sensori. Calibrazione automatica in un range di tempo durante il setup().
-
-
-INPUT_PULLUP: bottone senza resistenza come input.
-
---- Shift register: binario - decimale -esadecimale. Circuiti semi-permaneti su mini breadboard, piu' listati per stesso circuito. 
-
diff --git a/lezioni/arduino_intermedio.rst b/lezioni/arduino_intermedio.rst
new file mode 100644 (file)
index 0000000..5a8c1d0
--- /dev/null
@@ -0,0 +1,80 @@
+===================================
+Arduino Intermedio
+===================================
+
+
+  :Author: Andrea Manni
+  :Copyright: GFDL
+  :Version: 0.1
+
+Per chi ha gia' dimestichezza con la programmazione e gli elementi base / passivi di elettronica, e' il passo successivo al corso base in un percorso che tramite l'approfondimento delle tecniche di programmazione e componenti sofisticati permettera' di affrontare progetti di robotica, domotica, IoT e tutto quanto del mondo fisico possa essere reso intelligiente con un microcontroller.
+Dopo aver utilizzato varie librerie dell'ecosistema Arduino per gestire sensori e attuatori ci si cimentera' nella programmazione ad oggetti e multitasking. Si comincera' ad utilizzare transistor e sensori / attuatori sofisticati con  potenze superiori, utilizzando connessioni seriali cablate e radio.
+
+Durata 21 ore in lezioni da 3 ore, 16 partecipanti.
+
+
+.. contents:: Indice degli argomenti
+   .. |date| date::
+
+
+
+Argomenti
+==========
+
+Informatica:
+---------------
+
+Programmazione ad oggetti, operazioni bitwise. Connessioni seriali.  Strumenti di condivisione codice Git e della documentazione.
+
+Elettronica
+--------------
+
+
+* Shift register
+* Transistor: PNP e NPN
+* Costruire Hbridge per pilotare motore, usare un integrato L293D
+* Motori Step
+* Mosfet / transistor : pilotare LED strip a 12v / LED alta luminosita'
+* Regolatori lineari
+* Programmazione ad oggetti: Blink, PWM e Loop con Millis() . Refactoring
+* Editors Avanzati: Sublime Text, Eclipse, Vim, Makefiles
+* Eventuale: decodifica input PWM RadioRX
+* Interrupts: introduzione
+* Comunicazione a infrarossi
+* comunicazione radio seriale
+* Sensori a ultrasuoni
+* Bussola Digitale
+* Senosre di temperatura e igrometro
+* Altri eventuali sensori ed attuatori
+* Display LCD a 8 pin (eventuale in I2C)
+
+Arduino
+--------------
+
+Arduino Core e Wiring su microcontrolle AVR Attiny85, Arduino Mini Pro e FTDI.  Ambienti di sviluppo avanzati: Sublime Text, Eclipse, Vim, compilazione anuale con Makefiles.
+
+* Imparare a gestire i propri archivi con GIT.
+* Condivisione: utilizzo di un Wiki e Forum di discussione
+* Utilizzare Librerie preconfezionate, gestirle con GIT.
+* Scratch for Arduino: didattica per i piu' piccoli.
+
+
+Upgrade Hardware
+------------------
+
+* RTC 
+* Barometro / termometro I2C
+* 6 assi I2C
+* eventuale introduziona a NodeMCU in LUA
+* eventuale registri e 
+
+
+Materiali 
+=======================
+
+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.
+
diff --git a/lezioni/iot.rst b/lezioni/iot.rst
new file mode 100644 (file)
index 0000000..e066795
--- /dev/null
@@ -0,0 +1,35 @@
+===================================
+Internet of Things
+===================================
+
+
+
+  :Author: Andrea Manni
+  :Copyright: GFDL
+  :Version: 1.2
+
+Livello: Avanzato.
+Utilizzare l'ecosistema Arduino in Ambiente di rete appoggiandosi sui chip ESP8266 a basso prezzo per connettere i progetti Arduino in WiFi. Presentati i protocolli di rete e le dinamiche web associate alla gestione dei dati si costruira' una piccola stazione meteo a basso consumo. 
+
+La durata del corso e' ~20.
+
+* Docente Andrea Manni, 
+* Quota di iscrizione 60euro.
+
+
+.. contents:: Indice degli argomenti
+
+Dettaglio Argomenti
+====================
+
+In preparazione.
+
+Materiali 
+=======================
+
+Tutti i materiali necessari al corso saranno disponibili nel laboratorio durante le lezioni.
+
+Per gli studenti che vogliono esercitarsi a casa sono stati predisposti un `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 (i kit base saranno disponibili per l'inizio del corso fino a esaurimento scorte) 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 esericizi preconfigurati. Questo permettera' agli studenti di avere a disposizione fin da subito anche a casa un ambiente di sviluppo pronto all'uso per dedicarsi agli argomenti del corso.
+
index 945bb64e4c2147c21fddd24c063e60f5bde21bf3..a57d525b635b5f7deedd5c16d774a4fcbd97cdd4 100644 (file)
@@ -48,17 +48,25 @@ Fare un esercizio blink con pot che modifica pausa: spiegare uso di magic number
 - http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM
 PWM, fatto con intervalli di un millisecondo, cenno a delayMicroseconds(), introdurre i PWM automatici: base con un byte per luminosita': cicli iterativi. Partire da while, variabile contatore e iteratore, e poi fori ternario.
 
+Elettronica: resistivity p (Greek: rho) Resistenza * (Area / lunghezza)  - Conductivity sigma 1/p : serve per fare una resisteza da ~5k con due da 10 in parallelo.
+
 Fare pitch follower con calibrature.
 Input analogico: sensore di luminosita'. Lettura valori, calibrazione manuale, calibrazione automatica, map(), constrain(), smoothing. Sketch basic/analog_input[3,4,5,6]. trasformazione input -> output analogico di un piezo: poibilita' di percepire soglie e range non percepibili con i sensi umani. Smothing (semplificato), claibrazione automatica.
 
-Elettronica: resistivity p (Greek: rho) Resistenza * (Area / lunghezza)  - Conductivity sigma 1/p
+- Introdurre gli operatori comparativi (>,<,=!)  e booleani (&&, ||, !): 
+Stato di un bottone: esercizi vari e operatori AND.
+
+- Array: knight rider - cicli loop
+
+- Piezo e bottoni in pull-up per keyboard
+Descrizione del funzionamento, melodie di esempio (mario tunes!).
+Arduino dev: utilizzare sketch su piu' tabs (include): percorsi <> ""
 
 Tipi di dati: bit e int e long, signed and unsigned, long
 - http://www.ladyada.net/learn/arduino/lesson4.html
 Input analogico per impostare il PWM.
 
-- Introdurre gli operatori comparativi (>,<,=!)  e booleani (&&, ||, !): 
-Stato di un bottone poi  Debouncing: grafico http://www.ladyada.net/learn/arduino/lesson5.html
+Debouncing con millis: grafico http://www.ladyada.net/learn/arduino/lesson5.html
 
 Eventuale: fare il circuito Knight rider con 6 led per pratica con for loop, magai con un solo resistor. http://arduino.cc/en/Tutorial/ForLoop
 
@@ -84,12 +92,6 @@ Programmazione: vedere come stiamo con operatori e data types.
 Direttive per preprocesor: # define - # if defined - per DEBUG
 Usare seriale per aritmetica.
 
-Input: bouncing e state: elettronica digitale. (serie di esercizi in "basic")
-http://www.ikalogic.com/de-bouncing-circuits/
-(guardare arduino for dummies)
-Analog input con un potenziometro.
-Usare map() per ricalibrare una lettura.
-Usare map() e poi una diffusuione *4 oer mappare un range 1024 -> 256 su PWM.
 
 
 Seriali: scrivere e debugging. Interpretae input / caratteri da seriale per accendere un LED.
@@ -138,4 +140,4 @@ Usare un digitalWrite() per fornire 5v a un sensore (es fotocellula) solo quando
 Memoria: controllare l'utilizzo della memoria con la libreria MemoryFree.
 Usare constanti e bytes, rimuovere chiamate a Serial.println() (500bytes) con #IF DEBUG . Programmare arduino senza il bootloader salva un paio di KB.
 
-
+Arduino in potenza, slides: http://www.maffucci.it/2015/04/14/on-line-le-slide-alfabeto-di-arduino-lezione-5/
diff --git a/lezioni/linux_base.rst b/lezioni/linux_base.rst
new file mode 100644 (file)
index 0000000..f8478b7
--- /dev/null
@@ -0,0 +1,26 @@
+===================================
+Linux base per amministratori
+===================================
+
+
+
+  :Author: Andrea Manni
+  :Copyright: GFDL
+  :Version: 1.2
+
+Livello: base
+Imparare ad utiliare gli strumenti a riga di comando per la gestione di sistemi operatici Gnu/Linux in ambiente di rete. Gli studenti lavoreranno sui comandi, installazione e gestione del sistema operativo in locale e remoto, istallazione dei servizi di base (SSH, condivisione file, WebServer, posta elettronica base) al fine di acuisire dimestichezza e operativita' necessari ad utilizzare il sistema anche per lo sviluppo e il making.
+
+La durata del corso e' 40 ore (oppure si puo' spezzare in moduli da 20 ore).
+
+* Docente Andrea Manni, 
+* Quota di iscrizione 60euro.
+
+
+.. contents:: Indice degli argomenti
+
+Dettaglio Argomenti
+====================
+
+In preparazione.
+