lunedì 20 settembre 2010

Oggi mi sono divertito con Ethernet Shield

Anche se un po' in ordine sparso rispetto al progetto iniziale, oggi ho provato la Ethernet Shield.
Lo scopo per il progetto è quello di utilizzarla:
  1. Archiviazione dei dati all'interno della Micro SD per avere un log dell'apparecchiatura;
  2. Utilizzare la porta Ethernet per configurare le impostazioni principali;
La scheda è stata acquistata sul sito di Robot Italy al prezzo di €35.90. Si tratta della nuova versione che rispetto alla precedente è compatibile con Arduino Mega e ha una scheda micro SD e presentata anche sul sito ufficiale di Arduino dove vengono presentate le caratteristiche:

Per quanto riguarda le risorse direi che quanto riportato su queste pagine e sufficiente par partire in particolare le librerie ed il tutorial Adafruit non devono essere persi.

venerdì 17 settembre 2010

Vista d'insieme delle funzionalità.

Per meglio avere un'idea di quello che con OpenReef vorrei controllare ho creato una pagina riassuntiva con tutto quello che mi viene in mente in modo da dare una visione d'insieme del progetto. La pagina è un blocco appunti in continua evoluzione.



lunedì 13 settembre 2010

E' l'ORA!!

Uno dei primi componenti da gestire è il modulo RTC che servirà per gestire l'ora di esecuzione dei vari programmi.
Il modulo RTC è solitamente dotato di una batteria che consente il mantenimento aggiornato di data e ora anche in mancanza di alimentazione, questo per non doverla reimpostare tutte le volte. Ovviamente è possibile prevedere sul programma anche la possibilità di impostare l'ora in manuale, ma dato che l'operazione può essere fatta una volta da codice non andrei per il momento a gestirlo nella prima versione del codice.
Per quanto riguarda l'acquisto il prodotto può essere reperito già assemblato o se si padroneggia il saldatore può ovviamente essere autocostruito. Io ho preso il modulo con il Chip DS1307 e ho cercato come poterlo utilizzare.

Le prime informazioni reperite sono direttamente dal sito della SparkFun che rimandano ad un Tutoria di Arduino di Johan Vaughters dove spiega molto chiaramente il funzionamento con arduino del Chip DS1307 e non è stato necessario cercare altro anche se è possiblie trovare altre informazioni.
La funzione principale e la getDateDs10307 che recupera tutte le informazioni di data e ora; l'unica cosa che ho implementato è la variabile mil_time (intesa come ora militare) e la fullYear.
La prima ha la funzione di rendere più semplici i confronti con le ore mente la seconda è solo per una rappresentazione grafica migliore.

Dove acquistare:
Per l'acquisto volendo preferire i siti italiani e possibile trovarlo qui Modulo REal Time Clock DS1307 Euro 21.60 ma lo stesso è ovviametne disponibile anche fuori Italia.

venerdì 3 settembre 2010

Display e tastiera .... l'ora di pensare al menu

Come tutti i controller per acquari che si rispettano per poter interfacciarci con il nostro ARDUINO, oltre che poterlo programmare da PC, è essenziale disporre di un piccolo display per la lettura delle temperature, del ph oppure delle varie cose che risultano accese. Oltre al display è necessaria anche una pulsantiera per poter programmare o selezionare determinate funzioni.
Anche qui sbagliando s'impara ....
Subito come primo acquisto ho pensato ad un bel display grafico 128x64 ma non avevo fatto bene i conti con quanti pin andava ad utilizzare e sopratutto alla complessità per la programmazione e quindi dopo essere riuscito a fare girare qualche sketch l'ho riposto sul cassetto e destinato ad una seconda implementazione.

Per partire decisamente meglio un display 20x4 con possibilità di controllarlo con seriale oppure con I2C e sopratutto ha anche la gestioen di un tastierino numerico 3x4 ... questa sicurametne fa al caso nostro e la sua implementazione non è stata complicata.

Qui il foglio con la prima bozza di come è previsto il menu, in particolare
- Caricamento e verifica di tutte le periferiche;
- Il menu delal gestione normale con le principali misurazioni
- Menu principale per accedere ai sottomenu
- Sottomenu per le regolazioni
- Visualizzazione lo stato dei relay
- Altre rilevazioni secondarie
Quindi a questo punto è stato necessario abbozzare un menu che gestisca ovviamente partendo dalla prima schermata fino ad arrivare a tutti i sottomenu con i tasti necessari da premere per poter accedere alle varie funzioni.


giovedì 2 settembre 2010

I primi componenti. Il cervello ..

Come prima cosa mi sono dovuto procurare il cervello che in un primo momento fu costituito da un ARDUINO modello DUEMILANOVE per poi passare ad un ARDUINO MEGA per il vantaggio di poter controllare direttamente un maggior numero di input/output.
Non riporto il dettaglio di tutte le caratteristiche del prodotto che possono essere trovate nel sito ufficiale www.arduino.cc e al quale vi rimando per recuperare tutte le informazioni, in particolare vi suggerisco di iscrivervi al FORUM dove potrete sicuramente avere qualche aiuto da persone più esperte e sfogliare il PLAYGROUND dove ci sono tonnellate di informazioni su come usare il controller.

