Category Archives: Blog

Corso base arduino 2014 – Lucca

Il corso

Con arduino è possibile realizzare progetti di domotica o automazione in generale. Può essere utilizzato per controllare le luci di casa così come come l’impianto di irrigazione o un robot.

Le caratteristiche principali che distinguono questa scheda sono il suo prezzo contenuto e la semplicità con cui è possibile programmarla, per questo ha conquistato il cuore di tantissimi, hobbisti ma anche artisti e artigiani.

Programma

  • Introduzione alla programmazione su Arduino
  • Circuiti elementari
  • Acquisire segnali digitali
  • Acquisire segnali analogici
  • I sensori, introduzione ed esempi
  • Utilizzare sensori digitali ed analogici
  • Controllare led ed attuatori

Destinatari

Il corso è rivolto alle persone che per hobby, studio o interesse professionale sono appassionati di elettronica, domotica, automazione, informatica e robotica

Obbiettivi

Essere in grado di realizzare in autonomia semplici progetti:

  • dalla scelta e reperimento dei componenti;
  • alla ricerca di documentazione;
  • allo sviluppo del software;
  • fino alla realizzazione del prototipo;

Durata e costo

Il corso ha una durata di 20 ore ed un costo di 75 €

Iscrizione

le iscrizioni sono chiuse;

GeT 1.9.3 – beta 1

get
Oggi ho deciso di rilasciare la prima versione beta verso la definitiva versione 2.0 di GeT.

Questa release oltre a correggere diversi bug del programma è stata accompagnata dal rilascio della prima versione della documentazione consultabile all’indirizzo: documentazione.gestionaleturni.it

Molto lavoro di sviluppo è stato rivolto alla correzione di tutti piccoli bug riscontrati durante l’utilizzo da parti delle associazioni che già usano GeT e per incrementare le prestazioni.

Inoltre è stata introdotta la possibilità di visualizzare una versione stampabile del calendario.

Un breve riassunto delle modifiche apportate è il seguente:

  • Incremento delle prestazioni di navigazione del calendario
  • possibilità per l’utente di recuperare o modificare la propria password
  • Aggiunto filtro alle statistiche in base alla mansione svolta ed il gruppo di appartenenza
  • Aggiunti bottoni per scorrere di un solo giorno
  • Versione stampabile del calendario

Nelle settimane successive non verrano introdotte ulteriori novità e si provvederà ad effettuare un lavoro di bug-fixing fino al rilascio della versione 2.0

I sorgenti sono disponibili su github:

https://github.com/luk156/get2/releases/tag/1.9.3

Maggiori informazioni:

www.gestionaleturni.it

Stampante 3D in rete

In occasione dell’edizione lucchese del Linux Day 2013 ho presentato una possibile applicazione di Cosino alla stampa 3D, rendendo con un unica board la stampante RepRap I3 del Luccalug accessibile via rete.

Cosino

cosino

Cosino è un sistema embedded chiavi-in-mano(TM). Nato per semplificare al massimo lo sviluppo di nuovi prototipi, viene venduto con preinstallata Debian/Wheezy.  Un sistema Debian/Linux permette infatti di sviluppare applicazioni, anche complesse, basandosi su delle librerie ed applicazioni già presenti nel sistema o mediante script.

Il concetto di Cosino è semplice: un modulo di base che mantiene il cuore del sistema e poi una serie di estensioni che permettono di avere tutte le periferiche di cui abbiamo bisogno.

In sintesi è possibile usare tutto il software e l’hardware Arduino Mega 2560 e, in più, avere accanto un sistema Debian GNU/Linux pronto all’uso. Quindi, ad esempio, se la nostra applicazione Arduino aveva bisogno di un PC esterno per funzionare, ora la possiamo portare tutta all’interno di un’unica macchina che consuma meno di 3 Watt senza utilizzare un ulteriore hardware come il Raspberry.

Con Cosino si possono evitare i costosi shield per aggiungere il supporto LAN, WiFi, USB o sdcard al sistema Arduino, la connettività e la memorizzazione vengono date dalla parte Linux senza consumare le risorse della CPU del Mega 2560.

mega_2560La versione di Cosino con estensione Mega 2560 ha a bordo:

  • CPU Atmel AT91sam9G35 (400MHz)
  • 128MB RAM DDR2
  • 1 console seriale via connettore USB device
  • 1 porta ethernet 10/100
  • 1 porta USB host e 1 port USB device
  • 1 slot microSD
  • 1 UARTs RS485.
  • 1 USB host (full speed), 4 ADC, 4 PWM, 8 GPIO, 1 prta seriale, I2C, SPI (su connettore di espansione).
  • 1 sistema Arduino Mega 2560-Compatible

