LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Tópico iniciado por: jony-kid em 14 de Janeiro de 2012, 19:34

Título: Controlo de estufa.
Enviado por: jony-kid em 14 de Janeiro de 2012, 19:34
Boa tarde caros amigos.

Como primeiro post a seguir á apresentação gostaria de vos pedir ideias, não percebendo eu nada de electronica mas com vontade de aprender, estou completamente verde pois não percebo mesmo nada disto...

A minha ideia é a seguinte:

Controlar parametros de uma estufa que irei construir caso o projecto tenha viabilidade.

1º-controlar temperatura (maximas e minimas)
a: no caso das maximas se exceder o permitido deverá dar ordem para abrir uma bascola no tecto para permitir a sirculação de ar.

b: minimas talvez só para monitorizar.

2º- controlo de humidade
a: Caso exceda o minimo, dar ordem a uma eletrovalvula para que faça uma polverização através de uns micros expressores.
b: caso exceda o maximo que não faça nada nem regue.

3º-Regas diarias ou semanais.

Caros amigos sei que talvez seja muito dificil para mim fazer algo que não percebo mesmo nada, mas eu gostava de tentar.

Tenho por aqui um controlador que talvez faça algo de que preciso.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fpl.farnell.com%2Fproductimages%2Ffarnell%2Fstandard%2F42428026.jpg&hash=09aa087f5b3da3c33cf7751dfa8e6c0aca9463fd)

Com o repectivo cabo para ligar ao pc.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Felectrodepot.com%2FAL2-GSM-CAB.jpg&hash=251ae218881fa90a58e2c83fcd34d0d4a312db30)

Em anexo vai o datasheet

Aguardo anciosamente as vossas ajudas.

 

 
Título: Re: Controlo de estufa.
Enviado por: Mike em 14 de Janeiro de 2012, 19:53
Parece-me que tens, terás de aprender a programar o PLC, e arranjar o respectivo programa.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 14 de Janeiro de 2012, 19:56
Por acaso tenho o programa do plc não sei é trabalhar com ele.

Será que mais ninguem ajuda...
Vamos lá pessoal.

João Oliveira

Título: Re: Controlo de estufa.
Enviado por: Mike em 14 de Janeiro de 2012, 22:48
nao arranjas manuais do prog? e o prog ja agora.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 14 de Janeiro de 2012, 23:22
Manuais não tenho mas o programa tenho.

Título: Re: Controlo de estufa.
Enviado por: Mike em 15 de Janeiro de 2012, 00:25
Disponibiliza ai, pode ser que consiga ver disso, no curso só programei Siemens mas posso dar uma olhada.
Título: Re: Controlo de estufa.
Enviado por: Hugu em 15 de Janeiro de 2012, 00:39
...não percebendo eu nada de electronica mas com vontade de aprender, estou completamente verde pois não percebo mesmo nada disto...

mas a tua duvida é sobre electronica ou sobre programaçao do dito plc?..
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 15 de Janeiro de 2012, 01:45
A minha duvida é se este plc dará para aquilo que quero ou se um arduino será melhor por causa das sondas de temperatura e humidade.
Título: Re: Controlo de estufa.
Enviado por: Mike em 15 de Janeiro de 2012, 18:14
Só vendo melhor, mas deve dar, tem entradas e saídas analógicas.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 15 de Janeiro de 2012, 21:23
Vou comprar um Arduino.

O que aconselham para principiantes e que tipo de materiais devo tambem de comprar para me iniciar?
Estava a pensar algo deste genero.
http://www.inmotion.pt/store/kit-workshop-base-level-with-arduino-uno (http://www.inmotion.pt/store/kit-workshop-base-level-with-arduino-uno)

Que dizem?

Assim vou aprendendo algumas coisas, será talvez o mais adequado.


Título: Re: Controlo de estufa.
Enviado por: nunosilvarocha em 15 de Janeiro de 2012, 22:32
Não conheço as especificações desse PLC, mas parece-me mais viável e muito mais económico o uso do PLC.
A programação do PLC não deve ser muito complicada, podes é estar limitado as entradas analógicas, mas é como te digo, não conheço as especificações do PLC.

Se acabares por optar pelo arduino, acho que vais ter um projeto bastante interessante pela frente.
   

 
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 15 de Janeiro de 2012, 22:40
Já estou numa de comprar um arduino.

qual achas que devo de comprar para começar?
E que tipo de materiais me fazem mais falta, tipo leds, relés etc,etc...

