Corso Arduino da Zero a Hero

From PNLUG
Revision as of 19:02, 4 February 2020 by Giovanni Longo (talk | contribs) (Attrezzatura: cosa serve)
Jump to: navigation, search


Corso Arduino da Zero a Hero

Iscrizione e informazioni generali

A chi è rivolto

Il corso è rivolto esclusivamente ai soci PN LUG (clicca qui per scoprire come associarti), ed è indicato sia per chi ha già conoscenze di base, sia per chi parte completamente da zero.

Quando

Il corso verrà avviato Mercoledì 12 Febbraio 2020, le lezioni avranno cadenza settimanale e si terranno il Mercoledì sera dalle ore 19:30 alle ore 22:00.

La durata totale del corso è di 20 ore, suddivise in 8 lezioni da 2,5 ore ciascuna.

Calendario lezioni

Lezione Data Orario
1 Merc. 12/02/2020 19:30 - 22:00
2 Merc. 19/02/2020 19:30 - 22:00
3 Merc. 26/02/2020 19:30 - 22:00
4 Merc. 04/03/2020 19:30 - 22:00
5 Merc. 11/03/2020 19:30 - 22:00
6 Merc. 18/03/2020 19:30 - 22:00
7 Merc. 25/03/2020 19:30 - 22:00
8 Merc. 01/04/2020 19:30 - 22:00

Dove

Il corso si terrà presso il

Polo Tecnologico ‘Andrea Galvani’ di Pordenone (zona area break)

Via Roveredo, 20/b – 33170 Pordenone (Vedi mappa)

Sito web: www.polo.pn.it

Attrezzatura: cosa serve

Ogni partecipante dovrà dotarsi per proprio conto del seguente materiale:

  • PC portatile
  • Arduino UNO o derivati (ad es. SeedStudio Lotus Atmega328), si sconsigliano vivamente i 'cloni', che solitamente offrono una qualità non accettabile
  • Materiali tipici del Sidekick Base Kit per Arduino (presenti anche in altri kit o acquistabili a piacere separatamente):
    • Breadboard 800 point
    • Cavetti per collegamenti su breadbard
    • Resistenze 100Ohm, 220Ohm, 1kOhm, 10kOhm. 1MOhm, 10MOhm (10x ciascuna)
    • Diodo 1N4001 o similari
    • Pulsante momentaneo da breadboard
    • Leds rossi, verdi e gialli (3 o 5mm) (un paio per colore)
    • Sensore temperatura analogico NTC
    • Sensore luce analogico LDR
    • Buzzer
    • Potenziometro
    • Mini-Servo Motor SG90 (o similare)
  • Altro materiale:
    • Fotoaccoppiatori 4N35
    • Transistor N-channel IRF520
    • Stepper Motore Driver TB6612FNG
    • Alimentatore 12V (o switching) anche di recupero
  • Materiale facoltativo (se è presente è meglio, ma il docente può metterlo a disposizione temporaneamente per la lezione):
    • Relay Board
    • Display LCD I2C
    • Motore DC 5v
    • Strip led 12v
    • Neopixels
  • Materiale per la parte IoT:
    • Board basata su ESP8266 (es. Wemos D1 Mini) o su ESP32 (es. Lolin 32), si deciderà assieme al docente quale versione prima di avviare la parte di corso relativa all'IoT

Quota di iscrizione

La quota di iscrizione prevista è di € 80,00 e dovrà essere versata esclusivamente a mezzo bonifico alle seguenti coordinate:

Associazione Pordenone Linux Users Group - PN LUG
Banca BCC Pordenonese - filiale di Torre di Pordenone
IBAN: IT51J0835612501000000040189
Causale: Nome e Cognome - Quota di iscrizione a CORSO ARDUINO

Prima di procedere con il pagamento si consiglia di verificare la disponibilità di posti scrivendo una mail al seguente indirizzo promozione@pnlug.it.

Numero chiuso

Il numero massimo di partecipanti è 15.