Utilizzando l’estensione mega 2560 che permette di avere a dispozione un arduino mega è stato possibile collegare la diffusa scheda di controllo per la stampa 3D RAMPS.

OctoPrint

logo-octoOctoprint è un software di stampa scritto in python che permette di controllare la propria stampante tramite un interfaccia web.  Quest’ultima caratteristica permmette di controllare la propria stampante attraverso un qualsiasi dispositivo connesso alla propria rete locale o se opportunamente configurato attraverso  internet. Al fine di raggiungere questo obiettivo, OctoPrint fa un uso massiccio delle più moderne  tecnologie web come AJAX e HTML5.

OctoPrint è stato sviluppato per essere eseguito su piccoli dispositivi embedded come ad esempio il popolare RaspberryPI e puo essere facilmente installato anche all’interno di Cosino.

Cosino si occupa di eseguire OctoPrint e di comunicare con l’arduino contenuto sulla shield che gestisce la stampante.

cosino-i3

Nelle prossime settimane pubblicherò un articolo più tecnico sulla procedura di configurazione.

Minimo!

Minimo è un semplice gestionale per chi ha la partiva IVA (anche dei minimi), che ho sviluppato per esigenza personale e che ho deciso di rilasciare con licenza GPLV2.

Minimo attualmente ha le seguenti funzioni:

  • anagrafica clienti
  • elenco fatture
  • stampa delle fatture su modello .odt
  • gestione di imposte e ritenute

I sorgenti sono distribuiti tramite gitHub e raggiungibili al seguente indirizzo: https://github.com/luk156/minimo

Demo online:

è disponibile una demo all’ indirizzo minimo.luccalug.it

user: luccalug

password: luccalug

Screenshot:

 

 

get 1.9.2

Un’altro importante aggiornamento per il software di gestione dei turni GeT.

La nuova versione oltre a diversi bug risolti offre le seguenti novità:

  • Gerarchia tra le mansioni
  • Gestione di più calendari
  • Possibilità di aggiungere un commento ad una disponibilità
  • Filtro per la visualizzazione dei giorni del calendario
  • Promemoria via E-mail ai volontari che devono effettuare un turno
  • Esportazione in .csv della tabella Persone

Gerarchia tra le mansioni

D’ora in avanti sarà possibile definire un rapporto gerarchico tra le mansioni, questo permette di creare anche dei requisiti più completi. Supponendo di definire il seguente schema:

  • Milite
    • Milite Base
      • Milite Avanzato

Imponendo su un turno il  requisito Milite Base maggiore di 2 questo sarà soddisfatto anche se sono presenti due Militi di livello Avanzato.

Gestione di più calendari

Il numero di calendari gestiti da GeT è adesso personabilizzabile e permette alle associazioni che gestiscono diversi ambiti come il servizio sanitario, antincendio, protezione civile ecc… di gestire tutti i turni con un unico software.

Get 1.9

Continua lo sviluppo di Get ed oggi è stata rilasciata la versione 1.9 scaricabile da github.

La nuova versione introduce diverse novità in particolare:

  • Completo restyling grafico
  • Introduzione delle mansioni che ogni singola persona può svolgere
  • Introduzione di requisiti multipli basati sulle mansioni per i turni

Ecco alcuni screenshot:

La versione è ancora in fase test ma entro la fine del mese è prevista la release definitiva.

corso base arduino 2012 – Lucca

Il corso

Con arduino è possibile realizzare progetti di domotica o automazione in generale. Può essere utilizzato per controllare le luci di casa così come come l’impianto di irrigazione o un robot.

Le caratteristiche principali che distinguono questa scheda sono il suo prezzo contenuto e la semplicità con cui è possibile programmarla, per questo ha conquistato il cuore di tantissimi, hobbisti ma anche artisti e artigiani.

Programma

  • Introduzione alla programmazione su Arduino
  • Circuiti elementari
  • Acquisire segnali digitali
  • Acquisire segnali analogici
  • I sensori, introduzione ed esempi
  • Utilizzare sensori digitali ed analogici
  • Controllare led ed attuatori

Costo e orari

CORSO COMPLETO – ISCRIZIONI CHIUSE

Destinatari