Dove acquistarlo?
Io personalmente ho acquistato il tutto su www.futurashop.it dove se ci si fa anche l'abbonamento alla rivista si riesce a recuperare facilmente il costo avendo uno sconto del 10% sui prezzi a catalogo. Ho acquistato la scheda con lo starter kit, una serie di piccolo laboratorio con componenti per iniziare e capire come funziona la macchina.
Un altro rivenditore dove mi sono trovato bene e che merita di essere visitato è www.robot-italy.com. Se poi si vuole c'è la possibilità di acquistarlo su Ebay o da fornitori stranieri ma state attenti a due cose in particolare, la prima è che essendo una piattaforma free ci sono anche dei cloni marchiati in altro modo, il funzionamento è pressoché identico ma possono cambiare alcune caratteristiche e la seconda cosa cosa invece, è il fatto che se si acquista all'estero si può rischiare di dover pagare la tassa d'importazione se il pacchetto è voluminoso. Ci sono anche prodotti con il made in china ed il costo è sicuramente allettante. Io i miei due per il momento sono entrambi marchiati ARDUINO e vengono dall'Italia.

Definire il progetto. Chi ben comincia è a metà dell'opera ...

La prima cosa da fare è quella di cercare di definire cosa dovrebbe fare il "nostro" controller, quali sono le funzioni che vogliamo sviluppare e i controlli da monitorare, il che servirà anche come esercizio per capire se non sia il caso di prendere un prodotto commercializzato.

Sicuramente guardando sotto il nostro acquario la prima cosa a cui punteremo sarà quella di poter avere a disposizione una infinità di "prese" e magari tutte controllabili per poterne gestire al meglio l'accensione e lo spegnimento.

Alcune di queste funzioni avverranno sulla base dell'impostazione di alcuni orari, tipo il controllo dell'illuminazione, mentre altre saranno gestibili sulla base di misurazioni, livelli temperatura o altro.

Per controllare il tutto sarà necessario implementare un generoso display oltre ad una tastiera per poter interagire con il dispositivo.

Poi per non essere da meno dei prodotti commercializzati si potrebbe pensare di implementare un datalogger per archiviare le informazioni, una scheda GSM per inviare messaggi di allarme o stato del dispositivo oltre che ad una scheda di rete per interfacciarsi con il PC o rendere disponibili i parametri. Ma tutto questo sicuramente in un secondo momento.

Se siete convinti che la realizzazione di tutto questo possa avere un costo inferiore rispetto all'acquisto di un prodotto da commercio fate meglio i conti e contate anche il tempo che si impiegherà per farlo ma se siete spinti dal fatto di poter dire che "questo" è il vostro controller continuiamo insieme.

Cosa vorrei facesse il mio OPENREEF:
  • CONTROLLO ACCENSIONI E SPEGNIMENTI nel dettaglio per cominciare:
2 Pompe di mandata da fare funzionare alternativamente
2 Lampade HQI da gestire separatamente
2 Gruppi luce T5 con possibilità di funzionalità alba e tramonto
1 Pompa alimentazione skimmer
2 Pompe ricircolo skimmer
1 Pompa ricircolo REA
1 Sonda CO2
1 Riscaldatore per la gestione della temperatura della vasca
1 Luce lunare con calcolo della fase e quindi l'intensità della luce
2 Elettrovalvole per il rabbocco dell'acqua in vasca e per l'acqua per il cambio
1 Pompa per il cambio dell'acqua in vasca
.......
l'appetito poi vien mangiando

  • SENSORI E RILEVAMENTI
2 Sonde temperatura in vasca
1 Sonda in sump
1 Sonda temperatura in vasca di cambio acqua
3 Sonde livello per livelli acqua
2 Sonde PH

  • DISPLAY E TASTIERA PER GESTIONE MENU
indispensabili

Bhe dato che con tutte queste cose non mi sembra esserci in commercio sono costretto
a costriurmelo se ci riesco.

E siccome il lavoro da fare è tanto io comincio.

Si parte .... ma da dove? Dalle presentazioni direi.

Questo blog è per condividere con tutte le persone, che come me hanno la passione per l'acquariofilia, e navigando alla ricerca di una soluzione per la gestione della propria vasca si sono imbattuti sulla possibilità di farlo con ARDUINO.
In particolare è rivolto a tutte quelle persone che non hanno tanta confidenza con l'elettronica o la programmazione ma come il sottoscritto hanno però il piacere di provare cose nuove e mettersi sempre alla prova.
Nella speranza di riuscire a condividere tutte le informazioni ed il materiale raccolto, oltre che ovviamente alle mie esperienze dirette non ci resta che cominciare dato che il lavoro da fare è .... ARDUINO