PS- As expecificações do PLC estão em anexo no 1º post.
Título: Re: Controlo de estufa.
Enviado por: nunosilvarocha em 16 de Janeiro de 2012, 00:56
Se decidires ir pelo arduino, e for para implementar o arduino, eu não comprava nenhum kit, comprava apenas o arduino e o resto do material comprava à parte. (Os kit's são bons para quem se inicia e quer ir fazendo projetos e explorando o arduino tendo logo para alem do essencial.)

Para começar (numa vertente direcionada para o que queres fazer) basta-te um arduino, uma breadboard, alguns led's e resistências, um ou dois potenciómetro e uns bocadinhos de fio.
Usas os potenciómetro para  simular os sensores e os led's para simular a saída dos reles.
Depois disso podes evoluir com o teu projeto e ir trocando os potenciómetros pelos sensores e os led's por reles.
Por fim podes ainda adicionar um ldc e dois ou três botões para alterar os parâmetros.

E pronto, fazer uma pcb, montar tudo direitinho e tens a estufa a trabalhar!! 
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 22 de Janeiro de 2012, 19:05
Tal como prometido lá comprei o meu Arduino UNO.
Já fiz umas coisitas com ele, aquilo que todos fazem quando começam,vendo uns tuturiais, uns led's a piscar etc.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg851.imageshack.us%2Fimg851%2F8155%2Fimg8741m.jpg&hash=44160d06528b69ba6fc65fec893d83dd009f75cf)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg210.imageshack.us%2Fimg210%2F7232%2Fimg8742p.jpg&hash=24eb05281976fc30b2ad42f9744fd150dac50e1b)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg718.imageshack.us%2Fimg718%2F1936%2Fimg8747xi.jpg&hash=3855025e1dcf987f11fd4799279f6e56348e5298)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg839.imageshack.us%2Fimg839%2F3039%2Fimg8748v.jpg&hash=b09db770937f54a73317fa95bef771062f0384a3)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg214.imageshack.us%2Fimg214%2F9577%2Fimg8749xb.jpg&hash=387bcc725d0a2692fd935303df89e8695f9bfe84)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg862.imageshack.us%2Fimg862%2F7481%2Fimg8750a.jpg&hash=e702d996f93084940e4779ff069ac06f39e6b785)

Agora vou precisar de umas almas caridosas que me ajudem.
Para começar penso que tenho o material assencial (Falta o Lcd)
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 16 de Fevereiro de 2012, 19:58
Pois é pessoal, cá estou eu de novo.
Agora para vos pedir ajuda, tenho andado a ler umas coisas e já tenho tudo mais ou menos pensado.
Neste momento tenho o seguinte material:

-Arduino uno.
-Sensor de emperatura LM35.
-LCD 20x4.
-E mais umas coisitas que vinham no kit do arduino.

Neste momento tenho tenho tudo a funcionar com o seguinte codigo:

Código: [Seleccione]
// Arduino LCD Ambient Temperature Monitor.

// Displays Current, 8 sec Average, Max and Min Temperature.

// To wire your LED screen to your Arduino, connect the following pins:
// LCD RS pin to digital pin 12
// LCD Enable pin to digital pin 11
// LCD D4 pin to digital pin 5
// LCD D5 pin to digital pin 4
// LCD D6 pin to digital pin 3
// LCD D7 pin to digital pin 2
// Additionally, wire a 10K pot to +5V and GND, with it's wiper (output) to LCD screens VO pin (pin3).
// We used the on board power source (5v and Gnd) to power the LM35 and analog pin 0 (zero) to read the analog output from the sensor.

// 17 January 2011

// include the library code:
#include <LiquidCrystal.h>  // include the LCD driver library

//declare variables
float tempC = 0;  // variable for holding Celcius temp (floating for decimal points precision)
float tempf = 0;  // variable for holding Fareghneit temp
int tempPin = 0;  // Declaring the Analog input to be 0 (A0) of Arduino board.
float samples[8]; // array to hold 8 samples for Average temp calculation
float maxi = 0,mini = 100; // max/min temperature variables with initial values. LM35 in simple setup only measures Temp above 0.
int i;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
Serial.begin(9600); //opens serial port, sets data rate to 9600 bps
pinMode(13, OUTPUT);  // The Red arduino led
lcd.begin(20, 4); // set up the LCD's number of columns and rows:

lcd.setCursor(0, 0); // set LCD cursor position (column, row)
lcd.print("Joao Oliveira "); // print text to LCD
lcd.setCursor(0, 1);
lcd.print("Temperature Project");
delay(5000); // wait 500ms
lcd.clear(); // clear LCD display
lcd.setCursor(0, 0);
lcd.print("LCD Ambient Temp");
lcd.setCursor(0, 1);
lcd.print(" Digital Monitor ");                                                                                                                                                                                                                                                                                                                                                                                                                             
delay(5000);
lcd.clear();


}

void loop()
{
digitalWrite(13, LOW);   // set the LED on

// Start of calculations FOR loop.
for(i = 0;i<=7;i++){ // gets 8 samples of temperature
samples[i] = ( 4.4 * analogRead(tempPin) * 100.0) / 1024.0; // conversion math of LM35 sample to readable temperature and stores result to samples array. 1024 is the Bit depth (quantization) of Arduino.
// 5 is the supply volts of LM35. Change appropriatelly to have correct measurement. My case is 4.4Volts.
// Serial.println(samples[i]);
Serial.print("."); // print a dot for every sample at serial monitor

// Display Current Celcius Temp to LCD
// ( LCD note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 0); // set LCD cursor position
lcd.print("Temp. Atual: "); // print to LCD
lcd.setCursor(12, 0);
lcd.print(samples[i]);  // print current Temp sample to LCD

tempC = tempC + samples[i]; // do the addition for average temperature
delay(800); // wait 800ms
} // END of FOR loop

Serial.println(""); // Like and CR at serial monitor
Serial.println("");
tempC = tempC/8.0; // calculated the averare of 8 samples in Celcius

tempf = (tempC * 9)/ 5 + 32; // converts to fahrenheit

if(tempC > maxi) {maxi = tempC;} // set max temperature
if(tempC < mini) {mini = tempC;} // set min temperature

// Send Results to Serial Monitor
Serial.println("New measurement");
Serial.print(" Average Temperature in Celcius is " );             //send the data to the computer
Serial.println(tempC);//send the data to the computer
Serial.print(" Average Temperature in Farenait is " );             //send the data to the computer
Serial.println(tempf);//send the data to the computer
Serial.print(" MAX Temperature in Celcius is " );             //send the data to the computer
Serial.println(maxi);//send the data to the computer
Serial.print(" MIN Temperature in Celcius is " );             //send the data to the computer
Serial.println(mini);//send the data to the computer

// Send results to LCD.
lcd.setCursor(0, 1);
lcd.print(" Av.T   Max   Min");

// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 2);
// print the measured temp average
lcd.print(tempC);
lcd.setCursor(6, 2);
// print the maximum temp
lcd.print(maxi);
lcd.setCursor(12, 2);
// print the minimum temp
lcd.print(mini);
digitalWrite(13, HIGH);    // set the LED off
delay(3000);   // Wait about 3 seconds to display the results to LCD screen befor starting the loop again
tempC = 0; // Set tempC to 0 so calculations can be done again

}

