Visualizza la versione completa : Acquario gestito da Arduino
borntodive
18-10-2012, 08:48
Ciao a tutti,
per prima cosa vorrei ringraziare tutti gli utenti per i contributi che danno che sono sempre fonte d'ispirazione per miglioramenti e nuove idee per le nostre vasche.
Dopo tanto prendere ho deciso di dare anche io il mio piccolo contributo.
Ho realizzato un controllore per la mia vasca (una Lido120 marina) interamente con Arduino.
Le funzioni attualmente previste sono:
Timer Luci (al momento controlla la plafoniera della Juwel, quindi solo on/off)
Timer pompe
Osmoregolatore
Simulazione correnti (accensione alternata pompe)
Controllo temperatura (riscaldatore e ventole)
Funzione Feed
Funzione Cambio Acqua
Inoltre è possibile gestire ogni elemento manualmente (quindi accendere o spegnere luci, skimmer, pompe, ecc ecc manualmente).
Il tutto è gestibile tramite uno schermo LCD e una tastiera con 8 pulsanti (4 sono per la navigazione nel menu, quindi su-giù-ok-esc e 4 per funzioni rapide, al momento ne utilizzo solo 3 cioè Luci man on/off, feed e pompa osmoregolatore man on/off).
Tramite il menù è possibile impostare i seguenti parametri:
Ora e Data
Orari Timer luci e pompe
Modalità pompe
Modalità feed
Orario Feed
Temperatura desiderata e delta attivazione
Sono previste 3 modalità per le pompe: funzionamento contemporaneo, funzionamento alternato con tempo impostabile e funzionamento alternato con tempo impostabile sempre accesso (ovvero ignora il timer per le pompe e continua il ciclo sempre).
Sono previste 3 modalità feed: manuale, ovvero manualmente tramite menù o funzione rapida vengono spente pompe di corrente, skimmer e filtro per un tempo impostabile); semi-automatico, ovvero come prima ma viene attivata anche la mangiatoia; automatica, come prima ma il tutto avviene automaticamente all'orario prestabilito.
Per quanto riguarda la gestione della temperatura si imposta una temp desiderata (ideale) e un delta per l'attivazione delle ventole o riscaldatore. Per esempio se la mia temperatura ideale è di 27 gradi e il mio delta è un grado avviene quanto segue:
se la temperatura scende al di sotto dei 26 gradi si accende il riscaldatore fino a raggiungimento dei 27 gradi, viceversa se la temperatura sale al di sopra dei 28 gradi si accendono le ventole fino ai 27 gradi. Questo per evitare l'accensione contemporanea di ventole e riscaldatore.
La funzione Cambio acqua è divisa i 2 parti: la prima spegne tutta la tecnica in vasca per permettermi di effettuare la pulizia e lo svuotamento dell'acqua, la seconda attiva una presa di servizio a cui a necessità collego una pompa per il rabbocco dell'acqua da una tanica. Al completamento del rabbocco tutta la tecnica viene riattivata.
Nel pomeriggio cercherò di postare qualche foto della mia creatura, con i dettagli della costruzione.
Siccome ho avuto qualche difficoltà nel reperimento delle informazioni e delle tecniche da utilizzare, sia per quanto riguarda la parte hardware che software, sopratutto in italiano, se qualcuno fosse interessato a info più dettagliate chiedete pure e sarò felice di rispondere.
Tengo a precisare che il bello di una realizzazione del genere è proprio quello di capire e sperimentare come funzionano le cose, quindi tendenzialmente non sarei disposto a postare l'itero codice che utilizzo per la programmazione di arduino, però ripeto che sarò felicissimo di dare le giuste "imbeccate" a chi le volesse (sempre che anche io sia in grado #17).
Grazie per l'attenzione che mi avete dedicato.
Ciaoooooooooo
bigjim766
25-10-2012, 17:02
quanto costa? lo hai realizzato tu?
cuginosgrizzo
25-10-2012, 17:58
Ciao anche io ho fatto lo stesso, con Arduino Mega e LCD 16x2. Al momento controllo:
HQI
Neon
Luci Lunari
Pompe di movimento
Ventole refirgerazione
Riscaldatore
Rabbocco
Anche io ho implementato ovviamente il controllo manuale su tutte le funzioni e la funzione Feed, ma la mia è molto più semplice della tua (disattivo solo le pompe di movimento), come controlli la mangiatoia?
Come hai sviluppato il rabbocco? inizialmente avevo usato gli interruttori galleggianti ma sono troppo poco affidabili e sto passando ad un sensore di distanza (ho visto troppo tardi il sensore ottico di livello). Mi piacerebbe anche sviluppare un sensore di salinità...hai trovato qualcosa di interessante in giro?
Ah in questo periodo, tempo permettendo, sto finendo di testare la versione 3 del mio Aquacontroller, che usa una interfaccia grafica touch screen.
ciao
zebrasoma78
27-10-2012, 00:20
complimenti, sarebbero sicuramente gradite anche delle foto da integrare all'artico....
ciao
begonia2001
27-10-2012, 05:07
Nessuno che posta foto e da spiegazioni maggiori?
Compliementi !!!
Una domanda subito per partire ... metterai a disposizione il codice oppure dato che ci hai "investito" giorni e notti terrai tutto per te?
Interessante il sistema del cambio acqua .. fai qualche foto delle valvole e del sistema che hai utilizzato?
Per i sensori ho utilizzato pure io quelli a galeggiante ma integrato con quello a distanza della scharp o una colonna di contatto con galleggiante riflettente è più che altro da allarme. Il sensore a pressione è una figata;
Avete usato anche la scheda di rete per il controllo da remoto oppure no? Per i sensorio io li ho già presi tutti fatti che comunicano i IC2, c'est plus facile!! Hanno ph redox salinità
Ciao, complimenti per la realizzazione, aspetto anch' io le foto e se cortesementi mi dici quali rele hai utilizzato. grazie
Paolo
molto interessante aspettiamo con interesse le foto e altre info tecniche
per curiosità ti sei rifornito da loro http://www.robot-italy.com/?visto che li trovo molto forniti e sono a Roma,vorrei chiederti altre cose ma sicuramente ti invierò un MP
seguo con molto interesse! :-)
superpozzy
29-10-2012, 00:19
seguo pure io pure io! #28
io l'ho ordinato dovrebbe arrivarmi tra un paio di settimane...
Ciccio66
29-10-2012, 00:51
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
cuginosgrizzo
29-10-2012, 15:05
Ciao, comincio io, allora, nella speranza di suscitare interesse e che qualcuno suggerisca a me come andare avanti...
Lista della spesa:
Arduino Mega 2560 (27€ dalla Cina)
LCD Shield + Keypad + LCD 2x16 (18€ dalla Cina)
Modulo 8 relais 5v (15€ dalla Cina)
RTC 1307 I2C x Arduino (5€ dalla Cina)
Connettori VGA 15 pin femmina da scatola (5€)
Sensore temperatura DS18B20 (8,5€)
Sensore distanza sharp GP2Y0A02YK (28€ su rs)
Alimentatore esterno per Arduino (9v DC)
Alimentatore esterno per banco Relais (5v DC, io ho usato un caricabatteria USB, piccolo e con la tensione corretta)
Saldatore, stagno ecc
fili elettrici vari (0,25mm io li ho recuperati da un vecchio alimentatore per PC)
Scatola 8 posti gewiss IP40
8 prese per la scatola gewiss
connettori maschio passo 2,5mm
resistenza 4,7k
Tubo PCV 4cm
Forex per la costruzione della scatola
Molta pazienza
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/IMG_20121028_221934.jpg (http://postimage.org/image/f7767fmdj/)
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 (http://postimage.org/image/o0meluoi3/)
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 (http://postimage.org/image/prmw3jeib/)
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/IMG_20121028_223242.jpg (http://postimage.org/image/vq0pdrxgz/)
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/IMG_20121028_223103.jpg (http://postimage.org/image/8s9pj2y6z/)
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/IMG_20121028_223056.jpg (http://postimage.org/image/wkadxdh2v/)
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/IMG_20121028_222536.jpg (http://postimage.org/image/kp3q3b6x9/)
http://s10.postimage.org/ic9momww5/IMG_20121028_223040.jpg (http://postimage.org/image/ic9momww5/)
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:
#include <LCD4Bit_mod.h> //gestione del display
#include <OneWire.h> //gestione del sensore temp
#include <Wire.h> //gestione del sensore temp
#include "RTClib.h" //gestione dell'RTC
#include <Time.h> //per gli allarmi
#include <TimeAlarms.h> //per gli allarmi
#include <stdio.h>
#include <EEPROM.h> //per memorizzare stato e orari
Nella libreria TimeAlarms ho definito USE_SPECIALIST_METHODS per avere a disposizione il metodo free().
Nella parte iniziale del codice troviamo tutte le variabili e le costanti utilizzate dal programma. Sono principalmente di quattro categorie:
costanti per la definizione dei pin i/o. Per esempio neon_pin
costanti per la posizione in memoria EEPROM dei valori. Per esempio NeonOnHourMem
flag di stato. Per esempio neon_fl
variabili globali per il funzionamento. Per esempio NeonOnHour
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/source/browse/#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
Forse cosi sono spronato a riprovare invece di tenere Arduino chiuso nell'armadio, grazieeeee
idem! ahahahh
Azz complimenti appena arriva ci provo
billykid591
31-10-2012, 11:27
Per le sonde Ph, ORP e altre collegabili ad arduino potresti andare su www.atlas-scientific.com che trovi anche su e-bay
Per le sonde Ph, ORP e altre collegabili ad arduino potresti andare su www.atlas-scientific.com che trovi anche su e-bay
Bello questo sito ;-)
cuginosgrizzo
01-11-2012, 08:40
Per le sonde Ph, ORP e altre collegabili ad arduino potresti andare su www.atlas-scientific.com che trovi anche su e-bay
interessante, grazie! Ci do' un'occhiata, certo che i prezzi non sono da realizzo, un kit conduttività è sui 150$
luciano musardo
01-11-2012, 12:16
...sei un geniaccio!!#25#25 purtroppo io ho comprato l'arduino uno ma come tanti altri ce l'ho parcheggiato nell'armadio in attesa,ma aldilà di tutto ti fa onore il fatto che tu abbia messo a disposizione di tutti noi "comuni mortali":-D il tuo tempo e il tuo sapere....cosa ormai rara.#25#25
....seguo gli sviluppi.#28
[QUOTE=cuginosgrizzo;1061901075]Ciao, comincio io, allora, nella speranza di suscitare interesse e che qualcuno suggerisca a me come andare avanti...
Lista della spesa:
Arduino Mega 2560 (27€ dalla Cina)
LCD Shield + Keypad + LCD 2x16 (18€ dalla Cina)
Modulo 8 relais 5v (15€ dalla Cina)
RTC 1307 I2C x Arduino (5€ dalla Cina)
Connettori VGA 15 pin femmina da scatola (5€)
Sensore temperatura DS18B20 (8,5€)
Sensore distanza sharp GP2Y0A02YK (28€ su rs)
Alimentatore esterno per Arduino (9v DC)
Alimentatore esterno per banco Relais (5v DC, io ho usato un caricabatteria USB, piccolo e con la tensione corretta)
Saldatore, stagno ecc
fili elettrici vari (0,25mm io li ho recuperati da un vecchio alimentatore per PC)
Scatola 8 posti gewiss IP40
8 prese per la scatola gewiss
connettori maschio passo 2,5mm
resistenza 4,7k
Tubo PCV 4cm
Forex per la costruzione della scatola
Molta pazienza
Scusa ma non capisco perchè compri un prodotto fatto in Italia in Cina http://www.robot-italy.com/it/arduino.html qui trovi tutto e di più è un negozio Italiano(a Roma)e se hai dei problemi con ciò che ricevi hai la garanzia
Cmq bel lavoro complimenti il bello di Arduino è che si può ampliare per ogni esigenza senza spendere cifre esagerate
Davide_m
01-11-2012, 14:05
seguo con molto interesse...
Solo una domanda,
Non hai usato altro che 1wire e niente I2C,Con questi in utilizzo riduci le porte e il tutto potrebbe stare su un arduino uno...
Davide80
02-11-2012, 12:00
Il giorno che qualcuno si metterà li a creare "arduini" su richiesta si farà i soldoni...
Uno come me, x esempio.. sto cercando da una vita un dispositivo a basso costo che mi gestisca il parco led a più canali alba/tramonto, non ho minimamente il tempo di mettermi a pasticciare su sto oggetto grandioso, ma il muro più grosso è la programmazione, che proprio è zero, e zero è anche il tempo da potergli dedicare...
Ho cercato più volte qualcuno che gentilmente mi assemblasse e programmasse Arduino, che poi a me, essendo dolce, servirebbero molte meno cose, mi son rivolto in alcuni grossi forum di elettronica, ma ho sempre e solo trovato saccenti maleducati ed esaltati, che alla domanda "pagando il dovuto qualcuno mi assembla e programma Arduni" risposte ottenute.. "o ti sbatti" o "ti arrangi" e allora a sti signori, andate a stendere che continuo con i cari vecchi timer meccanici #07 e mi scordo purtroppo alba/tramonto con i led
luciano musardo
03-11-2012, 16:42
Il giorno che qualcuno si metterà li a creare "arduini" su richiesta si farà i soldoni...
Uno come me, x esempio.. sto cercando da una vita un dispositivo a basso costo che mi gestisca il parco led a più canali alba/tramonto, non ho minimamente il tempo di mettermi a pasticciare su sto oggetto grandioso, ma il muro più grosso è la programmazione, che proprio è zero, e zero è anche il tempo da potergli dedicare...
Ho cercato più volte qualcuno che gentilmente mi assemblasse e programmasse Arduino, che poi a me, essendo dolce, servirebbero molte meno cose, mi son rivolto in alcuni grossi forum di elettronica, ma ho sempre e solo trovato saccenti maleducati ed esaltati, che alla domanda "pagando il dovuto qualcuno mi assembla e programma Arduni" risposte ottenute.. "o ti sbatti" o "ti arrangi" e allora a sti signori, andate a stendere che continuo con i cari vecchi timer meccanici #07 e mi scordo purtroppo alba/tramonto con i led
purtroppo concordo con te,spesso le persone "ostentano" i risultati ma poi quando si tratta di condividere spesso fanno marcia in dietro,questo è anche comprensibile dal momento che uno ci impiega serate se non giornate intere per programmare e comporre il tutto,perciò quando si trova qualcuno che ti mette a disposizione il suo tempo investito e ti dà gli strumenti per poter FARE...beh credo che sia qualcosa di veramente eccezionale.#70#70
Complimenti bel lavoro borntodive! ;-)
...e anche a te cuginosgrizzo ;-)
#70bravo molto bravo continua cosi ,dando una mano a tutti gli utenti fai cosa molto gradita
cuginosgrizzo
05-11-2012, 10:37
Ciao,
@ludwig: compro dalla cina perchè, spedizione inclusa, trovo prezzi che sono quasi la metà. Il circuito di arduino è open source, la qualità magari non è la stessa (siamo sicuri?) e posso anche avere hardware ridondato in caso di problemi...
@Davide_m: hai ragione, uso I2C, one wire e i pin digitali in uscita per pilotare i relais. In totale sono 1 ingresso analogico, i due I2C, un ingresso digitale e 8 uscite digitali. Poi c'è lo shield LCD+Keypad, che usa altri 8 pin digitali e uno analogico. Con l'arduino uno non ci stava. E la versione 3 che sto preparando ancora meno, usa la maggior parte dei pin dell'arduino mega....
Sono soddisfatto dei risultati della versione 2 che è online, tra poco metto "in produzione" la versione 3, vi farò poi avere il codice che è un po' più complicato del precedente.
ciao
billykid591
05-11-2012, 11:58
Ciao,
@ludwig: compro dalla cina perchè, spedizione inclusa, trovo prezzi che sono quasi la metà. Il circuito di arduino è open source, la qualità magari non è la stessa (siamo sicuri?) e posso anche avere hardware ridondato in caso di problemi...
@Davide_m: hai ragione, uso I2C, one wire e i pin digitali in uscita per pilotare i relais. In totale sono 1 ingresso analogico, i due I2C, un ingresso digitale e 8 uscite digitali. Poi c'è lo shield LCD+Keypad, che usa altri 8 pin digitali e uno analogico. Con l'arduino uno non ci stava. E la versione 3 che sto preparando ancora meno, usa la maggior parte dei pin dell'arduino mega....
Sono soddisfatto dei risultati della versione 2 che è online, tra poco metto "in produzione" la versione 3, vi farò poi avere il codice che è un po' più complicato del precedente.
ciao
perchè non hai usato un display touch-screen con interfaccia seriale?......io sto provando quelli dell 4D system...ottimo prodotto....anche se non economicissimo.
@cuginosgrizzo: perchè come sensore hai scelto un DS18B20 invece dell' LM35DZ?
Il primo ha lettura a 0,5°C mentre il secondo solo a 0,1°
cuginosgrizzo
05-11-2012, 13:40
@billykid591: bel prodotto quel display touch seriale, ma ho visto prezzi sui 200$, il che me li taglia fuori decisamente per il mio controller low cost.
@gep: ho provato per primo l'LM35, ma tra il fatto che andava impermeabilizzato e quello che non ottenevo letture stabili, ho rinunciato. L' altro invece plug and play, ha funzionato al primo colpo...
Inviato dal mio GT-I9000 usando Tapatalk
billykid591
05-11-2012, 14:35
@billykid591: bel prodotto quel display touch seriale, ma ho visto prezzi sui 200$, il che me li taglia fuori decisamente per il mio controller low cost.
@gep: ho provato per primo l'LM35, ma tra il fatto che andava impermeabilizzato e quello che non ottenevo letture stabili, ho rinunciato. L' altro invece plug and play, ha funzionato al primo colpo...
Inviato dal mio GT-I9000 usando Tapatalk
IL 3,5 pollici l'ho pagato 66 euro più spedizione....non poco ma nemmeno moltissimo..per LM35 io non ho avuto problemi di sorta per impermeabilizzarlo ho usato una boccettina di profumo di quelle che regalano le profumerie su cui ho inestato un tubo di plastica trasparente...sono 3 anni che è in vasca senza problemi.
IL 3,5 pollici l'ho pagato 66 euro più spedizione....non poco ma nemmeno moltissimo..per LM35 io non ho avuto problemi di sorta per impermeabilizzarlo ho usato una boccettina di profumo di quelle che regalano le profumerie su cui ho inestato un tubo di plastica trasparente...sono 3 anni che è in vasca senza problemi.
Al campioncino di profumo non avevo pensato, stavo per usare una provetta in vetro da 5ml!
Hai inserito acqua d'osmosi nella fialetta o l'hai solo sigillata col silicone?
LM35 ti da valori sballati perchè va schermato in quanto analogico, quindi molto sensibile ai disturbi e campi magnetici che lo circondano.
Altro problema che non puoi superare una certa distanza tra il componente e l'arduino.
Tutto questo invece non avviene con il ds18b20
Ma personalmente mi sono trovato bene sia con l'uno che con l'altro avendo le dovute accortenze.
E' ovvio dire che con lm35 va usata una porta analogica che in genere non la usiamo quasi mai, per l'altro invece va impegnata una digitale che puo servire ad altri scopi.
Comunque per sopperire ad una lettura sfalsata puoi integrare la lettura con la funzione di lettura media, del tipo che ogni 50 letture in un determinato tempo ti visualizza solo la lettura media che sarà quella giusta. ;-)
luciano musardo
05-11-2012, 16:41
-69-69-69 mi inchino al vostro ingegno!
....certo però potreste fare un'articolo in cui ci infarinate un pò su come programmare sto arduino...per noi schiappe ovviamente!:-D:-D:-D:-D:-D
billykid591
05-11-2012, 17:17
IL 3,5 pollici l'ho pagato 66 euro più spedizione....non poco ma nemmeno moltissimo..per LM35 io non ho avuto problemi di sorta per impermeabilizzarlo ho usato una boccettina di profumo di quelle che regalano le profumerie su cui ho inestato un tubo di plastica trasparente...sono 3 anni che è in vasca senza problemi.
Al campioncino di profumo non avevo pensato, stavo per usare una provetta in vetro da 5ml!
Hai inserito acqua d'osmosi nella fialetta o l'hai solo sigillata col silicone?
le fialette del profumo di solito hanno un incavo sul bordo superiore ho solo incastrato il tubo su di essa senza silicone nè acqua nella fialetta....confrontando le misurazioni con un termometro di precisione per uso bagni fotografici (vecchia passione).....tutto ok....
Guardate che belle porzioni di codice da analizzare ... descrizione dei sensori ecc ....
http://apduino.org/projects/apduinos/wiki/Supported_Hardware
spettacolari queste automazioni,sopratutto se frutto di passione e competenza..purtroppo nel mio caso non saprei nemmeno da dove cominciare..sn sempre stato negato dell elettronica...uff!!
cosa ne pensate di questo LCD?
http://www.ebay.it/itm/3-2-TFT-LCD-Shield-with-Touch-Screen-TF-Reader-for-Arduino-Mega-2560-R3-A132-/261143003667?pt=LH_DefaultDomain_0&hash=item3ccd560213&_uhb=1#ht_6168wt_1037
si può utilizzare al posto dei pulsanti?
grazie,
ciao
Tutti i display si possono interfacciare se si sa scrivere le librerie! Invece ii ti dico che se sei alle prime armi trova un display con le librerie già scritte e poi le modifichi in base alla tua configurazione! Questo display monta un controller ssd1289 che se non erro in giro trovi gia qualcosa!
billykid591
27-01-2013, 18:32
il display funziona abbastanza bene anche se ha un touch screen di tipo resistivo (meno sensibile di uno capacitivo).......pero' funziona sull'arduino mega 2560....e non sul normale arduino uno o 2009......o meglio ne trovi anche per quest'ultimi pero' consumeresti praticamente tutti i pin.
il display funziona abbastanza bene anche se ha un touch screen di tipo resistivo (meno sensibile di uno capacitivo).......pero' funziona sull'arduino mega 2560....e non sul normale arduino uno o 2009......o meglio ne trovi anche per quest'ultimi pero' consumeresti praticamente tutti i pin.
quindi se mi confermate prendo i seguenti:
http://www.ebay.it/itm/ATmega2560-16AU-3-2-TFT-LCD-Shield-Touch-Screen-SD-Reader-for-Arduino-2560-A085-/261033600631?pt=LH_DefaultDomain_0&hash=item3cc6d0a677&_uhb=1#ht_6793wt_1037
http://www.ebay.it/itm/EU-DC-9V-1000mA-Power-Plug-Adapter-for-Arduino-Mega-2560-1280-UNO-R3-A107-/251100276236?pt=LH_DefaultDomain_0&hash=item3a76be260c&_uhb=1#ht_1551wt_1037
http://www.ebay.it/itm/5V-1-2-4-8-Channel-Electronic-Relay-Module-For-Arduino-ARM-PIC-AVR-DSP-TTL-/300749445346?pt=LH_DefaultDomain_0&var&hash=item46061058e2&_uhb=1#ht_4835wt_1271
http://www.ebay.it/itm/Perfect-High-Quality-New-NRF24L01-2-4GHz-Wireless-Transceiver-Module-Arduino-/270835646932?pt=LH_DefaultDomain_0&hash=item3f0f1001d4&_uhb=1#ht_4396wt_1271
ed inizio a studiare :-)
Per cominciare va piu che bene, i relè sono la cosa piu semplice da far funzionare, per il display io consiglio di cominciare con un normale lcd 16x2 o 20x4 almeno è piu facile da programmare e poi una volta capito il funzionamento passare a qualcosa di piu complesso, per il wifi interfacciarlo si fa subito ma scrivere il pde ci vuole un po di esperienza poiche e piu impegnativo di quanto sembra!
Poi ovvio se vuoi iniziare da qui sei libero di farlo.
Per cominciare va piu che bene, i relè sono la cosa piu semplice da far funzionare, per il display io consiglio di cominciare con un normale lcd 16x2 o 20x4 almeno è piu facile da programmare e poi una volta capito il funzionamento passare a qualcosa di piu complesso, per il wifi interfacciarlo si fa subito ma scrivere il pde ci vuole un po di esperienza poiche e piu impegnativo di quanto sembra!
Poi ovvio se vuoi iniziare da qui sei libero di farlo.
in questo sito ci sono porzioni di codice:
http://www.mauroalfieri.it/elettronica/tutorial-relay-shield.html
pensavo di adattare codici trovati su internet... vedremo anche se non sembra facile :-)
deduco quindi che non conosci nemmeno le basi di arduino e mi sa che ti sarà difficile comprendere anche quella porzione di codice elementare che hai postato.
Io ti consiglio di comprarti almeno un libro di arduino così capirai quelle funzioni che sono scritte nel link.
comunque ti spiego cio che è scritto lì:
con la funzione define definisci un nome al pin da utilizzare in questo caso ha preso il pin 5 che è un pin digitale/PWM e lo chiama out1
quindi andrai a scrivere:
#define out1 5
quindi nel resto del codice il pin 5 si chiamerà sempre out1 il quale andrà a comandare il pin del rele con high o low
gli altri define ovvero 9 10 11 12 sono per i pulsanti che nel suo caso se premi un pulsante si attiva un rele
io solitamente non uso i digitali per i pulsanti ma gli analogici che servono a molto meno mentre i digitali hanno piu uso.
ovvio che al pin ora chiamato out1 bisogna darci una compito quindi se deve leggere i dati INPUT se deve scriverli OUTPUT, in questo caso:
pinMode( out1,OUTPUT );
indichiamo il pin 5 come scrittura, quindi dal pin uscirà un voltaggio che sarà LOW = 0v e HIGH = 5v
come vedrai di seguito il pin 5 ovvero out1 per farlo funzionare si scrive digitaWrite(nome pin, comando) nel caso del pin 5 essendo anche un PWM potremmo scrivere diversamente analogWrite(nome pin, comando) il quale comando non sarà piu LOW=0v o HIGH=5v ma per far uscire un voltaggio si mette un numero che va da 0 a 255 che sarebbe 0=0v 255=5v . Se mettiamo per esempio 127 usciranno circa 2,5v, questa funzione ci servirà piu avanti per dimmerare i led.
tornando al codice postato....
Per la funzione if - else si definisce una funzione:
if ( digitalRead(inp1) == HIGH ) { digitalWrite( out1,HIGH ); } else { digitalWrite( out1,LOW ); }
in questo caso diciamo che se premiamo il tasto 1 (inp1) il pin associato a out1 diventera HIGH e il contatto del rele si chiude e quindi si attiva, altrimenti se non tocchiamo il tasto rimane LOW quindi aperto.
Spero di essermi spiegato....non basta fare copia incolla dei pde ma bisogna capirli altrimenti ti daranno sempre errore e perderai la testa.
io sono del parere che il codice va scritto da zero e quelli di esempio che trovi in giro ti devono servire solo da spunto.
deduco quindi che non conosci nemmeno le basi di arduino e mi sa che ti sarà difficile comprendere anche quella porzione di codice elementare che hai postato.
Io ti consiglio di comprarti almeno un libro di arduino così capirai quelle funzioni che sono scritte nel link.
comunque ti spiego cio che è scritto lì:
con la funzione define definisci un nome al pin da utilizzare in questo caso ha preso il pin 5 che è un pin digitale/PWM e lo chiama out1
quindi andrai a scrivere:
#define out1 5
quindi nel resto del codice il pin 5 si chiamerà sempre out1 il quale andrà a comandare il pin del rele con high o low
gli altri define ovvero 9 10 11 12 sono per i pulsanti che nel suo caso se premi un pulsante si attiva un rele
io solitamente non uso i digitali per i pulsanti ma gli analogici che servono a molto meno mentre i digitali hanno piu uso.
ovvio che al pin ora chiamato out1 bisogna darci una compito quindi se deve leggere i dati INPUT se deve scriverli OUTPUT, in questo caso:
pinMode( out1,OUTPUT );
indichiamo il pin 5 come scrittura, quindi dal pin uscirà un voltaggio che sarà LOW = 0v e HIGH = 5v
come vedrai di seguito il pin 5 ovvero out1 per farlo funzionare si scrive digitaWrite(nome pin, comando) nel caso del pin 5 essendo anche un PWM potremmo scrivere diversamente analogWrite(nome pin, comando) il quale comando non sarà piu LOW=0v o HIGH=5v ma per far uscire un voltaggio si mette un numero che va da 0 a 255 che sarebbe 0=0v 255=5v . Se mettiamo per esempio 127 usciranno circa 2,5v, questa funzione ci servirà piu avanti per dimmerare i led.
tornando al codice postato....
Per la funzione if - else si definisce una funzione:
if ( digitalRead(inp1) == HIGH ) { digitalWrite( out1,HIGH ); } else { digitalWrite( out1,LOW ); }
in questo caso diciamo che se premiamo il tasto 1 (inp1) il pin associato a out1 diventera HIGH e il contatto del rele si chiude e quindi si attiva, altrimenti se non tocchiamo il tasto rimane LOW quindi aperto.
Spero di essermi spiegato....non basta fare copia incolla dei pde ma bisogna capirli altrimenti ti daranno sempre errore e perderai la testa.
io sono del parere che il codice va scritto da zero e quelli di esempio che trovi in giro ti devono servire solo da spunto.
grazie per la spiegazione... stasera ho iniziato a leggere una guida... più o meno fra 20 anni piloterò il mio acquario :-))
Dolphin206
28-01-2013, 09:17
deduco quindi che non conosci nemmeno le basi di arduino e mi sa che ti sarà difficile comprendere anche quella porzione di codice elementare che hai postato.
Io ti consiglio di comprarti almeno un libro di arduino così capirai quelle funzioni che sono scritte nel link.
comunque ti spiego cio che è scritto lì:
con la funzione define definisci un nome al pin da utilizzare in questo caso ha preso il pin 5 che è un pin digitale/PWM e lo chiama out1
quindi andrai a scrivere:
#define out1 5
quindi nel resto del codice il pin 5 si chiamerà sempre out1 il quale andrà a comandare il pin del rele con high o low
gli altri define ovvero 9 10 11 12 sono per i pulsanti che nel suo caso se premi un pulsante si attiva un rele
io solitamente non uso i digitali per i pulsanti ma gli analogici che servono a molto meno mentre i digitali hanno piu uso.
ovvio che al pin ora chiamato out1 bisogna darci una compito quindi se deve leggere i dati INPUT se deve scriverli OUTPUT, in questo caso:
pinMode( out1,OUTPUT );
indichiamo il pin 5 come scrittura, quindi dal pin uscirà un voltaggio che sarà LOW = 0v e HIGH = 5v
come vedrai di seguito il pin 5 ovvero out1 per farlo funzionare si scrive digitaWrite(nome pin, comando) nel caso del pin 5 essendo anche un PWM potremmo scrivere diversamente analogWrite(nome pin, comando) il quale comando non sarà piu LOW=0v o HIGH=5v ma per far uscire un voltaggio si mette un numero che va da 0 a 255 che sarebbe 0=0v 255=5v . Se mettiamo per esempio 127 usciranno circa 2,5v, questa funzione ci servirà piu avanti per dimmerare i led.
tornando al codice postato....
Per la funzione if - else si definisce una funzione:
if ( digitalRead(inp1) == HIGH ) { digitalWrite( out1,HIGH ); } else { digitalWrite( out1,LOW ); }
in questo caso diciamo che se premiamo il tasto 1 (inp1) il pin associato a out1 diventera HIGH e il contatto del rele si chiude e quindi si attiva, altrimenti se non tocchiamo il tasto rimane LOW quindi aperto.
Spero di essermi spiegato....non basta fare copia incolla dei pde ma bisogna capirli altrimenti ti daranno sempre errore e perderai la testa.
io sono del parere che il codice va scritto da zero e quelli di esempio che trovi in giro ti devono servire solo da spunto.
bella spiegazione #70
evolis78
28-01-2013, 09:48
Aggiungo che se non si hanno un minimo di basi fondamentali di programmazione C e' difficile fare qualcosa di buono
If else
While
For
Sono solo alcune delle espressioni fondamentali
Chi si vuole cimentare in questa avventura deve iniziare da li studiando un po di linguaggio C poi si aggiungono le istruzioni di arduino vere e proprie.
Io sto aspettando i pezzi ordinati in cina per completare il progetto ma sono perito informatico e di programmazio ho buone basi. Fare copia incolla non ha senso perche ogni progetto e' diverso a meno di non replicarne uno identico
Inviato dal mio GT-I9100 con Tapatalk 2
Aggiungo che se non si hanno un minimo di basi fondamentali di programmazione C e' difficile fare qualcosa di buono
If else
While
For
Sono solo alcune delle espressioni fondamentali
Chi si vuole cimentare in questa avventura deve iniziare da li studiando un po di linguaggio C poi si aggiungono le istruzioni di arduino vere e proprie.
Io sto aspettando i pezzi ordinati in cina per completare il progetto ma sono perito informatico e di programmazio ho buone basi. Fare copia incolla non ha senso perche ogni progetto e' diverso a meno di non replicarne uno identico
Inviato dal mio GT-I9100 con Tapatalk 2
Concordo pienamente!!!
si ma voi dovreste incoraggiarmi!!! #28
Marco2188
30-01-2013, 16:42
ciao. intanto complimenti per l'ottimo lavoro che hai fatto con il tuo acquario. Mi hai fatto venire voglia di provare ad automatizzare il mio che essendo dolce ha meno roba da gestire. il mio obbiettivo a breve termine è di riuscire a controllare accensione spegnimento luci e accensione e spegnimento ventole in base alla temperatura. Quello a brevissimo di controllare la sola accensione (in pratica una volgarissima presa temporizzata) le mie conoscenze di elettronica non sono molte e sono soprattutto teoriche mentre quelle informatiche sono già migliori, so programmare un po in c++. Però sono completamente ignorante di arduino. Per l'obbiettivo a brevissimo termine pensavo di usare arduino per pilotare un relè collegalo alla luce a 220v (la lampada che accende è una risparmio energetico da 23w) mediante un ciclo loop (basato sul conteggio dei secondi) così da non rendere necessario l'uso di un orologio sulla scheda.
L'idea è fattibile oppure ho detto una c*****a epica? In caso fosse possibile mi potresti consigliare cosa mi serve?
Sicuramente è molto semplice fare ciò che hai detto ma io ti consiglio d icomprarti un modulo rtc e semplifichi la funzione temporizzazione, altrimenti come hai detto tu si puo fare ma dovresti fare piu calcoli. Con l rtc invece imposti gli orari come se avessi un temporizzatore vero e proprio!
Marco2188
30-01-2013, 19:28
La mia soluzione nasceva dal fatto che essendo ignorante in arduino la soluzioneda me proprosta poteva essere più semplice. Hai qualche consiglio da darmi su cosa comprare per la gestione che avevo in mente di eseguire? senza spendere un capitale
arduino uno, scheda rele, rtc, se vuoi la sonda DS18B20 o LM35, display LCD 16x2, proto shield arduino uno
....e poi un po di pazienza!
Ciao a tutti, mi unisco anche io alla discussione così non ne apro altre,progetto davvero bello e funzionale! Volevo crearne uno anche io,ho letto molto e piano piano sto capendo qualcosa.
Se volessi creare qualcosa semplicissima solo per comandare la plafo,un classico accendi spegni,non dimmerabile,mi serve
Arduino (che modello?)
Scheda relè (a cosa serve)
RTC 1307 I2C
Volendo anche controllare la temperatura della plafo
DS18B20
Altro?
Grazie mille per l'aiuto
Io vi consiglio di lasciare perdere l'arduino UNO e di acquistare subito il MEGA perché la differenza di costo non è eccessiva e per gestire un acquario servono diverse porte IN/OUT. L'arduino UNO è ottimo per la didattica e per smanettare...
Io vi consiglio di lasciare perdere l'arduino UNO e di acquistare subito il MEGA perché la differenza di costo non è eccessiva e per gestire un acquario servono diverse porte IN/OUT. L'arduino UNO è ottimo per la didattica e per smanettare...
Importante è anche la memoria che sul mega c'è ne il doppio.
Tra gestione plafoniera, RTC, LCD grafico con libreria u8glib e telecomando con libreria irremote a me sono già partiti 40k.
billykid591
31-07-2013, 19:28
Se non avesse ancora problemi di "gioventù" passerei direttamente all'Arduino due....che a parte l'obbligo di usare gli i/o a 3,3 volt ha decisamente un bel po' di memoria e le uscite PWM si possono settare facilmente anche a 10-12 bit non solo 8 bit come sull'uno e anche sul mega (a parte forzare i timer)...
Ciao a tutti , per chi è interessato qui vendono tutte le SHIELD e i componenti per Arduino (a un buon prezzo e senza farli arrivare dalla Cina , è in Germania )
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_895_1296_2725_2726_3088&products_id=209827
il Touch della pagina funziona con la libreria ITDB02-graph16 Library
Saluti
Yuri Sabbadini
08-10-2013, 10:01
Segnalo anche una nuova scheda arduino decisamente più potente delle precedenti per chi interessato
http://arduino.cc/en/Main/ArduinoBoardYun?from=Main.ArduinoYUN
Eccolo ......è vivo ..... Si può faaareeee !http://img.tapatalk.com/d/13/10/11/ypabagy2.jpg
Sent from my iPhone using Tapatalk - now Free (http://tapatalk.com/m?id=1)
Eccolo ......è vivo ..... Si può faaareeee !http://img.tapatalk.com/d/13/10/11/ypabagy2.jpg
Sent from my iPhone using Tapatalk - now Free (http://tapatalk.com/m?id=1)
Scusate i termini ma è una figata atomica
Peccato che non ci capisco una mazza
Ciccio66
10-10-2013, 20:47
Peccato che non ci capisco una mazza
Idem.....
billykid591
10-10-2013, 20:59
Ciao a tutti , per chi è interessato qui vendono tutte le SHIELD e i componenti per Arduino (a un buon prezzo e senza farli arrivare dalla Cina , è in Germania )
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_895_1296_2725_2726_3088&products_id=209827
il Touch della pagina funziona con la libreria ITDB02-graph16 Library
Saluti
Be' i prezzi delle board arduino non sono per niente convenienti....34 euro un arduino uno e' fuori mercato lo trovi qui in italia anche in negozio sui 24 25 euro massimi (IVA compresa ovviamente)
Ciao a tutti , per chi è interessato qui vendono tutte le SHIELD e i componenti per Arduino (a un buon prezzo e senza farli arrivare dalla Cina , è in Germania )
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_895_1296_2725_2726_3088&products_id=209827
il Touch della pagina funziona con la libreria ITDB02-graph16 Library
Saluti
Be' i prezzi delle board arduino non sono per niente convenienti....34 euro un arduino uno e' fuori mercato lo trovi qui in italia anche in negozio sui 24 25 euro massimi (IVA compresa ovviamente)
Si hai ragione , ma alcuni componenti (vedi le varie SHIELD introvabili in Italia ) sono competitive , io ho ordinato LCD dal sito cinese 15 giorni fa e ancora mi deve arrivare , qui con in tutto 5 euro in più ..... Ordinato lunedì e ricevuto stamattina ..... L'arduino MEGA l'ho preso in UK per 30 euro .....
Sent from my iPhone using Tapatalk - now Free (http://tapatalk.com/m?id=1)
billykid591
10-10-2013, 21:25
Ciao a tutti , per chi è interessato qui vendono tutte le SHIELD e i componenti per Arduino (a un buon prezzo e senza farli arrivare dalla Cina , è in Germania )
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_895_1296_2725_2726_3088&products_id=209827
il Touch della pagina funziona con la libreria ITDB02-graph16 Library
Saluti
Be' i prezzi delle board arduino non sono per niente convenienti....34 euro un arduino uno e' fuori mercato lo trovi qui in italia anche in negozio sui 24 25 euro massimi (IVA compresa ovviamente)
Si hai ragione , ma alcuni componenti (vedi le varie SHIELD introvabili in Italia ) sono competitive , io ho ordinato LCD dal sito cinese 15 giorni fa e ancora mi deve arrivare , qui con in tutto 5 euro in più ..... Ordinato lunedì e ricevuto stamattina ..... L'arduino MEGA l'ho preso in UK per 30 euro .....
Sent from my iPhone using Tapatalk - now Free (http://tapatalk.com/m?id=1)
Io ho comprato il display grafico LCD dellla 4d systems che si collega con solo 4 fili ad arduino e si programma graficamente......una vera chicca ma decisamente piu' costosa di quello da te linkato
Ciao a tutti , per chi è interessato qui vendono tutte le SHIELD e i componenti per Arduino (a un buon prezzo e senza farli arrivare dalla Cina , è in Germania )
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_895_1296_2725_2726_3088&products_id=209827
il Touch della pagina funziona con la libreria ITDB02-graph16 Library
Saluti
Be' i prezzi delle board arduino non sono per niente convenienti....34 euro un arduino uno e' fuori mercato lo trovi qui in italia anche in negozio sui 24 25 euro massimi (IVA compresa ovviamente)
Si hai ragione , ma alcuni componenti (vedi le varie SHIELD introvabili in Italia ) sono competitive , io ho ordinato LCD dal sito cinese 15 giorni fa e ancora mi deve arrivare , qui con in tutto 5 euro in più ..... Ordinato lunedì e ricevuto stamattina ..... L'arduino MEGA l'ho preso in UK per 30 euro .....
Sent from my iPhone using Tapatalk - now Free (http://tapatalk.com/m?id=1)
Io ho comprato il display grafico LCD dellla 4d systems che si collega con solo 4 fili ad arduino e si programma graficamente......una vera chicca ma decisamente piu' costosa di quello da te linkato
Visto , notevole ! Ora faccio girare un po' questo ..... Se poi mi "scorreggia" il cervello un pensiero lo faccio ..... Questo sketch girasse su un LCD (oLED) sarebbe una favola
Sent from my iPhone using Tapatalk - now Free (http://tapatalk.com/m?id=1)
Qui puoi trovare tutto quello che può servire per Arduino senza andare in Cina o in Germania sono in Italia ,Roma, http://www.robot-italy.com/
Inviato dal mio GT-P5100 usando Tapatalk 4
Questa di sicuro può essere utile a qualcuno http://sensbox.wordpress.com/
Qui puoi trovare tutto quello che può servire per Arduino senza andare in Cina o in Germania sono in Italia ,Roma, http://www.robot-italy.com/
Inviato dal mio GT-P5100 usando Tapatalk 4
Conosco Robot Italy, compro da loro qualche componente, vendono anche componenti ITEAD .... Visto che alcune cose non sono disponibili , invece che comprare un pezzo li è uno la ..compro tutto la e risparmio sulla spedizione di più oggetti.
Sent from my iPad using Tapatalk - now Free (http://tapatalk.com/m?id=1)
billykid591
12-10-2013, 09:52
Se vi interessa un negozio online di componentistica (elettronica ma non solo) ha anche arduino e le shield (anche se i prezzi in questo caso non sono il massimo) e tutta la gamma degli alimentatori meanwell e prezzi decisamente allettanti date una occhiata a www.reichelt.de .....sono precisi e celeri nelle spedizioni (3 4 giorni al max esclusi festivi ovviamente) l'unico neo usano UPS come corriere (trai i migliori) che costicchia, le spese di spedizione sono infatti di 13,95 Euro.
alexbibi
22-01-2014, 09:17
Salve a tutti, vi sto seguendo in silenzio perchè sto cercando di capire prima di fare domande inutili, volevo iniziare con Arduini uno per prendere pratica e gestire piano piano il mio acquario.
Vista la crisi ho notato che su internet esistono molti cloni di Arduino e vorrei sapere da voi se sono compatibili al 100% e se vale la pena risparmiare qualche soldo su un clone, esempio:
http://www.ebay.it/itm/Nuovo-SunFounder-Mega-2560-R3-Progetto-Universale-Kit-per-Arduino-UNO-R3-Nano-/151209380693?pt=Componenti_elettronici_attivi&hash=item2334c80b55
http://www.ebay.it/itm/Starter-Kit-ARDUINO-UNO-Rev3-con-microcontrollore-ATmega328-IN-ITALIA-/231006792491?pt=Componenti_elettronici_attivi&hash=item35c913eb2b
Grazie per il Vs. contributo
Vai tranquillo la piattaforma arduino è open e gli schemi sono a disposizone di chi vuole produrli pagando qualche cosa se vogliono mettere il marchio originale.
Non ho mai trovato differenze unica cosa è che se lo prendi in cina devi aspettare un po' di più ...
Ciao ragazzi, riuppo questa discussione per chiedervi aiuto.
ho ordinato arduino mega 2560 r3, scheda 8 relè, sensore ds18b20, rtc, lcd 44780 20x4 e infine scheda ethernet (ci sarà da ridere con questa ma vedremo) :)
Sono soli due giorni che sono dietro a "studiare", vi faccio le prime domande.. Riguardo le alimentazioni, ho letto che la tensione consigliata è di 7-12V, ho in casa un'alimentatore 12V 1,2A, può andare o è meglio se ne prendo uno da 9V sempre da 1A o poco più?
Riguardo invece ai 5volt, è consigliato avere un'alimentazione ausiliaria o si può usare quella fornita dalla scheda per comandare gli 8 relè (ipotesi peggiore di 8 relè eccitati insieme).
Grazie dell'aiuto.
Yuri Sabbadini
09-03-2014, 23:39
Riguardo le alimentazioni, ho letto che la tensione consigliata è di 7-12V, ho in casa un'alimentatore 12V 1,2A, può andare o è meglio se ne prendo uno da 9V sempre da 1A o poco più?
Riguardo invece ai 5volt, è consigliato avere un'alimentazione ausiliaria o si può usare quella fornita dalla scheda per comandare gli 8 relè (ipotesi peggiore di 8 relè eccitati insieme).
Ciao!
L'arduino lavora ad una tensione di 5V ed è dotato di un regolatore di tensione integrato che abbassa la tensione di alimentazione fino a 5V, pertanto la tensione che scegli di utilizzare per alimentarlo è indifferente (purché compresa tra 6V e 20V).
Per pilotare i relè non hai nessun problema perché indipendentemente dalla tensione con cui alimenti l'arduino i pin danno comunque un'uscita a 5V.
I pin di I/O (se non ricordo male) assorbono una corrente massima di 40mA ciascuno mentre l'arduino dovrebbe essere intorno ai 50mA, nel caso peggiore con tutti i relè eccitati avresti 370mA circa di corrente, quindi anche qui nessun problema! ;-)
A me sembra che il limite complessivo di uscita sia 200 mA.
Ti consiglio di alimentare la scheda relays con un suo alimentatore.
Inoltre bisogna vedere che tipo di scheda è: fotoaccoppiatori o transistor: in ogni caso l'assorbimento sarebbe dell'ordine di circa 1 a 10 mA per canale .
Uso da oltre tre anni questa scheda, alimentata separatamente, senza aver avuto a alcun problema ne alla scheda ne all'arduino mega.
http://denkovi.com/product/4/8-relay-board-for-your-pic-avr-arm-8051-arduino-or-raspberry-pi-project-5v.html
Ciao
Renato
Yuri Sabbadini
10-03-2014, 10:58
A me sembra che il limite complessivo di uscita sia 200 mA.
Eh si hai ragione!! Da quando sono passato al raspberrypi non ho più usato l'arduino e non mi ricordavo questo limite! Grazie per avermelo ricordato! :-D
Grazie per le risposte!
Ho acquistato questi relè, in teoria hanno i fotoaccoppiatori o sbaglio?
http://www.amazon.it/gp/product/B00E370JAC/ref=oh_details_o00_s00_i01?ie=UTF8&psc=1
Per i discorsi alimentazioni, la mia paura era quella che, dando una tensione per esempio di 12V, il regolatore di tensione integrato facesse magari fatica a dissipare e scaldasse parecchio (ma non me ne intendo, è solo un'ipotesi).
Se è meglio dare 9V vedo di prenderne uno 9V 1A.
Per i 5V ausiliari, scusate l'ignoranza, ma probabilmente non ho capito bene io e me ne scuso. Per la tensione che passa nei contatti dei relè ok sarà a parte, ma quella di comando della bobina come faccio a dargli un'alimentazione esterna? Vedendo l'arduino non riesco a capire che pin accetta appunto un 5V esterno per esempio..
Per i discorsi alimentazioni, la mia paura era quella che, dando una tensione per esempio di 12V, il regolatore di tensione integrato facesse magari fatica a dissipare e scaldasse parecchio (ma non me ne intendo, è solo un'ipotesi).
Secondo me va bene da 12 volt....io comunque ne uso uno da 9 volt
Per i 5V ausiliari, scusate l'ignoranza, ma probabilmente non ho capito bene io e me ne scuso. Per la tensione che passa nei contatti dei relè ok sarà a parte, ma quella di comando della bobina come faccio a dargli un'alimentazione esterna? Vedendo l'arduino non riesco a capire che pin accetta appunto un 5V esterno per esempio..
Dal Link di amazon non si capisce la piedinatura degli ingressi.
Dovrebbero esserci due piedini per l'alimentazione della scheda; e quì colleghi un alimentatore da 5 volt.
Poi ai piedini d'ingresso degli otto canali della scheda colleghi otto digital out dell'arduino.
Importante metti in comune il GND dell'arduino con il GND della scheda.
Inoltre gestisci il normalmente aperto o chiuso dei relè a secondo dell'utenza collegata.
ad esempio:
1)pompa risalita----- normalmente chiuso
2)accensione riscaldatore ---- normalmente aperto
Così, oltre a preservare i relè, in caso di problemi nell'arduino la pompa di risalita rimane comunque in funzione mentre il riscaldatore si spegna( Così non cuoci la vasca)
Ciao
Secondo me va bene da 12 volt....io comunque ne uso uno da 9 volt
Ok allora intanto provo con quello da 12V poi se vedo che il regolatore scalda troppo ne metto uno da 9V
Per i 5V ausiliari, scusate l'ignoranza, ma probabilmente non ho capito bene io e me ne scuso. Per la tensione che passa nei contatti dei relè ok sarà a parte, ma quella di comando della bobina come faccio a dargli un'alimentazione esterna? Vedendo l'arduino non riesco a capire che pin accetta appunto un 5V esterno per esempio..
Dal Link di amazon non si capisce la piedinatura degli ingressi.
Dovrebbero esserci due piedini per l'alimentazione della scheda; e quì colleghi un alimentatore da 5 volt.
Poi ai piedini d'ingresso degli otto canali della scheda colleghi otto digital out dell'arduino.
Importante metti in comune il GND dell'arduino con il GND della scheda.
Inoltre gestisci il normalmente aperto o chiuso dei relè a secondo dell'utenza collegata.
ad esempio:
1)pompa risalita----- normalmente chiuso
2)accensione riscaldatore ---- normalmente aperto
Così, oltre a preservare i relè, in caso di problemi nell'arduino la pompa di risalita rimane comunque in funzione mentre il riscaldatore si spegna( Così non cuoci la vasca)
Ciao[/QUOTE]
Ah ok adesso ho capito, l'alimentazione ausiliaria è proprio per la scheda in sè, poi i pin di output riescono loro senza problemi ad eccitare le bobine esatto?
Grazie anche per la dritta dei gnd da mettere insieme. Mi conviene prepararmi una morsettiera per i 5V e i GND visto che saranno usati parecchio.
Ho un bell'alimentatore switching della traco power 5V 6A, decisamente sovradimensionato ma molto contenuto come spazio, magari uso questo.
Ne approfitto per chiedervi un altra informazione, sto guardando come collegare il display 20x4 all'arduino, ho trovato questo articolo in rete, molto bene fatto ( http://www.logicaprogrammabile.it/2012/gestire-display-lcd-20x4-matrice/ ), leggevo però che tramite protocollo i2c si riescono a recuperare un bel po' di pin, ma non riesco a trovare un articolo che spieghi bene se servono altri componenti e come fare per la programmazione.. avete qualcosa sotto mano da studiare per cortesia?
Grazie ancora!
Yuri Sabbadini
10-03-2014, 12:54
12V vanno benissimo, io ho un Arduino Uno accesso 24h/24h ormai da più di due anni e "lasciato a se stesso", mai un problema!
Per il resto quoto otaner.
------------------------------------------------------------------------
Qui trovi un po di info generali su LCD e Arduino http://playground.arduino.cc/Code/LCD#.Ux2aw_l5P54
Qui invece qualcosa di specifico per il protocollo i2c
http://forum.arduino.cc/index.php/topic,128635.0.html
Ne approfitto per chiedervi un altra informazione, sto guardando come collegare il display 20x4 all'arduino, ho trovato questo articolo in rete, molto bene fatto ( http://www.logicaprogrammabile.it/2012/gestire-display-lcd-20x4-matrice/ ), leggevo però che tramite protocollo i2c si riescono a recuperare un bel po' di pin, ma non riesco a trovare un articolo che spieghi bene se servono altri componenti e come fare per la programmazione.. avete qualcosa sotto mano da studiare per cortesia?
Fossi in te utilizzerei collegamenti tradizionali....il mega ha talmente tanti input e output che vedrai...avanzeranno:-))
Yuri Sabbadini, grazie per i link molto interessanti! Ma a livello di codice è più comodo usare il I2C oppure no?
otaner, hai pienamente ragione, da quello che vedo con l'i2c si passa da 6 pin a 2 (alimentazione a parte) e come dici te per un mega ne avanzano sicuramente, però sarebbe proprio un discorso di principio mio, sono un po' pignolo, se c'è la possibilità di usare 2 fili invece che 6 mi piacerebbe farlo :-))
Per capire al meglio, in questa foto ( http://farm9.staticflickr.com/8046/8115486011_a99d721319_b.jpg ) è collegata una scheda già pronta i2c lcd allo schermo? Per esempio dovrei acquistare questa? ( http://www.ebay.it/itm/Convertitore-I2C-per-display-LCD-HD44780-LED-Arduino-seriale-16X2-1602-20X4-/121216741349 )
Yuri Sabbadini
10-03-2014, 14:11
Come codice non cambia nulla se non la libreria che utilizzi.
Per capire al meglio, in questa foto ( http://farm9.staticflickr.com/8046/8115486011_a99d721319_b.jpg ) è collegata una scheda già pronta i2c lcd allo schermo? Per esempio dovrei acquistare questa? ( http://www.ebay.it/itm/Convertitore-I2C-per-display-LCD-HD44780-LED-Arduino-seriale-16X2-1602-20X4-/121216741349 )
Esatto! #70
Ottimo piano piano ci arrivo, grazie della pazienza #70
Scusa se te lo richiedo, a livello di codice cambia tanto, o una volta caricata la libreria poi è abbastanza semplice anche con i2c?
Ultima domanda poi procedo all'acquisto :-)) La scheda i2c si innesta direttamente tramite i "piedini" all LCD o devo comprare altro?
Yuri Sabbadini
10-03-2014, 14:18
Tieni però presente che se vorrai usare l'arduino anche come timer ti servirà un RTC che normalmente si collega ai pin scl e sda che tu avresti usato per l'LCD.
Ah cavolo questo non lo sapevo, pensavo che si potessero collegare più segnali e poi indirizzarli.. allora sono fregato, o meglio va a finire che uso i soliti 6 fili e amen, perchè il timer mi serve..
Yuri Sabbadini
10-03-2014, 14:26
Ho postato mentre scrivevi...
No a livello di codice cambia solo la libreria e la dichiarazione dell'LCD che nel caso di un collegamento "classico" è del tipo LiquidCrystal lcd(12, 11, 5, 4, 3, 2); dove i numeri sono i pin a cui è collegato l'LCD mentre con i2c LiquidCrystal_I2C lcd(0x20,16,2); con l'indirizzo dell'LCD e la dimensione del display (in questo caso 16x2).
Se hanno la stesso passo (probabilmente è così) dovrebbe essere possibile collegarla direttamente all'LCD.
------------------------------------------------------------------------
Ah cavolo questo non lo sapevo, pensavo che si potessero collegare più segnali e poi indirizzarli.. allora sono fregato, o meglio va a finire che uso i soliti 6 fili e amen, perchè il timer mi serve..
Sisi puoi farlo perchè ognuno ha il proprio indirizzo, mi sono spiegato male XD
Io sono un pasticcione con i collegamenti e quindi preferisco avere i cavi ben separati! :-D
Ahahah ok :-))
Praticamente basta collegare più dispositivi i2c in parallelo?
Allora vedo di comperare la schedina che ho messo prima nel link così quando arriva il tutto inizio a smanettarci, poi ci sarà da ridere! Preparatevi! #18
Tieni però presente che se vorrai usare l'arduino anche come timer ti servirà un RTC che normalmente si collega ai pin scl e sda che tu avresti usato per l'LCD.
A pin in esubero, dimentichi che usa un arduino mega:-)
A titolo esemplicativo allego layout dei mie collegamenti
http://s5.postimg.cc/eatmjv1kz/layout_arduino_mega.jpg (http://postimg.cc/image/eatmjv1kz/)
Yuri Sabbadini
10-03-2014, 17:11
Sisi infatti anch'io collegherei l'LCD senza usare i2c. Proprio per evitare di dover collegare più dispositivi a soli due pin! ;)
Grazie otaner per lo schema, molto interessante!
Per il discorso dello schermo tramite i2c vedo dai, mi piacerebbe farlo tramite seriale proprio per un dsicorso di ordine e per il fatto di tenere liberi altri pin, ma questa è una cosa che vedrò dopo che inizierò a smanettarci un po' ;-)
Invece ne approfitto per farvi una domanda, magari scema però portate pazienza, sono solo due giorni che leggo materiale.
Ho letto che la Imax che può circolare in un ingresso è di 40mA, lasciando perdere le resistenze di pull up e pull down, in alcuni articoli ho letto che bisognerebbe mettere in serie almeno 330ohm (vedi legge di ohm), in altri invece non mettono niente perchè per esempio nell'arduino mega non serve (o magari ho capito male io). Dove sta la verità?
Yuri Sabbadini
10-03-2014, 21:12
Non serve nessuna resistenza. Le nuove versioni di arduino ce l'hanno integrata basta che la inizializzi nel setup dello sketch
P.S. scusa se non si capisce cosa ho scritto ma sono col telefono e pure di fretta!
Ah ok, quindi il colpo che mi dimentico di inizializzarle flippo l'ingresso giusto? :-))
La resistenza di pull up/down invece va sempre messa?
Le resistenze vanno messe quando servono; principalmente quando si deve avere uno stato certo.
Ad esempio nel caso si collegi un pulsante senza mettere l'opportuna resistenza quando questo non viene premuto l'ingresso potrebbe dare letture falsate.
Onestamente i mie pulsanti non hanno pull- down ma problemi non ne ho riscontrati#24
Per quanto riguarda il pull-up , questo viene attivato internamente all'arduino stesso semplicemente attraverso il stringa di dichiarazione del pin. Esempio pinMode(9 , INPUT); ossia il pin 9 è un input
Se già non lo conosci guarda questo link http://playground.arduino.cc/Italiano/Tutorials#.Ux4vrj95NQH trovi di tutto diviso per tematiche ; inoltre è in italiano.
Ciao
otaner, grazie per il link, davvero interessante.. me l'ero persa la parte in italiano!
Piccolo aggiornamento, oggi mi è arrivato: arduino mega, RTD e 2 sensori di temperatura ds18b20.
Essendo la prima volta che uso arduino potete immaginare che casini che sto combinando! :-))
Per il momento sono riuscito a leggere le temperature delle sonde andandole a rinominare in base al loro indirizzo, il tutto ovviamente usando un pin unico, che figata!
Eccomi qua, primo problema..
Mi sono messo dietro a smanettare con il RTC, ho scaricato la libreria RTClib.h, ho collegato 5V e GND e poi direttamente SCL con SCL e SDA con SDA.
Ho impostato data e orario attuale da codice ma sul monitor seriale mi ritornano valori decisamente sballati, anche se i secondi vanno avanti esattamente ( data 27/15/2099 ora 0:3:34 )
Questo è il codice se essere d'aiuto. una cosa che forse vi è utile sapere è che se lasciavo serial.begin(57600) come da esempio mi uscivano simboli strani, niente a che vedere con data e ora, mettendolo al classico 9600 almeno segna qualcosa di decente:
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
void setup () {
Serial.begin(9600);
Wire.begin();
RTC.begin();
RTC.sqw(1); //0 Led off - 1 Freq 1Hz - 2 Freq 4096kHz - 3 Freq 8192kHz - 4 Freq 32768kHz
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(2014,03,12,21,24,00));
}
}
void loop () {
DateTime now = RTC.now();
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.println();
delay(3000);
}
mettendolo al classico 9600 almeno segna qualcosa di decente:
}
Di decente tipo?
Non conosco questa libreria però credo che devi "commentare" questa riga e ricompilare.
//RTC.adjust(DateTime(2014,03,12,21,24,00)); aggiungi due barre ossia "commenti" questa riga in modo che non venga compilata.
Ciao
Decente nel senso che mi dà un orario, anche se è decisamente sbagliato ( 0 : 3 : 34 ) ""Gli smile avevano coperto l'orario che avevo inserito""
Da quel che ho capito quella riga lì serve per dirgli da che giorno/ora deve iniziare a contare, infatti negli esempi solitamente lasciano RTC.adjust(DateTime(____DATA___,___HOUR____))
Yuri Sabbadini
13-03-2014, 00:00
mettendolo al classico 9600 almeno segna qualcosa di decente:
}
Di decente tipo?
Non conosco questa libreria però credo che devi "commentare" questa riga e ricompilare.
//RTC.adjust(DateTime(2014,03,12,21,24,00)); aggiungi due barre ossia "commenti" questa riga in modo che non venga compilata.
Ciao
Quell'istruzione è corretta, tuttavia se l'RTC ha una batteria tampone basta compilarla una volta sola.
Sembra proprio che ci sia un problema di interpretazione dei dati.
Io sono di nuovo di fretta e in debito di sonno, quindi per ora ti lascio questo link
http://www.glacialwanderer.com/hobbyrobotics/?p=12
Quella riga serve per impostare l'ora e basta; dopodichè la devi commentare e ricompilare.
E' come impostare l'orologio di casa; prima gli dice che ore sono e compili, poi commenti ( usando //) che è l'equivalente di nascondere e ricompili arduino .
prova ad usare questa sintassi per impostare l'ora
RTC.adjust(DateTime("MAR 12 2013","12:59:45"));
Quella riga serve per impostare l'ora e basta; dopodichè la devi commentare e ricompilare.
E' come impostare l'orologio di casa; prima gli dice che ore sono e compili, poi commenti ( usando //) che è l'equivalente di nascondere e ricompili arduino .
prova ad usare questa sintassi per impostare l'ora
RTC.adjust(DateTime("MAR 12 2013","12:59:45"));
Niente da fare, nel monitor seriale mi ritorna: 27/15/2099 1:24:29
Risolto ragazzi, all'inizio dello sketch invece di dichiarare RTC_DS1307 RTC; ho dichiarato RTC_Millis RTC;
Boh, non capisco come mai perchè alla fine uso un ds1307, ma vabbè, basta che vada :-))
Rieccomi qui ragazzi.. nell'ultimo periodo sono stato parecchio impegnato.
Nel frattempo mi è arrivo lo schermo lcd 20x4. L'ho collegato tramite i2c all'arduino mega e funziona tutto perfettamente.
Sto provando a smanettare con la creazione dei menù, e tramite la libreria menubackend.h riesco appunto a creare menu, sottomenu, ecc.. La mia idea ovviamente è quella di impostare setpoint per la temperatura, e fino ad adesso ho visto che ci sarebbe un'altra libreria ancora (menwiz) che lo permette, voi avete altre soluzioni?
Grazie dell'aiuto.
Per la temperatura non uso librerie specifiche.
queste sono le righe di comando
DallasTemperature sensors(&oneWire);
int riscaldamento = 35;
float soglia_riscaldamento = 24.30;//setpoint
float isteresi = 0.30;
float temp2 = 26;//temperatura acqua default in caso guasto sonda temperatura
void termostato(){
if (temp2 < soglia_riscaldamento){
digitalWrite(riscaldamento, HIGH);
lcd.setCursor(0, 1);
lcd.write(1);
}
else if (temp2 > (soglia_riscaldamento + isteresi ) || temp2 > 29 ){
digitalWrite(riscaldamento , LOW);
lcd.setCursor(0, 1);
lcd.print(" ");
}
Tuttalpiù puoi implementare la libreria eeprom per memorizzare i valori di isteresi e setpoint impostati con i tasti e/o cursori.
Ciao
Grazie per l'aiuto. Ho già implementato la fase di riscaldamento settando setpoint e isteresi direttamente dalla LCD.. Il problema però è anche che i float non si possono giustamente salvare nella eeprom..
Devo vedere fuori anche questo discorso appena ho un minuto..
viroviro
13-06-2014, 16:53
Hai aggiornamenti da dare?
Hai configurato i menù dei vari settings da display?
Metti un pò di codice che così si possono fare delle prove
Grazie
ahahah ma tu guarda! stavo giusto cercando informazioni su un problema che ho con arduino e salta fuori questo topic!
sto giusto in questi giorni costruendo anche io una centralina per acquario.
Fantastico così potete darmi una mano col codice. L'autore del topic ha rilasciato il codice?
La mia centralina prevederà timer controllo luci, sensore di temepratura, visualizzazione temperatura e termostato per il riscaldatore e la ventola di raffreddamento.
Attualmente ho un problema con la ventola, pilotata in PWM, nel momento in cui si accende sballa la lettura del sensore, per qualche motivo (suppongo disturbi derivanti dalla ventola)..
...bhe prova a postare il codice e magari a descrivere meglio il problema.
Allora, l'idea che ho concepito è questa:
LM35 (sensore temperatura) collegato al'input analogico 0. Quando la temperatura va oltre la soglia impostata, si accende la ventola, che è collegata al pin 9 PWM.
Inoltre, l'idea è quella di pilotare la ventola in PWM con un banale algoritmo che aumenta la velocità della ventola tanto più la temperatura si discosta dalla temperatura soglia.
E fin qui tutto ok. Ho anche un display a 7 segmenti 2 digit collegato, per visualizzare la temperatura, e 3 tastini, due per impostare il valore soglia (poi anche l'ora appena la programmo) e uno per impostare l'ora ed eventualmente altro.
Ora, se alimento il tutto con la ventola scollegata la temperatura visualizzata è precisa. per aumentare precisione e diminuire i disturbi ho anche impostato il referencevoltage a 1.1 volt.
Se collego la ventola.. non appena parte, ho fluttuazioni notevoli della temperatura rilevata, e quindi dei segnali campionati dall'LM35.
Non capisco bene il perché.. ho provato anche a mettere il filtro antidisturbo sul 35, come mostrato in datasheet, ma ho comunque lo stesso problema.
Sembra quasi che il funzionamento della ventola destabilizzi qualcosa, o spari interferenze massiccie...
succede anche se premo il tasto set ho notato... la temperatura aumenta in quel momento... lol ho proprio toppato qualcosa
il bottone è collegato tra vcc (5V) e A1, con una resistenza di pull-down da 10k tra A1 e massa
Che ventola utilizzi? Con cosa alimenti la ventola, il pulsante e arduino (che arduino utilizzi?)?
Una deltafan da 50 mm, non ha il cavo pwm quindi faccio il pwm pilotando il negativo con un MOSFET.
I pulsanti sono i classici microswitch push.
Arduino uno. Collegato con un alimentatore switching da 12 volt 1A.
La ventola assorbe mezzo A alla massima potenza.
Psw: ho modificato il divisore di frequenza per far cadere la frequenza di pwm sopra l udibile (30 kHz)
------------------------------------------------------------------------
La ventola è collegata all'alimentazione esterna 12V, tutto il resto alla logica 5V di arduino
Una deltafan da 50 mm, non ha il cavo pwm quindi faccio il pwm pilotando il negativo con un MOSFET.
I pulsanti sono i classici microswitch push.
Arduino uno. Collegato con un alimentatore switching da 12 volt 1A.
La ventola assorbe mezzo A alla massima potenza.
Psw: ho modificato il divisore di frequenza per far cadere la frequenza di pwm sopra l udibile (30 kHz)
------------------------------------------------------------------------
La ventola è collegata all'alimentazione esterna 12V, tutto il resto alla logica 5V di arduino
Potrebbe dipendere dall'alimentatore della ventola (che se non ho capito male alimenta anche arduino).
Prova a mettere un'alimentazione esterna per la ventola per escludere il problema, altrimenti il problema sta nel listato arduino secondo me.
Domani provo con una batteria da 12V che almeno siamo sicuri sia stabile. Arduino non dovrebbe avere problemi in tal senso perché prende l'alimentazione esterna e la stabilizza a 5 volt; il pin Vin è direttamente connesso al + dell'alimentazione esterna sicché possa essere utilizzato il voltaggio pieno. La ventola è quindi collegata a Vin.
Il codice in teoria non dovrebbe essere in problema perche la parte che gestisce la ventola è banalissima: se temp > tempSoglia allora digitalwrite (9, fanSpeed)...
Ma appena si accende si ha l'oscillazione dei valori rilevati. E rimangono in oscillazione finché la ventola rimane accesa...
------------------------------------------------------------------------
Stessa cosa se premp un qualsiasi pulsante. Mentre lo tengo premuto i valori rilevati dal sensore aumentano O_o
Stessa cosa se premp un qualsiasi pulsante. Mentre lo tengo premuto i valori rilevati dal sensore aumentano O_o
In effetto nemmeno io credo sia il codice ma purtroppo ho imparato a mia spese a non escludere niente quando hai problemi strani.
Da quanto dici il problema dovrebbe essere proprio nell'alimentazione. Prova a ricontrollare anche la resistenza (non si sa mai [emoji13]).
prova ad eliminare le resistenze esterne e sfruttare quelle interne.
vedi quì http://www.danielealberti.it/2013/12/utilizzare-le-resistenze-di-pull-up.html
Se con questa modifica e/o con quella proposta sull'alimentazione non ottieni nulla puoi pensare di sostituire il tuo sensore con uno di tipo digitale (ds18b20) che oltretutto ha una maggiore risoluzione del LM35.
Ciao
Ho dimenticato di dire che i pulsanti sono collegati agli input analogici perché non volevo sprecare altri input output digitali.. Potrebbe essere quello il problema?
Ho dimenticato di dire che i pulsanti sono collegati agli input analogici perché non volevo sprecare altri input output digitali.. Potrebbe essere quello il problema?
Allora togli la resistenza perchè gli ingressi analogici hanno già uba resistenza interna e collegali usando il pin A0 come + e non come ritorno del segnale.
Ricorda anche che da codice devi dire ad arduino che li userai come ingressi digitali (non ricordo il comando e purtroppo ora sono a lavoro).
Dopo se non hai trovato niente ci guardo.
OK quella parte è sicuramente da rivedere; senza le resistenze avevo dei trigger casuali, ma non jo impostato nel codice che è digitale perche non so come si fa.dopo cerco. I bottoni sono collegati ai 5v quindi premendoli il segnale va su high. Se si riesce preferirei tenere questa configurazione per evitare di rifare j collegamenti già saldati
Ho trovato il problema :|
la modifica alla frequenza del PWM... non ho ben capito il perchè e come ma interferisce con la lettura della sonda a quanto pare... tenendo il PWM di default così com'è non ho le variazioni che avevo prima e la temperatura è stabile.
Peccato che con il PWM standard a 400 Hz la ventola faccia un fischio abbastanza fastidioso :|
NB: il problema dei pulsanti rimane comunque
EDIT! risolto anche il problema dei tasti :)
non so programmare aimé... risolto grazie al tuo consiglio sul configurarli come digital. è bastato sostituire analogicRead con digitalRead.
Ok ora funziona tutto anche se preferirei trovare un modo per aumentare la frequenza di PWM senza incasinare tutto
Ok ora funziona tutto anche se preferirei trovare un modo per aumentare la frequenza di PWM senza incasinare tutto
Se posti in codice ci possiamo provare a guardare. Se non vuoi pubblicarlo, puoi anche mandarmelo via MP.
Non ho problemi a pubblicarlo, solo mi vergogno... Non sapendo programmare bene, fa veramente cacare come codice, non giudicatemi XD poi quando ho tempo lo posto
nuove notizie... se avvicino arduino all'alimentatore elettronico dei neon spara valori di temperatura strani. immagino sia qualche interferenza elettromagnetica.
Comunque, data l'instabilità del sensore e dato anche il fatto che non sono sicuro che la sonda che ho costruito sia waterproof, investo tre euro e compro il DS18B20 con la sonda waterproof già bella che pronta... così almeno vado sul sicuro..
vBulletin® v3.8.9, Copyright ©: 2000-2025, Jelsoft Enterprises Ltd.
Traduzione italiana Team: vBulletin-italia.it |