Pages: [1]   Go Down
Author Topic: Llego nuevo y presento mi Proyecto con Arduino  (Read 843 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muy buenas, llego nuevo al foro después de haber estado investigando mucho sobre todo el entorno Arduino y las posibilidades que ofrece.
Mi nombre es Víctor y usaré este Proyecto como Proyecto Fin de Carrera de Ingeniería Industrial.
Mi idea es construir una estación de toma de datos para una piscina climatizada. Me explico:
Quiero crear una estación que tome datos con sensores sobre variables que pueden ser de interés y utilidad en una instalación que es una piscina climatizada. Éstas características a medir pueden ser, por ejemplo, temperatura ambiente, temperatura del agua, humedad relativa, luminosidad y calidad del aire.
También me gustaría que ésta información fuera recogida por Arduino a través de módulos instalados y enviada a un ordenador para su análisis. Contemplaría aquí la opción de comunicación inalámbrica (bluetooth o wifi) o cableada.

¿Alguien que me alumbre, oriente, de ideas o me marque el camino por dónde empezar?

Tengo una placa Arduino Leonardo y estoy haciendo los tutoriales de encender Leds y demás.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Al igual que tu estoy empezando con esto de Arduino.
Aunque podría comentar algo al respecto.

La  temperatura ambiente Podrías usar un LM35 es un sensor de Temperatura.
Temperatura del agua,       No conozco el número exacto pero sé que si existe más de alguno.
Humedad relativa,                No conozco el número exacto pero sé que si existe más de alguno
Luminosidad,                         Podrías usar un LDR o fotocelda.
calidad del aire.                      No conozco.
bluetooth                                 Supongo que hay varios compatibles con arduino
Wifi.                                            Creo que con NRF20L01

Revisa las Librerías y los datasheet de los componentes.

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenos dias,

Yo estoy haciendo algo parecido pero estoy tomando datos intensidad y corriente de una placa solar y tambien de una estacion meteorologica. Yo he usado un arduino mega y una tarjeta SD para guardar los datos. Es muy facil programar para la SD y funciona perfectamente. Podriamos estar en contacto viendo el parecido de nuestros proyectos fin de carrera.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 
Buenos dias,

Yo estoy haciendo algo parecido pero estoy tomando datos intensidad y corriente de una placa solar y tambien de una estacion meteorologica. Yo he usado un arduino mega y una tarjeta SD para guardar los datos. Es muy facil programar para la SD y funciona perfectamente. Podriamos estar en contacto viendo el parecido de nuestros proyectos fin de carrera.


Al igual que tu estoy empezando con esto de Arduino.
Aunque podría comentar algo al respecto.

La  temperatura ambiente Podrías usar un LM35 es un sensor de Temperatura.
Temperatura del agua,       No conozco el número exacto pero sé que si existe más de alguno.
Humedad relativa,                No conozco el número exacto pero sé que si existe más de alguno
Luminosidad,                         Podrías usar un LDR o fotocelda.
calidad del aire.                      No conozco.
bluetooth                                 Supongo que hay varios compatibles con arduino
Wifi.                                            Creo que con NRF20L01

Revisa las Librerías y los datasheet de los componentes.



Perfecto, muchas gracias por vuestra ayuda! Estamos en contacto Aitor46
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Alguien que sepa de algún sensor de calidad del aire que mida concentración de un gas específico en el aire?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

No se que gas necesitas detectar o controlar, de todas formas si pones en ebay.es la busqueda de "arduino gas sensor" te devolvera un monton de sensores de gas diferentes: humo, metano, monoxido de carbono, dioxido de carbono, butano, gas natural, ...

no se si te sirve de algo la respuesta... espero que si...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hasta ahora, he montado en una protoboard una pantalla LCD 48x84, un sensor de temperatura y humedad DHT11 y un modulo reloj RTC DS1307.
Lo he hecho funcionar todo por separado con los codigos de ejemplo y ningún problema.
Estoy intentando que funcione todo junto, el sensor tome datos y se muestren por pantalla junto con la hora y fecha.
Aqui pongo mi código y explico el problema que tengo: Cuando inicio la pantalla en el void setup{} y muestro un mensaje de inicio, lo hace perfectamente. Pero cuando entro en el void loop{} y le pido que muestre los datos sobre fecha, hora, temperatura y humedad, no me muestra nada.
A ver si alguien puede echarme una mano con esto!!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
/* PRUEBA DE CONEXION Y COMUNICACION PANTALLA,RELOJ Y SENSOR DE TEMPERATURA
  ++ LOS PINES DE CONEXION DE CADA MODULO ESTAN NUMERADOS DE IZQ. A DER.++
  
     [ CONEXION PINES DE LA PANTALLA LCD ]
      * Pin 1 (RST) -> Arduino digital 6 (D6) 
      * Pin 2 (CE) -> Arduino digital 7 (D7) 
      * Pin 3 (DC) -> Arduino digital 5 (D5) 
      * Pin 4 (DIN) -> Arduino digital 4 (D4) 
      * Pin 5 (CLK) - Arduino digital 3 (D3) 
      * Pin 6 (Vcc) -> 3.3V
      * Pin 7 (LIGHT) -> NO CONECTAR
      * Pin 8 (GND) -> GND
    
    [CONEXION PINES DEL SENSOR DE TEMPERATURA Y HUMEDAD]
    * Pin 1 (Vcc) -> +5V
    * Pin 2 (DATA) -> D7 Arduino
    * Pin 3 (NC) -> No Conectar
    * Pin 4 (GND) -> GND
    
    [CONEXION PINES DEL RELOJ]
    * Pin 1 (GND) -> GND
    * Pin 2 (Vcc) -> +5V
    * Pin 3 (SDA) -> SDA Arduino
    * Pin 4 (SCL) -> SCL Arduino
*/

//IMPORTAR LIBRERIAS PARA CONTROLAR MODULOS
#include <Adafruit_GFX.h> //libreria de pantalla LCD
#include <Adafruit_PCD8544.h> //libreria de pantalla LCD
// Adafruit_PCD8544 display = Adafruit_PCD8544(SCLK, DIN, DC, CS, RST); 
Adafruit_PCD8544 display = Adafruit_PCD8544(6, 5, 4, 3, 2);
 
#include <DHT.h>        //Libreria del sensor de temperatura y humedad DHT11
#define DHTPIN 7        // Se indica en que pin digital esta conectado el sensor
#define DHTTYPE DHT11   // Indicamos el tipo de sensor DHT 11 
DHT dht(DHTPIN, DHTTYPE); 
 
 
#include <Wire.h>     //Libreria protocolo comunicacion I2C
#include "RTClib.h"   //libreria de modulo reloj
RTC_DS1307 RTC;       
 

 
void setup () {
   
  Serial.begin(9600);     //Inicio comunicacion puerto serie
  display.begin();          //Inicio pantalla
  display.setContrast(60);  //Defino contraste apropiado
  display.clearDisplay();   //limpio la pantalla
 
  dht.begin();             //Inicio sensor DHT11
 
  // IMPRIMO MENSAJE DE COMIENZO POR PANTALLA
   
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("PRUEBA DE");
  display.setCursor(24, smiley-cool;
  display.print("PROYECTO");
  display.setCursor(1, 24);
  display.print("lcd-reloj");   
  display.setCursor(0, 32);
  display.print("temp&humedad");
  display.setCursor(0, 40);
  display.print("version ");
  display.setTextColor(WHITE, BLACK);
  display.print("1.0");
  display.display();
  delay (10000);
  display.clearDisplay(); 
   
Wire.begin();         //inicio comunicacion I2C
Wire.beginTransmission(0x68);   //Inicio comunicacion con direccion del reloj
Wire.write(0x07); // move pointer to SQW address
Wire.write(0x10); // sends 0x10 (hex) 00010000 (binary) to control register - turns on square wave
Wire.endTransmission();

 RTC.begin();      //Inicio comunicacion reloj
// RTC.adjust(DateTime(__DATE__, __TIME__)); 
// Descomenta la linea de arriba si necesitas ajustar el reloj 
  if (! RTC.isrunning()) {
    Serial.println("Algo falla en el reloj!");
    
  } 

 

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
void loop () {
   
  DateTime now = RTC.now();   //tomo datos del reloj
 //Muestra informacion del reloj en puerto serie 
    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();
 
 //muestra informacion del reloj en pantalla
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("HORA");
  display.setCursor(0,8);
  display.print(now.hour(), DEC);
  display.print(':');
  display.print(now.minute(), DEC);
  display.print(':');
  display.print(now.second(), DEC);
  display.setCursor(0,16);
  display.println("FECHA");
  display.setCursor(0,24);
  display.print(now.day(), DEC);
  display.print('/');
  display.print(now.month(), DEC);
  display.print('/');
  display.print(now.year(), DEC);
  display.display();
  delay(5000);
  display.clearDisplay(); 
  
 // PROCESO PARA IMPRIMIR TEMPERATURA Y HUMEDAD EN PANTALLA Y SERIE
 
 // La lectura de la temperatura o de la humedad lleva sobre 250 milisegundos 
 // La lectura del sensor tambien puede estar sobre los 2 segundos (es un sensor muy lento)
  int h = dht.readHumidity();  //Guarda la lectura de la humedad en la variable float h
  int t = dht.readTemperature();  //Guarda la lectura de la temperatura en la variable float t

  // Comprobamos si lo que devuelve el sensor es valido, si no son numeros algo esta fallando
  if (isnan(t) || isnan(h)) // funcion que comprueba si son numeros las variables indicadas
  {
    Serial.println("Fallo al leer del sensor DHT"); //Mostramos mensaje de fallo si no son numeros
  } else {
    
 //Mostramos mensaje con valores actuales de humedad y temperatura
    Serial.print("Humedad relativa: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperatura: ");
    Serial.print(t);
    Serial.println(" *C");
 //Mostramos los valores actuales de humedad y temperatura por pantalla
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("Humedad (%)");
  display.setCursor(0,8);
  display.print(h);
  display.setCursor(0,16);
  display.print("Temperatura (ºC)");   
  display.setCursor(0,24);
  display.print(t);
  display.display();
  delay (10000);
  display.clearDisplay(); 
  
  }
}

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

He de decir que por el puerto serie se muestra todo perfecto, pero no sale nada en pantalla en el bucle de toma de datos smiley-cry
Logged

Pages: [1]   Go Up
Jump to: