From c43a608a6daa1fbc924d407675137a2654ebb4f1 Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Sat, 19 Dec 2015 07:37:37 +0100 Subject: [PATCH] corsi --- Makefile | 11 +++ kit/five_euro | 9 ++ lezioni/.arduino_avanzato.rst.swp | Bin 12288 -> 0 bytes lezioni/arduino_avanzato.rst | 83 +++++++++-------- lezioni/arduino_base.rst | 21 +++-- lezioni/arduino_base_dettaglio.rst | 141 ----------------------------- lezioni/arduino_intermedio.rst | 80 ++++++++++++++++ lezioni/iot.rst | 35 +++++++ lezioni/lezioni | 22 +++-- lezioni/linux_base.rst | 26 ++++++ 10 files changed, 231 insertions(+), 197 deletions(-) create mode 100644 Makefile delete mode 100644 lezioni/.arduino_avanzato.rst.swp delete mode 100644 lezioni/arduino_base_dettaglio.rst create mode 100644 lezioni/arduino_intermedio.rst create mode 100644 lezioni/iot.rst create mode 100644 lezioni/linux_base.rst diff --git a/Makefile b/Makefile new file mode 100644 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 diff --git a/kit/five_euro b/kit/five_euro index 3ee8df3..043f759 100644 --- a/kit/five_euro +++ b/kit/five_euro @@ -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 index 10727bb5903c734eb65b5bdf7f76a20cc9693991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeHNyN@GD9j-g>cpo6RfJZe1G$dVVybtxBEX=Ocvt>X}>T51xIR{OHq!2p;j+&OheIS8;s#m}l(mZ|4FXu7ga* z$_d4NsbaYuPx*?+_qkCOotn2Ht$d_ppk&~kG4R}3&2y`E&1XOJ0{z%W&)(Vc^68R+ zl7W(el7W(el7W(el7W(el7T0h0h2sMz5@@QF1#2N*Qc&si(z>w87LVj87LVj87LVj z87LVj87LVj87LVj87LWe0vX@|A-}{Q|NnRwjK}}~Z~y-P>xT*XBk(%#8t`-A`@ntR zWk3Q;;8PzWWkdB;;SfUw}UW zzW`nXGT<)Y0nY>f`~V?u01tpy0RdEi=Yik6pO7B{-vsUhmp}k~8Tb+~eIFrT1OEJ8 zLXLo+y$5y!-+MP9zkQaFKRiRo?}6U|zXl!vuLEBI-T*H-H&0+}OOs0m2&4G7G$!df z&U(GBM0`Had|y_ialESAaH=)ObsfnfDJ1iiPB)*5ZO`MdK(gY@4x95?$Y*ROMHq7D zs${KZ%CJC1A~kZO;AN#EJm;$@QL%`Pvy$3mBI4ROz2X?qM&Dmt& z%J?3ICZS{5MVvoRhr|B9qdb)28;KTaT7iB?8WB0Sv=A&^$|RBTf;Fm%pRy1}*O|ZM zaV$c1bkt`@UY`xsLi%hdR+#IncqKG6u|vrQQVZYU;1UnnNCjCaSmT@-<vYOzQv(}cN(I;caxG?-@kVp%PCa+p>P%bhX{$Buc+(DMylK07u>WMU zUY|Cu%ru(SX@}m3RZOj1ZsZG}gXeqUeM_$=Td&>R>*2_C-PS3q;dlFebA{_`Hqa_j znPKNDG<+f0iCAPI&Sq)5;2eoltF~G-uhDwEt5+O&3zuy4WDJt1-YQDF|BqWXn5}lT z!G`v;f6gYS?DQ`4yed0g+TbIKk+iW}6`t)BI&QPtZZ;a8=jKkqrV&p3eKolU^ke>XjWTR3JO#sR-E3$++z`o9vEUERpTCy4z}Z>h31n z!IqWyD57#3t$8S>6a{1jGS|Dwv`9kki(QCTs|&4T?X7sh6<& zoVh(*F4z(`*w-`EosD7Dt+iaY=@r2v6BrLgv7&eYjM@^ClvCGR(L`t}DO4QLRM1q? zm0E=0MbRwf8Z$;DG*Igpw>27PE@nJAqiKevawq8RaE@lddVS_rtLMzC?-{fdQ$ivSwh}~otzdC1hq8zjpr9fp&hi5%JnYU@0w`sa-)8O+Vb-4@Z_6Ib) z)?uh^5wx*_&Y}a-TBWwK2J|+26UAh;6*5B+NLz+0ac5IFh=5mvpnQ*S7@Cj2HnpfUo^zYILQp27;ClAJc_s_ zL+q{YLL)ZA13JDKSznY&V0cVNutBCb>;`di>u7*Wk-l`;AArm@#V$y1?2}Eg_1Wjq znX(v`Z&Ya>NM(}{btrJRf8{QRg>%idN>l5|#8N*%)^;Ht?by1F9Je6@n;HSPB1S5m z3qu`hY`P)zO4Dl#Y&s;HQo({I<&baf!{89wB7w}X0?^Ql!RF@4Y2Su$BH~nOn>1Mn zC25AE#&&us=cY(Ep)t`{P?Vvi&^t3Ng9Wk_wC_wu3qqt1ijvG?_+bR%U=$sCotkAe zubAA0E*&3_5rX6KG3N88LMMEM?Ca7PZvZM32?`)j0j@9c%+2x1-O>Kr4e99x+=-DC zgxt0XWL3$Kz7lXFUa^7Q)q9})%*ZgUq$<K`5n_%66@l(CrdT zK#GBmwA-aeaUgv`1A*Q{`JQqDzwn;OuiwHrw4qGV(~1+@wnVliGvfEei!V~VOVJ^p zAp+nJ*@MmHHrIHSu!*pORK(C`_ e un `Kit da 25euro `_ . 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 `_ e un `Kit da 40euro `_ . 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/arduino_base.rst b/lezioni/arduino_base.rst index bf765f0..7597284 100644 --- a/lezioni/arduino_base.rst +++ b/lezioni/arduino_base.rst @@ -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 `_ e un `Kit da 25euro `_ . 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 `_ e un `Kit da 40euro `_ . 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 `_ e gli `schemi elettronici `_ +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 `_ e gli `schemi elettronici `_ 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 index 17f9eb4..0000000 --- a/lezioni/arduino_base_dettaglio.rst +++ /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 index 0000000..5a8c1d0 --- /dev/null +++ b/lezioni/arduino_intermedio.rst @@ -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 `_ e un `Kit da 40euro `_ . 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 index 0000000..e066795 --- /dev/null +++ b/lezioni/iot.rst @@ -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 `_ e un `Kit da 40euro `_ . 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. + diff --git a/lezioni/lezioni b/lezioni/lezioni index 945bb64..a57d525 100644 --- a/lezioni/lezioni +++ b/lezioni/lezioni @@ -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 index 0000000..f8478b7 --- /dev/null +++ b/lezioni/linux_base.rst @@ -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. + -- 2.39.2