![]() |
anch'io seguo...
|
seguo pure io pure io! #28
|
io l'ho ordinato dovrebbe arrivarmi tra un paio di settimane...
|
Sono 2anni che cerco delle info maggiori....ma trovo ben poco
Dunque molto interessante by... Gino |
se ci metti qualche foto e passaggi di costruzione ci facciamo un bel articolo per il portale
|
Ciao, comincio io, allora, nella speranza di suscitare interesse e che qualcuno suggerisca a me come andare avanti...
Lista della spesa:
La realizzazione del mio aquacontroller (v2.1 al momento) mi è costata circa 4 mesi di lavoro nel tempo libero, per prove, fallimenti, vittorie, tutte fatte "offline" mentre acquistavo le parti della vasca e prima della sua partenza. Ora è in funzione da 6 mesi, durante i quali non sono mancati aggiornamenti e modifiche. La versione iniziale non consentiva di modificare gli orari, che andavano impostati hard-coded via USB, ho cambiato ben tre diversi sensori di temperatura prima (LM35, termistore e poi DS18B20) prima di trovare quello migliore, ho fatto l'esperienza degli interruttori galleggianti, poi abortita a causa della scarsa affidabilità...insomma c'è sempre stato da divertirsi. Nella realizzazione del circuito ho cercato di collegarmi ove possibile ai pin di arduino con un connettore maschio, ma in alcuni casi, ad esempio per Vcc e GND che sono comuni a molte parti, ho preferito saldare un filo direttamente all'Arduino e poi utilizzare del morsetti internamente alla scatola. Nella versione 3 userò maggiormente le saldature per problemi logistici (poco spazio rimasto libero con lo shield TFT) La realizzazione è "semplice", sotto una immagine a pancia in giù: http://s7.postimage.org/f7767fmdj/IM...028_221934.jpg 1. lo shield LCD si monta sull'Arduino, non si può sbagliare 2. il RTC si collega a Vcc, GND e ai pin SDA e SCL che nel Mega sono i pin digitali 20 e 21. 3. Si sceglie poi un pin per il sensore di temperatura (io ho scelto il 19) e ci si collega il segnale, mentre gli altri due fili del sensore vanno collegati a Vcc e GND. Attenzione a mettere una resistenza di pullup da 4,7k tra Vcc e segnale. Io l'ho saldata direttamente sui fili in prossimità del morsetto interno. http://s17.postimage.org/o0meluoi3/ds18b20.jpg 4. Il sensore di distanza va collegato a Vcc, GND, e il segnale ad un pin analogico, io ho scelto il 15. Durante i miei test ho evidenziato alle volte una certa variabilità nella misurazione e ho inserito un piccolo condensatore tra Vo e GND, ma poi l'ho tolto, e compenso via codice l'eventuale variabilità, andando a considerare solo due letture consecutive prima di attivare il rabbocco. http://s13.postimage.org/prmw3jeib/sharp.jpg Quando l'ho acquistato speravo che il sensore ad infrarossi vedesse la superficie dell'acqua. Prove empiriche suggeriscono che così non funziona, e allora ho dovuto ricorrere ad un galleggiante. Ho montato il sensore su un tubo di pvc attaccato alla parete della sump, e all'interno c'è un galleggiante (un tappo di silicone) che viene letto dal sensore. http://s13.postimage.org/vq0pdrxgz/I...028_223242.jpg 5. Armarsi di molta pazienza e collegare tutti i pin per il pilotaggio dei relais al connettore VGA. IO ho usato sull'arduino i pin da 39 a 53, comodi per la posizione. Ho saldato gli 8 fili ad un connettore maschio, con una striscia di basetta millefori per dare stabilità e poi l'altro capo alla fila superiore e inferiore del connettore VGA. GLi altri due collegamenti sono per Vcc e GND, in totale 10 pin collegati al connettore. 6. Stessa procedura di cui sopra per la connessione del banco relais al connettore che collegherà la scatola con le prese. La scatola stessa va "bucata" sul fondo per poter alloggiare il banco relais, perchè altrimenti non si chiude. Si buca poi a misura (io l'ho fatto sopra) per il passaggio del connettore e si montano le prese collegandone ciascuna ad un relais (moolta pazienza qui) http://s9.postimage.org/8s9pj2y6z/IM...028_223103.jpg Serve anche una apertura per l'ingresso dell'alimentazione al banco relais. Questa alimentazione, che io fornisco con un alimentatore USB, potrebbe non servire utilizzando direttamente quella presa dall'Arduino. Esiste un jumper sul banco relais che sceglie se avere alimentazione esterna o usare quella dell'arduino, ma mi sono accorto che usando l'arduino l'assorbimento di corrente era eccessivo e mi si scaldava troppo. Da qui la scelta di una seconda alimentazione esterna. http://s15.postimage.org/wkadxdh2v/I...028_223056.jpg 7. Io ho anche realizzato una piccola scatola su misura per il mio controller. L'ho fatta utilizzando del Forex (regalatomi da un amico tipografo) da 5mm. Facile da tagliare con un taglierino, leggero e resistente. http://s14.postimage.org/kp3q3b6x9/I...028_222536.jpg http://s10.postimage.org/ic9momww5/I...028_223040.jpg Veniamo ora al software. Arduino si programma con la sua applicazione. Io uso l'applicazione arduino 0023, scaricabile gratuitamente. Nel mio software faccio largo uso della libreria Alarm, usata per settare tutti gli orari di accensione/spegimento. Servono poi altre librerie aggiutive per la gestione dei componenti esterni: codice:
#include <LCD4Bit_mod.h> //gestione del display Nella parte iniziale del codice troviamo tutte le variabili e le costanti utilizzate dal programma. Sono principalmente di quattro categorie:
la funzione setup() inizializza le variabili recuperandole dalla memoria EEPROM. Alla prima partenza mette dei valori di default. Il ciclo loop() pilota il menu: attende input dall'utente sul tastierino e consente la navigazione tra le funzioni disponibili, invocando poi specifici sottomenu alla bisogna. Abbiamo poi una serie di funzioni che settano i flag vari per l'accensione o lo spegnimento dei dispositivi, e che sono invocate dagli allarmi oppure dalle funzioni manuali. La funzione SetStatus() viene richiamata ogni 10 secondi, fa le verifiche sullo stato dei sensori (termico e distanza) e imposta i relativi dispositivi, dopodichè a second adello stato di tutti i flag accende o spegne il relais relativo. Il rabbocco viene avviato solo se per due volte consecutive il lettore di distanza misura un livello troppo basso, e ogni volta solo per 10 secondi. Forse così faccio male alla pompa ma sono ragionevolmente sicuro di non fare overfill. Il cooler invece viene attivato se la temperatura supera una certa soglia hi_temp e disattivato quando è sotto un'altra soglia lo_temp, per avere una sorta di ciclo di isteresi. Neon, HQI e lunari hanno solo un accensione e spegnimento al giorno, mentre le pompe al momento si switchano ogni 6 ore. Potenzialmente si potrebbe fare un sistema tipo wavemaker, accorciando l'intervallo tra SetStatus successivi, ma sinceramente non so se serve veramente e credo rovini le pompe quindi per ora soprassiedo. il programma lo potete trovare qui: http://code.google.com/p/aquacontrol...e/#svn%2Ftrunk L'ho descritto molto velocemente, ma se qualcuno vuole fare approfondimenti o ha domande specifiche sono a disposizione. Piani per il futuro ne ho tanti, sto ancora testando il corretto funzionamento del rabbocco, e ho quasi pronta la versione 3 dell'aquacontroller, con un display TFT touch. Inoltre vorrei aggiungere sensore di ph e salinità (suggerimenti??) e infine collegarlo al web per poter leggere lo stato e eventualmente pilotarlo da remoto. Ieri poi mi sono accorto che manca anche il cambio dell'ora, che ho dovuto fare riprogrammandolo da PC. |
Forse cosi sono spronato a riprovare invece di tenere Arduino chiuso nell'armadio, grazieeeee
|
Quote:
|
Azz complimenti appena arriva ci provo
|
Per le sonde Ph, ORP e altre collegabili ad arduino potresti andare su www.atlas-scientific.com che trovi anche su e-bay
|
Tutti gli orari sono GMT +2. Attualmente sono le 21:19. |
Powered by vBulletin versione 3.8.9
Copyright ©: 2000 - 2025, Jelsoft Enterprises Ltd.
Traduzione italiana Team: AcquaPortal
User Alert System provided by
Advanced User Tagging v3.2.5 Patch Level 2 (Lite) -
vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Copyright Zero Pixel Srl