Tudo 5*****, apesar de eu neste momento não perceber muito para além de pôr uns ledes a piscar e pouco mais.
Tenho feito alguma coisa pesquisando pela net e fazendo Copy/Past.

Neste momento estou á espera de um Real Time Clock DS1307 (RTC), para poder continuar no bom caminho .

Agora as grandes duvidas...

Como juntar o codigo do Ds1307 ao existente?
Como fazer menus no lcd para ver as diferentes leituras?

(neste caso ainda não tenho todo o material mas virá)

Estas são neste momento as minhas primeiras duvidas.

Agradeço desde já a ajuda de todos.

Aquele abraço.
João Oliveira
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 17 de Fevereiro de 2012, 22:07
Então pessoal ninguem quer ajudar?
Título: Re: Controlo de estufa.
Enviado por: senso em 18 de Fevereiro de 2012, 02:40
O código do RTC tens bibliotecas para Arduino e com exemplos, e para os menus, dá uma vista de olhos nisto:
http://liudr.wordpress.com/libraries/phi-menu/ (http://liudr.wordpress.com/libraries/phi-menu/)
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 18 de Fevereiro de 2012, 14:44
É complicado para quem ainda nada percebe tentar fazer algo deste genero, penso que estou no bom caminha mas ainda tenho muitas dificuldades, e não e neste momento não estou a entender muito bem que que terei de fazer para continnuar o projeto.

Neste momento é este o esquema que tenho em funcionamento.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg252.imageshack.us%2Fimg252%2F6754%2F1esquemadetemperatura.jpg&hash=ad64168b468cfe5c929d0f2f4996ccbedadfac3c) (http://imageshack.us/photo/my-images/252/1esquemadetemperatura.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

Vou estudar o link que mandas-te e ver se entendo o prencipio de funcionamento.

Muito obrigado pela dica.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 23 de Fevereiro de 2012, 22:08
Pois é pessoal já chegou o meu RTC, e vou precisar da vossa ajuda.

O que comprei!!!
http://www.ebay.co.uk/itm/150749365307?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649 (http://www.ebay.co.uk/itm/150749365307?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649)

Agora penso ter tudo bem ligado...

5v - 5v arduino
GND - GND arduino
SCL - pino 5 anal.arduino
SDA - pino 4 anal.arduino


Agora falta o codigo.

Estive a ler o tutorial do tr3S, http://lusorobotica.com/index.php?topic=681.0, (http://lusorobotica.com/index.php?topic=681.0,) mas não entendi muito bem e tenho medo que faça asneiras.


Gostava que me ajudassem com o RTC e a juntar o sou codigo ao que estou a usar no post acima.

Desde já o meu obrigado.
João Oliveira
Título: Re: Controlo de estufa.
Enviado por: senso em 23 de Fevereiro de 2012, 22:16
Tens esta biblioteca da Adafruit que é basicamente copiar colar e usar.
http://www.ladyada.net/learn/breakoutplus/ds1307rtc.html (http://www.ladyada.net/learn/breakoutplus/ds1307rtc.html)

Provavelmente será mais facil de usares devido á falta de conhecimentos na área da programação.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 23 de Fevereiro de 2012, 22:24
já tina estado a ver esse link mas não estou a conseguir compilar o codigo.
Título: Re: Controlo de estufa.
Enviado por: senso em 23 de Fevereiro de 2012, 22:26
Não estás a meter a biblioteca no sitio certo, só pode..
Que erros tens?
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 23 de Fevereiro de 2012, 22:30
Não estou mesmo a entender o que tenho de fazer.
Título: Re: Controlo de estufa.
Enviado por: senso em 23 de Fevereiro de 2012, 22:30
Começa por mostrar que erros tens.
Dá uma vista de olhos nisto:
http://brasilrobotics.blogspot.com/2011/07/como-adicionar-bibliotecas-no-arduino.html (http://brasilrobotics.blogspot.com/2011/07/como-adicionar-bibliotecas-no-arduino.html)
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 23 de Fevereiro de 2012, 22:32
Como ponho aqui os erros?
Título: Re: Controlo de estufa.
Enviado por: senso em 23 de Fevereiro de 2012, 22:33
Podes tirar um print-screen e meter na imagem no imgur, ou então copias e colas os erros.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 23 de Fevereiro de 2012, 22:34
sketch_feb23c.cpp:4:20: error: RTClib.h: No such file or directory
sketch_feb23c:5: error: 'RTC_DS1307' does not name a type
sketch_feb23c.cpp: In function 'void setup()':
sketch_feb23c:10: error: 'RTC' was not declared in this scope
sketch_feb23c.cpp: In function 'void loop()':
sketch_feb23c:21: error: 'DateTime' was not declared in this scope
sketch_feb23c:21: error: expected `;' before 'now'
sketch_feb23c:23: error: 'now' was not declared in this scope
sketch_feb23c:43: error: expected `;' before 'future'
sketch_feb23c:46: error: 'future' was not declared in this scope
Título: Re: Controlo de estufa.
Enviado por: senso em 23 de Fevereiro de 2012, 22:37
Biblioteca não está a ser encontrada, vê o link que te dei e trata disso.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 23 de Fevereiro de 2012, 22:46
Não estou mesmo a entender o que tenho de fazer, estou á nora com isto.
Devo dizer que o meu inglês não é grande  coisa.
Título: Re: Controlo de estufa.
Enviado por: senso em 23 de Fevereiro de 2012, 22:48
Está em brasileiro!
http://brasilrobotics.blogspot.com/2011/07/como-adicionar-bibliotecas-no-arduino.html (http://brasilrobotics.blogspot.com/2011/07/como-adicionar-bibliotecas-no-arduino.html)
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 23 de Fevereiro de 2012, 22:59
já guardei nas library's agora o que tenho de fazer?

Tenho estes 2 codigos.

Código: [Seleccione]
// Simple date conversions and calculations

#include <Wire.h>
#include "RTClib.h"

void showDate(const char* txt, const DateTime& dt) {
    Serial.print(txt);
    Serial.print(' ');
    Serial.print(dt.year(), DEC);
    Serial.print('/');
    Serial.print(dt.month(), DEC);
    Serial.print('/');
    Serial.print(dt.day(), DEC);
    Serial.print(' ');
    Serial.print(dt.hour(), DEC);
    Serial.print(':');
    Serial.print(dt.minute(), DEC);
    Serial.print(':');
    Serial.print(dt.second(), DEC);
   
    Serial.print(" = ");
    Serial.print(dt.unixtime());
    Serial.print("s / ");
    Serial.print(dt.unixtime() / 86400L);
    Serial.print("d since 1970");
   
    Serial.println();
}

void setup () {
    Serial.begin(57600);
   
    DateTime dt0 (0, 1, 1, 0, 0, 0);
    showDate("dt0", dt0);

    DateTime dt1 (1, 1, 1, 0, 0, 0);
    showDate("dt1", dt1);

    DateTime dt2 (2009, 1, 1, 0, 0, 0);
    showDate("dt2", dt2);

    DateTime dt3 (2009, 1, 2, 0, 0, 0);
    showDate("dt3", dt3);

    DateTime dt4 (2009, 1, 27, 0, 0, 0);
    showDate("dt4", dt4);

    DateTime dt5 (2009, 2, 27, 0, 0, 0);
    showDate("dt5", dt5);

    DateTime dt6 (2009, 12, 27, 0, 0, 0);
    showDate("dt6", dt6);

    DateTime dt7 (dt6.unixtime() + 3600); // one hour later
    showDate("dt7", dt7);

    DateTime dt8 (dt6.unixtime() + 86400L); // one day later
    showDate("dt8", dt8);

    DateTime dt9 (dt6.unixtime() + 7 * 86400L); // one week later
    showDate("dt9", dt9);
}

void loop () {
}

Código: [Seleccione]
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib

#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

void setup () {
    Serial.begin(57600);
    Wire.begin();
    RTC.begin();

  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(__DATE__, __TIME__));
  }
}

