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.
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.