Il corso è rivolto alle persone che per hobby, studio o interesse professionale sono appassionati di elettronica, domotica, automazione, informatica e robotica

Obbiettivi

Essere in grado di realizzare in autonomia semplici progetti:

  • dalla scelta e reperimento dei componenti;
  • alla ricerca di documentazione;
  • allo sviluppo del software;
  • fino alla realizzazione del prototipo;

Openscad – programmare in 3D

OpenSCAD è un software per creare oggetti cad 3D. Stiamo parlando di un software libero e disponibile per Linux/UNIX, MS Windows e Mac OS X.

Esso non si focalizza sulla modellazione artistica tipica di software come Blender, bensì mantiene un legame più stretto con la progettazione CAD.

Openscad è qualcosa di simile ad un compilatore 3D che legge un file script per descrivere un oggetto e renderizzarlo. Questo garantisce un controllo completo al designer e permette di modificare con semplicità ogni passaggio nel processo di modellazione o di creare modelli definiti da parametri configurabili.

IL programma offre principalmente 2 tecniche di modellazione:

  • Geometria solida costruttiva  (vedi sotto)
  • Estrusione di perimetri 2D

Come formato di scambio per i perimetri 2D è utilizzato il formato DXF, dal quale è inoltre possibile leggere dei parametri.

Infine OpenSCAD può leggere e creare modelli 3D nel formato STL and OFF.

CSG

La geometria solida costruttiva, abbreviata spesso in CSG, è un modello di rappresentazione di oggetti 3D, di tipo volume-based. In questo approccio le forme vengono costruite a partire da una famiglia di solidi geometrici elementari, che vengono chiamati primitive, come ad esempio il parallelepipedo, il cilindro, la sfera, il cono, il toro.
Per poter costruire volumi complessi a partire da questi volumi elementari si fa uso di operazioni booleane, che derivano dalle operazioni sugli insiemi:

  • Somma (unione)
  • Sottrazione (differenza)
  • Intersezione

Il procedimento che porta ad ottenere il solido finale può essere organizzato in uno schema, chiamato albero CSG: ogni foglia rappresenta un solido e ad ogni nodo corrisponde un’operazione booleana, mentre in cima troviamo l’oggetto finale.

Un esempio

Vediamo come creare una forma primitiva, nel nostro caso sperimentiamo con un cilindro modificando vari parametri:

cylinder(h = 10, r1 = 10, r2 = 20, center = false);
cylinder(h = 20, r1 = 20, r2 = 10, center = true);

Adesso proviamo a vedere cosa succede unendo i due oggeti o intersecandoli:

union() {
  cylinder(h = 10, r1 = 10, r2 = 20, center = false);
  cylinder(h = 20, r1 = 20, r2 = 10, center = true);}

difference() {
  cylinder(h = 10, r1 = 10, r2 = 20, center = false);
  cylinder(h = 20, r1 = 20, r2 = 10, center = true);}

touchscreen!

Presso  la sede delle Croce Verde di Ponte a Moriano, che utilizza il software gestionale GeT , ho installato un pannello touchscreen al posto della bacheca che conteneva le tabelle con i turni dei volontari.

Grazie a GeT adesso i turni sono aggiornati in tempo reale dagli operatori ed possibile consultarli per qualsiasi settimana dell’anno. I soccorritori potranno inoltre segnalare la propria disponibilità ad un turno in maniera rapida ed efficente.

Per farlo ho utilizzato una ubuntu 12.04 LTS, come applicativo chromium in modalità “kiosk”. Il touchscreen utilizzato è un Acer t230h 24 pollici con tecnologia resistiva che ha permesso di completare l’installazione ad un costo molto basso.

GET 0.3.2

Ho piacere di annunciare un nuovo agiornamento del software di gestione dei turni Get.

La versione 0.3.2 è un ulteriore affinamento della versione 0.3.1, sono stati corretti alcuni bug e  migliorate funzioni preesistenti. Di seguito un elenco più dettagliato delle novità:

  • Introdotto un tasto seleziona/deseleziona tutto nella pagina delle notifiche
  • Introdotte notifiche a scomparsa in diverse sezioni del programma
  • Impossibilità per un volontario di cancellarsi o segnarsi ad un turno passato
  • Possibilità di creare turni che si ripetono nel tempo
  • Requisiti minimi per un turno configurabili al momento della creazione
  • Possibilità di definire tipologie di turno con requisiti pre-configurati

Alcuni screenshot delle novità introdotte:

Nella pagina del progetto sono disponibili i sorgenti del programma.