void loop () {
    DateTime now = RTC.now();
   
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), 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.print(" since midnight 1/1/1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");
   
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);
   
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();
   
    Serial.println();
    delay(3000);
}

Título: Re: Controlo de estufa.
Enviado por: jony-kid em 24 de Fevereiro de 2012, 19:41
Então pessoal estou mesmo a precisar de ajuda...
Título: Re: Controlo de estufa.
Enviado por: senso em 24 de Fevereiro de 2012, 22:13
Agora vês se o rtc funciona como deve e incluis no teu código as partes que queres.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 24 de Fevereiro de 2012, 22:32
Boas, obrigado pela tua disponibilidade para ajudar.

O RTC está a funcionar, o meu problema prende-se em juntar os 2 codigos.
Já tentei e não consigo entender come o devo de fazer...
Título: Re: Controlo de estufa.
Enviado por: senso em 24 de Fevereiro de 2012, 22:34
O que é que queres aproveitar de cada bocado mesmo?
O primeiro simplesmente define várias datas/horas e mostra isso mesmo no terminal serial com a função showDate, o segundo faz praticamente o mesmo.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 24 de Fevereiro de 2012, 22:39
Tenho este codigo...
Código: [Seleccione]
// Arduino LCD Ambient Temperature Monitor.

// Displays Current, 8 sec Average, Max and Min Temperature.

// To wire your LED screen to your Arduino, connect the following pins:
// LCD RS pin to digital pin 12
// LCD Enable pin to digital pin 11
// LCD D4 pin to digital pin 5
// LCD D5 pin to digital pin 4
// LCD D6 pin to digital pin 3
// LCD D7 pin to digital pin 2
// Additionally, wire a 10K pot to +5V and GND, with it's wiper (output) to LCD screens VO pin (pin3).
// We used the on board power source (5v and Gnd) to power the LM35 and analog pin 0 (zero) to read the analog output from the sensor.

// 17 January 2011

// include the library code:
#include <LiquidCrystal.h>  // include the LCD driver library

//declare variables
float tempC = 0;  // variable for holding Celcius temp (floating for decimal points precision)
float tempf = 0;  // variable for holding Fareghneit temp
int tempPin = 0;  // Declaring the Analog input to be 0 (A0) of Arduino board.
float samples[8]; // array to hold 8 samples for Average temp calculation
float maxi = 0,mini = 100; // max/min temperature variables with initial values. LM35 in simple setup only measures Temp above 0.
int i;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
Serial.begin(9600); //opens serial port, sets data rate to 9600 bps
pinMode(13, OUTPUT);  // The Red arduino led
lcd.begin(20, 4); // set up the LCD's number of columns and rows:

lcd.setCursor(0, 0); // set LCD cursor position (column, row)
lcd.print("Joao Oliveira "); // print text to LCD
lcd.setCursor(0, 1);
lcd.print("Temperature Project");
delay(5000); // wait 500ms
lcd.clear(); // clear LCD display
lcd.setCursor(0, 0);
lcd.print("LCD Ambient Temp");
lcd.setCursor(0, 1);
lcd.print(" Digital Monitor ");                                                                                                                                                                                                                                                                                                                                                                                                                             
delay(5000);
lcd.clear();


}

