PDA

Visualizza la versione completa : progetto controllo acquario


alechri
01-05-2012, 17:59
Da diversi giorni ho intrapreso il progetto per il controllo dell'acquario tramite arduino uno,nonostante io di elettronica no ci capisca granchè.
Dopo 10 duri giorni e letto su internet diverse guide sono riuscito a collegare un display 16x2 retroilluminato verde,a cui riesco a far leggere la temperatura tramite un sensore ds18B20 impermiabilizzato.
Ora vorrei passare al modulo real time clock che mantiene l'ora, min, sec, e il datario con batteria tampone cosi che possa impostare gli orari per l'accensione e spegnimento di diversi dispositivi,per poi passare al modulo 8 relè cosi da poter comandare carichi a 220v esem: pompe riscaldatore e 4 gruppi di luci per simulare alba e tramonto.
http://s16.postimage.org/svfrtg5lt/DSCN0529.jpg (http://postimage.org/image/svfrtg5lt/)

http://s16.postimage.org/4wsretug1/DSCN0530.jpg (http://postimage.org/image/4wsretug1/)

http://s16.postimage.org/90ybl2fs1/DSCN0531.jpg (http://postimage.org/image/90ybl2fs1/)




oltre alle foto posto lo sketch per controllare lcd e il sensore su 2 righe magari può essere d'aiuto a qualcuno



// This Arduino sketch reads DS18B20 "1-Wire" digital
// temperature sensors.
// Tutorial:
// http://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html

#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

// Connections:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 6, 5, 4, 3);

int backLight = 13; // pin 13 will control the backlight

// Data wire is plugged into pin 8 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// Assign the addresses of your 1-Wire temp sensors.
// See the tutorial on how to obtain these addresses:
// http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

DeviceAddress insideThermometer = { 0x28, 0x96, 0x2E, 0xA8, 0x03, 0x00, 0x00, 0x16 };

void setup(void)
{
// Start up the library
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(insideThermometer, 9);


pinMode(backLight, OUTPUT);
digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
lcd.begin(16,2); // columns, rows. use 16,2 for a 16x2 LCD, etc.
lcd.clear(); // start with a blank screen
}

void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == #127.00) {
lcd.print("Error");
} else {
lcd.print(tempC);
lcd.print("/");
lcd.print(DallasTemperature::toFahrenheit(tempC));
}
}

void loop(void)
{
delay(2000);
sensors.requestTemperatures();
lcd.setCursor(0,0);
lcd.print("Temp Acquario");
lcd.setCursor(0,1);

lcd.print("C: ");
printTemperature(insideThermometer);
}




ringrazio chiunque abbia un file pbc per rtc e modulo relè cosi che possa andare avanti col progetto.

Agro
01-05-2012, 20:44
Se era un pic ti potevo essere un po di aiuto, ma con arduino non ho proprio esperienza.
Quello che ti posso dire e che la base di partenza e scegliere l'integrato con le caratteristiche volute e leggersi il datasheet.
In genere quei integrati sono controllati tramite un bus I2C, protocollo supportato dal microcontrollore del arduino, quindi vai moto bene ad far comunicare il tutto.
Caso mai ti fosse sfuggito:
http://www.acquariofilia.biz/showthread.php?t=300781

Xipe
26-06-2012, 23:15
grandissimo!!! ho comprato pure io arduino... e volevo automatizare un po il mio acquario, sto cominciando adesso... sei andato avanti con il tuo progetto?

SirLord
18-07-2012, 23:27
Ciao a tutti, primo post in questo forum anche se da un po' di tempo avido lettore...

Con arduino mi ci sono cimentato pure io e penso anche di aver preso strade poco battute per il mio controller fai da te. Sarà che non sono andato a vedere cosa facevano le centraline commerciali e che quindi probabilmente qualche scelta è del tutto personale, sono abbastanza convinto che non sempre seguire le orme di qualcuno porta al migliore risultato...

Si lo so che sul dolce qualcuno non ci vede il senso, ma comunque sia un hobby non è che deve avere un senso a tutti i costi

Anche io sono partito con un display 16x2... ora stò passando al grafico perchè su quello sono troppo limitato, pure io ho scelto il dallas ds18B20 come sensore di temperatura e ho un real time clock DS1307: giusto di questo volevo parlare!

io le ho provate tutte, ma non c'è verso che mi passi in automatico all'ora legale/solare in automatico :#O avete una libreria che lo fa faccia?

ogni suggerimento è ben accetto :-))