Il corso verrà attivato con un numero minimo di almeno 10 iscritti, altrimenti verrà posticipato a data da destinarsi.

Contatti

Per chiarimenti o ulteriori informazioni si prega di inviare una mail al seguente indirizzo promozione@pnlug.it.

Contenuti

Obiettivi formativi

Percorso base/propedeutico: alla fine di questo percorso i partecipanti saranno in grado di creare i circuiti e di scrivere il codice necessario ad utilizzare i componenti elencati nei vari step.

Programma dettagliato

Arduino

  • Software utilizzati durante il corso: installazione, preview e test
  • Strumenti di lavoro e come si usano: breadboard e componenti
  • "Hello World!" targato Arduino: il blink (utilizzo di led e resistenze)
Input: i sensori
  • Pulsante: leggiamo pin digitali e gestiamo gli stati
  • Potenziometro: leggiamo pin analogici e gestiamo la taratura
  • Comunicazione seriale: apriamo un canale di comunicazione tra Arduino e PC
  • Fotoresistenza, termoresistenza, altri sensori analogici
  • Tecniche di filtraggio e pulizia segnali analogici
  • Condizioni logiche
Output: gli attuatori
  • Led: l'output di base
  • Buzzer: generiamo delle frequenze
  • Motore elettrico DC
Mappiamo sensori e attuatori
  • PWM: dimmeriamo led, cambiamo velocità a motori
  • Led indirizzabili
  • Fotoaccoppiatori e interfacciamento ad altri circuiti
  • Mosfet e strip led e altri carichi 12v
  • Relè e carichi 220v

Processing

Verranno utilizzati sensori e attuatori visti nella prima parte del percorso.

  • Grafica generativa: creare interfacce grafiche dinamiche da nerd (scrivendo codice)
  • Eventi mouse e tastiera: controllare interfacce usando eventi da mouse e tastiera
  • Interfacce grafiche: generare interfacce di input/outupt utente
  • Interfacciamento a filesystem: leggere/scrivere/caricare e gestire contenuti testo o multimediali
  • Comunicazione seriale da Arduino a Processing: usiamo dati letti dai sensori collegati ad Arduino per costruire interfacce dinamiche o semplici grafici
  • Comunicazione seriale da Processing ad Arduino: usiamo interfacce grafiche per controllare attuatori collegati ad Arduino
Comunicazione seriale di Arduino con Python

Valorizziamo Processing sopra Python perchè permette di generare interfacce in maniera molto più veloce.

Comunicazione seriale di Arduino con Node.js

Valorizziamo Processing sopra Nodejs perchè permette di generare interfacce in maniera molto più veloce.

Internet Of Things

Verranno utilizzati sensori e attuatori visti nella prima parte del percorso.

  • Come fare IoT con Arduino e con altre schede analoghe: overview
  • Connessione indiretta e connessione diretta: schede standard VS schede dotate di connettività (Arduino famiglia MKR, Boards basate su ESP*, ..)
  • Protocolli standard e più utilizzati (MQTT, OSC, HTTP, TCP, UDP...)
  • Formati di interscambio dati standard (JSON, XML, CSV) - elaborazione e creazione
  • Interfacciamento a servizi esterni e API (OpenData, Telegram...)
  • Backend e frontend per gestione dati di sensori: esempi di piattaforme opensource (Emoncms, Grafana, Adafruit IO, Arduino Cloud...)
  • Sistemi di integrazione di servizi online e locali: NodeRed
  • Integrazione con RaspberryPi & affini

Docente

Mirco Piccin

Sviluppatore, si occupa di ricerca, sviluppo, divulgazione e docenza di software e hardware rilasciati con licenza open source. Attraverso il mondo dell’hardware open source e della prototipazione elettronica approccia il design artigianale e industriale. Co-founder di Xuni, azienda che ha scelto di lavorare con l'open source, fabber di FabLab Castelfranco Veneto e co-founder del Treviso Arduino User Group, community che si interessa di hardware open source e Arduino. Partecipa attivamente a varie comunità mondiali legate a progetti liberi.