void loop()
{
digitalWrite(13, LOW);   // set the LED on

// Start of calculations FOR loop.
for(i = 0;i<=7;i++){ // gets 8 samples of temperature
samples[i] = ( 4.4 * analogRead(tempPin) * 100.0) / 1024.0; // conversion math of LM35 sample to readable temperature and stores result to samples array. 1024 is the Bit depth (quantization) of Arduino.
// 5 is the supply volts of LM35. Change appropriatelly to have correct measurement. My case is 4.4Volts.
// Serial.println(samples[i]);
Serial.print("."); // print a dot for every sample at serial monitor

// Display Current Celcius Temp to LCD
// ( LCD note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 0); // set LCD cursor position
lcd.print("Temp. Atual: "); // print to LCD
lcd.setCursor(12, 0);
lcd.print(samples[i]);  // print current Temp sample to LCD

tempC = tempC + samples[i]; // do the addition for average temperature
delay(800); // wait 800ms
} // END of FOR loop

Serial.println(""); // Like and CR at serial monitor
Serial.println("");
tempC = tempC/8.0; // calculated the averare of 8 samples in Celcius

tempf = (tempC * 9)/ 5 + 32; // converts to fahrenheit

if(tempC > maxi) {maxi = tempC;} // set max temperature
if(tempC < mini) {mini = tempC;} // set min temperature

// Send Results to Serial Monitor
Serial.println("New measurement");
Serial.print(" Average Temperature in Celcius is " );             //send the data to the computer
Serial.println(tempC);//send the data to the computer
Serial.print(" Average Temperature in Farenait is " );             //send the data to the computer
Serial.println(tempf);//send the data to the computer
Serial.print(" MAX Temperature in Celcius is " );             //send the data to the computer
Serial.println(maxi);//send the data to the computer
Serial.print(" MIN Temperature in Celcius is " );             //send the data to the computer
Serial.println(mini);//send the data to the computer

// Send results to LCD.
lcd.setCursor(0, 1);
lcd.print(" Av.T   Max   Min");

// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 2);
// print the measured temp average
lcd.print(tempC);
lcd.setCursor(6, 2);
// print the maximum temp
lcd.print(maxi);
lcd.setCursor(12, 2);
// print the minimum temp
lcd.print(mini);
digitalWrite(13, HIGH);    // set the LED off
delay(3000);   // Wait about 3 seconds to display the results to LCD screen befor starting the loop again
tempC = 0; // Set tempC to 0 so calculations can be done again

}

E agora queria por exemplo pôr a data e hora na 4ª linha do lcd
Título: Re: Controlo de estufa.
Enviado por: senso em 24 de Fevereiro de 2012, 22:41
Basicamente alteras isto:
Código: [Seleccione]
    Serial.print(txt);
    Serial.print(' ');
    Serial.print(dt.year(), DEC);
    Serial.print('/');
    Serial.print(dt.month(), DEC);
    Serial.print('/');
    Serial.print(dt.day(), DEC);
    Serial.print(' ');
    Serial.print(dt.hour(), DEC);
    Serial.print(':');
    Serial.print(dt.minute(), DEC);
    Serial.print(':');
    Serial.print(dt.second(), DEC);

Para em vez de ter Serial.print ter lcd.print, antes fazes um lcd.goto para meter na linha 4 e não é muito mais que isso.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 24 de Fevereiro de 2012, 22:57
Não estou a conseguir...

Código: [Seleccione]
// Arduino LCD Ambient Temperature Monitor.

// Displays Current, 8 sec Average, Max and Min Temperature.

// To wire your LED screen to your Arduino, connect the following pins:
// LCD RS pin to digital pin 12
// LCD Enable pin to digital pin 11
// LCD D4 pin to digital pin 5
// LCD D5 pin to digital pin 4
// LCD D6 pin to digital pin 3
// LCD D7 pin to digital pin 2
// Additionally, wire a 10K pot to +5V and GND, with it's wiper (output) to LCD screens VO pin (pin3).
// We used the on board power source (5v and Gnd) to power the LM35 and analog pin 0 (zero) to read the analog output from the sensor.

// 17 January 2011

// include the library code:
#include <LiquidCrystal.h>  // include the LCD driver library

//declare variables
float tempC = 0;  // variable for holding Celcius temp (floating for decimal points precision)
float tempf = 0;  // variable for holding Fareghneit temp
int tempPin = 0;  // Declaring the Analog input to be 0 (A0) of Arduino board.
float samples[8]; // array to hold 8 samples for Average temp calculation
float maxi = 0,mini = 100; // max/min temperature variables with initial values. LM35 in simple setup only measures Temp above 0.
int i;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
Serial.begin(9600); //opens serial port, sets data rate to 9600 bps
pinMode(13, OUTPUT);  // The Red arduino led
lcd.begin(20, 4); // set up the LCD's number of columns and rows:

lcd.setCursor(0, 0); // set LCD cursor position (column, row)
lcd.print("Joao Oliveira "); // print text to LCD
lcd.setCursor(0, 1);
lcd.print("Temperature Project");
delay(5000); // wait 500ms
lcd.clear(); // clear LCD display
lcd.setCursor(0, 0);
lcd.print("LCD Ambient Temp");
lcd.setCursor(0, 1);
lcd.print(" Digital Monitor ");                                                                                                                                                                                                                                                                                                                                                                                                                             
delay(5000);
lcd.clear();


}

void loop()
{
digitalWrite(13, LOW);   // set the LED on

// Start of calculations FOR loop.
for(i = 0;i<=7;i++){ // gets 8 samples of temperature
samples[i] = ( 4.4 * analogRead(tempPin) * 100.0) / 1024.0; // conversion math of LM35 sample to readable temperature and stores result to samples array. 1024 is the Bit depth (quantization) of Arduino.
// 5 is the supply volts of LM35. Change appropriatelly to have correct measurement. My case is 4.4Volts.
// Serial.println(samples[i]);
Serial.print("."); // print a dot for every sample at serial monitor

// Display Current Celcius Temp to LCD
// ( LCD note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 0); // set LCD cursor position
lcd.print("Temp. Atual: "); // print to LCD
lcd.setCursor(12, 0);
lcd.print(samples[i]);  // print current Temp sample to LCD

tempC = tempC + samples[i]; // do the addition for average temperature
delay(800); // wait 800ms
} // END of FOR loop

Serial.println(""); // Like and CR at serial monitor
Serial.println("");
tempC = tempC/8.0; // calculated the averare of 8 samples in Celcius

tempf = (tempC * 9)/ 5 + 32; // converts to fahrenheit

if(tempC > maxi) {maxi = tempC;} // set max temperature
if(tempC < mini) {mini = tempC;} // set min temperature

// Send Results to Serial Monitor
Serial.println("New measurement");
Serial.print(" Average Temperature in Celcius is " );             //send the data to the computer
Serial.println(tempC);//send the data to the computer
Serial.print(" Average Temperature in Farenait is " );             //send the data to the computer
Serial.println(tempf);//send the data to the computer
Serial.print(" MAX Temperature in Celcius is " );             //send the data to the computer
Serial.println(maxi);//send the data to the computer
Serial.print(" MIN Temperature in Celcius is " );             //send the data to the computer
Serial.println(mini);//send the data to the computer

// Send results to LCD.
lcd.setCursor(0, 1);
lcd.print(" Av.T   Max   Min");

// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 2);
// print the measured temp average
lcd.print(tempC);
lcd.setCursor(6, 2);
// print the maximum temp
lcd.print(maxi);
lcd.setCursor(12, 2);
// print the minimum temp
lcd.print(mini);
digitalWrite(13, HIGH);    // set the LED off
delay(3000);   // Wait about 3 seconds to display the results to LCD screen befor starting the loop again
tempC = 0; // Set tempC to 0 so calculations can be done again

lcd.setCursor(0, 3);

 Serial.print(txt);
    lcd.print(' ');
    lcd.print(dt.year(), DEC);
    lcd.print('/');
    lcd.print(dt.month(), DEC);
    lcd.print('/');
    lcd.print(dt.day(), DEC);
    lcd.print(' ');
    lcd.print(dt.hour(), DEC);
    lcd.print(':');
    lcd.print(dt.minute(), DEC);
    lcd.print(':');
    lcd.print(dt.second(), DEC);
delay(1000);
}

O que tentei fazer está na ultima parte.
Título: Re: Controlo de estufa.
Enviado por: senso em 24 de Fevereiro de 2012, 23:19
Convinha seres mais explicito, que a minha bola de cristal hoje está um pouco enevoada..
Não leves a mal, mas diz o que acontece, e o que achas que devia acontecer, e o que queres que aconteça, dizer não estou a conseguir não ajuda de todo em nada de nada.
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 24 de Fevereiro de 2012, 23:31
Obrigado pela tua paciência...

Eu tenho o Codigo:

Código: [Seleccione]
// Arduino LCD Ambient Temperature Monitor.

// Displays Current, 8 sec Average, Max and Min Temperature.

// To wire your LED screen to your Arduino, connect the following pins:
// LCD RS pin to digital pin 12
// LCD Enable pin to digital pin 11
// LCD D4 pin to digital pin 5
// LCD D5 pin to digital pin 4
// LCD D6 pin to digital pin 3
// LCD D7 pin to digital pin 2
// Additionally, wire a 10K pot to +5V and GND, with it's wiper (output) to LCD screens VO pin (pin3).
// We used the on board power source (5v and Gnd) to power the LM35 and analog pin 0 (zero) to read the analog output from the sensor.

// 17 January 2011

// include the library code:
#include <LiquidCrystal.h>  // include the LCD driver library

//declare variables
float tempC = 0;  // variable for holding Celcius temp (floating for decimal points precision)
float tempf = 0;  // variable for holding Fareghneit temp
int tempPin = 0;  // Declaring the Analog input to be 0 (A0) of Arduino board.
float samples[8]; // array to hold 8 samples for Average temp calculation
float maxi = 0,mini = 100; // max/min temperature variables with initial values. LM35 in simple setup only measures Temp above 0.
int i;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
Serial.begin(9600); //opens serial port, sets data rate to 9600 bps
pinMode(13, OUTPUT);  // The Red arduino led
lcd.begin(20, 4); // set up the LCD's number of columns and rows:

lcd.setCursor(0, 0); // set LCD cursor position (column, row)
lcd.print("Joao Oliveira "); // print text to LCD
lcd.setCursor(0, 1);
lcd.print("Temperature Project");
delay(5000); // wait 500ms
lcd.clear(); // clear LCD display
lcd.setCursor(0, 0);
lcd.print("LCD Ambient Temp");
lcd.setCursor(0, 1);
lcd.print(" Digital Monitor ");                                                                                                                                                                                                                                                                                                                                                                                                                             
delay(5000);
lcd.clear();


}

void loop()
{
digitalWrite(13, LOW);   // set the LED on

// Start of calculations FOR loop.
for(i = 0;i<=7;i++){ // gets 8 samples of temperature
samples[i] = ( 4.4 * analogRead(tempPin) * 100.0) / 1024.0; // conversion math of LM35 sample to readable temperature and stores result to samples array. 1024 is the Bit depth (quantization) of Arduino.
// 5 is the supply volts of LM35. Change appropriatelly to have correct measurement. My case is 4.4Volts.
// Serial.println(samples[i]);
Serial.print("."); // print a dot for every sample at serial monitor

// Display Current Celcius Temp to LCD
// ( LCD note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 0); // set LCD cursor position
lcd.print("Temp. Atual: "); // print to LCD
lcd.setCursor(12, 0);
lcd.print(samples[i]);  // print current Temp sample to LCD

tempC = tempC + samples[i]; // do the addition for average temperature
delay(800); // wait 800ms
} // END of FOR loop

Serial.println(""); // Like and CR at serial monitor
Serial.println("");
tempC = tempC/8.0; // calculated the averare of 8 samples in Celcius

tempf = (tempC * 9)/ 5 + 32; // converts to fahrenheit

if(tempC > maxi) {maxi = tempC;} // set max temperature
if(tempC < mini) {mini = tempC;} // set min temperature

// Send Results to Serial Monitor
Serial.println("New measurement");
Serial.print(" Average Temperature in Celcius is " );             //send the data to the computer
Serial.println(tempC);//send the data to the computer
Serial.print(" Average Temperature in Farenait is " );             //send the data to the computer
Serial.println(tempf);//send the data to the computer
Serial.print(" MAX Temperature in Celcius is " );             //send the data to the computer
Serial.println(maxi);//send the data to the computer
Serial.print(" MIN Temperature in Celcius is " );             //send the data to the computer
Serial.println(mini);//send the data to the computer

// Send results to LCD.
lcd.setCursor(0, 1);
lcd.print(" Av.T   Max   Min");

// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 2);
// print the measured temp average
lcd.print(tempC);
lcd.setCursor(6, 2);
// print the maximum temp
lcd.print(maxi);
lcd.setCursor(12, 2);
// print the minimum temp
lcd.print(mini);
digitalWrite(13, HIGH);    // set the LED off
delay(3000);   // Wait about 3 seconds to display the results to LCD screen befor starting the loop again
tempC = 0; // Set tempC to 0 so calculations can be done again

}

Agora na 4ª linha queria colocar a data e hora.
Mas não estou mesmo a ver como se faz!!!
Não entendo como devo de juntar o codigo que puses-te no post a cima.
Neste momento todo o codigo acima está a funcionar corretamente.

Pesso desculpa mas eu não percebo mesmo dada disto e entendo que estar a explicar a "burros" é complicado, isto de ser serralheiro e gostar destas coisas não é facil, isto já me tem tirado umas horas de sone em vão.

Não queria desistir mas já estive mais longe...


Título: Re: Controlo de estufa.
Enviado por: jony-kid em 26 de Fevereiro de 2012, 16:17
Por fim e com a ajuda de um amigo  lá consegui pôr o bicho a funcionar.

Penso que a funcionar corretamente...
Usei uma pilha que tinha aqui por casa de um comando do alarme de um carro com a referencia CR2016 Lithium Battery, tudo funciona mas quando deixo de alimentar o arduino a bateria não faz o seu papel, não consegue guardar a hora atual.
Lá fui eu então até ao supermercado tentar encontrar uma pilha para a substituir.

Foi então que encontrei uma com a referência igual á do topico do tr3s http://lusorobotica.com/index.php?topic=681.0 (http://lusorobotica.com/index.php?topic=681.0) mas com uma diferença....
A que comprei não é de Lithium mas sim Li-Mn, qual é o meu espanto quando a experimento e ela não funciona corretamente.

No Serialprint aparece:

RTC is NOT running!
2165/165/165 165:165:85
 since midnight 1/1/1970 = 1399160785s = 16193d
 now + 7d + 30s: 2014/5/10 23:46:55

Será que é da bateria?
Quando coloco a antiga funciona corretamente...

Com os melhores comprimentos.
João Oliveira
Título: Re: Controlo de estufa.
Enviado por: Hugu em 26 de Fevereiro de 2012, 19:34
já agora partilha o codigo completo e correcto que ja fica pra outros users k keiram fazer algo do género..  8)
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 27 de Fevereiro de 2012, 00:03
Estou a tentar fazer um video com o telemovel mas o lcd é muito claro e não aparecem as letras.
Título: Re: Controlo de estufa.
Enviado por: tops72 em 27 de Fevereiro de 2012, 13:05
Tente partilha o codigo tenho gente interessada e fazer uma coisa paracida!!
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 27 de Fevereiro de 2012, 19:14
Então cá vai o codigo que estou a usar neste momento.
De lembrar que este codigo não foi feito por mim, visto os meus conhecimentos não serem os melhores.
Excertos retirados de varios sitios.

Código: [Seleccione]
// Projeto Arduino Primeiro por George Mentzikof.
// Arduino Monitor LCD temperatura ambiente.

// Mostra atuais, 8 seg Média, Max e Min temperatura.

// Para ligar o seu ecrã LED para o Arduino, conecte os pinos seguintes:
// LCD RS pino para pino digital 12
// LCD Habilitar pinos ao pino digital 11
// LCD D4 pinos ao pino digital 5
// LCD D5 pinos para o sistema digital 4
// LCD D6 pinos ao pino digital 3
// LCD D7 pinos ao pino digital 2
// Além disso, ligar um pote de 10K para +5 V e GND, com a sua limpeza (de saída) para ecrãs LCD VO pino (pin3).
// Usamos a placa da fonte de alimentação (5v e GND) para o poder. LM35 e pino analógico 0 (zero) para ler a saída analógica do sensor

// 17 janeiro de 2011

// Incluir o código da biblioteca:
#include <LiquidCrystal.h>  // Inclui a biblioteca para LCD
#include <Wire.h>           // Biblioteca para RTC 
#include "RTClib.h"

// Declarar variaveis

RTC_DS1307 RTC;
float tempC = 0;  // Variável para a realização de Celcius temp (flutuante de precisão decimal pontos)
float tempf = 0;  // Variável para a realização de Fareghneit temperatura
int tempPin = 0;  // Declarando a entrada analógica para ser 0 (A0) da placa Arduino.
float samples[8]; // Array para armazenar 8 amostras para o cálculo da temperatura média
float maxi = 0,mini = 100; // Max / min variáveis ??de temperatura, com valores iniciais. LM35 na configuração simples só mede acima de 0 Temp.
int i3;


// Inicializar a biblioteca com os números dos pinos da interface
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
Wire.begin(); // Iniciar Biblioteca para RTC   
RTC.begin();


Serial.begin(9600); //abre a porta serial, define a taxa de dados a 9600 bps
pinMode(13, OUTPUT);  // Led Branco

lcd.begin(20, 4); // Numero de linhas e colunas do LCD:

lcd.setCursor(0, 0); // Posição co corsor (linha e coluna)
lcd.print("Joao Oliveira"); // Escreve no LCD
lcd.setCursor(0, 1);
lcd.print("Arduino project");
delay(2000); // Espera 2 segundos
lcd.clear(); // clear LCD display
lcd.setCursor(0, 0);
lcd.print("LCD Ambient Temp");  //Escreve no LCD
lcd.setCursor(0, 1);
lcd.print("Monitor Digital ");  //escreve no LCD     
lcd.setCursor(0, 2);
lcd.print("Ver. 1.3");  //Escreve no LCD   
delay(2000);
lcd.clear();


}

void loop()
{
DateTime now = RTC.now();


 
digitalWrite(13, LOW);   // Liga Led branco
Serial.println(analogRead(tempPin)); // Mostra no monitor serial o valor amostrado antes da conversão para leitura da temperatura real,
// Começa os cálculos para circuito.
for(i3 = 0;i3<=7;i3++){ // obtém 8 amostras de temperatura
samples[i3] = ( 4.4 * analogRead(tempPin) * 100.0) / 1024.0; // matemática conversão do LM35 amostra à temperatura legível e armazena o resultado em array amostras. 1024 é a profundidade de bits (quantização) do Arduino.
// 5 is the supply volts of LM35. Change appropriatelly to have correct measurement. My case is 4.4Volts.
// Serial.println(samples[i3]);
Serial.print("."); // print a dot for every sample at serial monitor

// Display Current Celcius Temp to LCD
// ( LCD note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 0); // set LCD cursor position
lcd.print("Temp.atual: "); // Escreve no LCD
lcd.setCursor(12, 0);
lcd.print(samples[i3]);  //imprime Temperatura atual no LCD

lcd.setCursor(0, 3); // Posição do cursor



tempC = tempC + samples[i3]; // Calcula a temperatura média
delay(800); // Espera 800ms


     DateTime now = RTC.now();
 
    lcd.print(now.hour(), DEC);
    lcd.print(':');
    lcd.print(now.minute(), DEC);
    lcd.print(':');
    lcd.print(now.second(), DEC);
    lcd.print("  ");
    lcd.print(now.day(), DEC);
    lcd.print('/');
    lcd.print(now.month(), DEC);
    lcd.print('/');
    lcd.print(now.year(), DEC);
    lcd.print(' ');
} // END of FOR loop

Serial.println(""); // Like and CR at serial monitor
Serial.println("");
tempC = tempC/8.0; // calculated the averare of 8 samples in Celcius

tempf = (tempC * 9)/ 5 + 32; // converts to fahrenheit

if(tempC > maxi) {maxi = tempC;} // set max temperature
if(tempC < mini) {mini = tempC;} // set min temperature


// Send results to LCD.
lcd.setCursor(0, 0);
lcd.print("Av.T   Max    Min");

// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the measured temp average
lcd.print(tempC);
lcd.setCursor(6, 1);
// print the maximum temp
lcd.print(maxi);
lcd.setCursor(12, 1);
// print the minimum temp
lcd.print(mini);
digitalWrite(13, HIGH);    // set the LED off
delay(1000);   // Wait about 0.8 seconds to display the results to LCD screen befor starting the loop again
tempC = 0; // Set tempC to 0 so calculations can be done again



}
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 06 de Março de 2012, 19:33
Boas pessoal cá estou eu de novo.

Tenho andado a ver se consigo dar ordem ao arduino para que o rtc a "x" horas ligue um led, mas sem grande sucesso.
Precisava dde uma ajudinha, alguem sabe de algum tutorial que eu me possa guiar?
Título: Re: Controlo de estufa.
Enviado por: rsoares em 09 de Março de 2012, 19:57
Boas, a "x" horas tipo todos os dias as 15h é complicado.

 Tenta usar a funçao milis();
http://arduino.cc/en/Reference/millis (http://arduino.cc/en/Reference/millis)

e podes programar para activar a cada x tempo.
Título: Re: Controlo de estufa.
Enviado por: andre_f_carvalho em 09 de Março de 2012, 21:06
Boas, a "x" horas tipo todos os dias as 15h é complicado.

 Tenta usar a funçao milis();
http://arduino.cc/en/Reference/millis (http://arduino.cc/en/Reference/millis)

e podes programar para activar a cada x tempo.


basta ler as horas da rtc e quando esta definir os valores para a hora pretendia activa uma função é simples e funciona bem
Título: Re: Controlo de estufa.
Enviado por: jony-kid em 13 de Março de 2012, 20:17
Novidades não tenho nenhumas...

Ainda não consegui entender como ler as horas do RTC.
Se alguem tiver algum toturial por ai que me possa arranjar agradecia.

Vou desligar tudo da breadboard e recomeçar com tudo individualmente.
Título: Re: Controlo de estufa.
Enviado por: rsoares em 14 de Março de 2012, 11:23
http://combustory.com/wiki/index.php/RTC1307_-_Real_Time_Clock (http://combustory.com/wiki/index.php/RTC1307_-_Real_Time_Clock)

 Espero que ajude.
Cumps.
Título: Re: Controlo de estufa.
Enviado por: m90mine em 10 de Novembro de 2012, 20:12
tenho aqui um projecto na qual tive envolvido há algum tempo atrás

tem aqui um programa em linguagem c, qual permite fazer a leitura de um sensor de humidade e temperatura

http://ecossistematp.wordpress.com/projecto/programacao/sensor-temperaturahumidade/ (http://ecossistematp.wordpress.com/projecto/programacao/sensor-temperaturahumidade/)