Show Posts
Pages: [1]
1  International / Software / Re: Problema para leer temperatura y luz on: December 08, 2012, 10:47:53 am
Me vale muchas gracias smiley-grin smiley-lol

Una ultima cosa , he seguido esta guia (http://www.hacktronics.com/Tutorials/arduino-character-lcd-tutorial.html) y todo me funciona bien. Si el pin 13 siempre envia 5 V (HIGH) a la LCD puedo conectar la LCD a 5V del arduino directamente? Necesito una resistencia? esque tengo entendido que el pin 13 llevaba una resistencia integrada o algo parecido.
2  International / Software / Re: Problema para leer temperatura y luz on: December 08, 2012, 08:44:43 am
Por si a alguien le sirve: http://miqueridopinwino.blogspot.com.es/2012/07/como-utilizar-un-termistor-o-sensor-de.html

El codigo que da me a funcionado, pero en lugar de tener :

 (Ground) ---- (10k-Resister) -------|------- (Thermistor) ---- (+5v)
                                                |
                                        Analog Pin 0

Yo tenia la resistencia y el termistor cambiados y me leia 33ºC normal y -90ºC cuando le daba con la estufa, pensaba  que daba igual el orden pero puesto como en el esquema los datos son mas realistas.

Ahora solo necesito ver como pasar la luz a un porcentaje.
 
3  International / Software / Re: Problema para leer temperatura y luz on: December 08, 2012, 07:08:09 am
tengo esto con la NTC y la LDR y el Vout conectado a 2 entradas analogicas lo que quiero conseguir es que arduino lea los valores los transforme en temperatura y porcentaje de luminosidad y los muestre por una pantalla LCD
4  International / Software / Re: Realizar una acción si se pulsa un botón on: December 07, 2012, 07:48:50 pm
En el programa de Arduino en la pestaña Archivo---> Ejemplos---> 0.2 Digital---> Button tienes este codigo:
Code:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);     
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);     
}

void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {     
    // turn LED on:   
    digitalWrite(ledPin, HIGH); 
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}

Tienes un boton conectado al pin digital 2, int buttonstate = 0 sirve para guardar el valor que lea arduino en el pin del boton

Code:
void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {     
    // turn LED on:   
    digitalWrite(ledPin, HIGH); 
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }

Esta parte lo que hace es leer buttonState o el pin 2 y dependiendo de si esta pulsado o no enciende un led o lo apaga respectivamente.

Espero no equivocarme. smiley
5  International / Software / Re: Problema para leer temperatura y luz on: December 07, 2012, 07:03:12 pm
He leido en un trabajo que :
Quote
A continuación vemos otra variable(luminosidadV = luminosidad * 5 / 1023), que esta viene precedida por un cálculo. Cómo hemos visto anteriormente en el punto 4.1.1., hemos hablado que el *Arduino tiene un funcionamiento de *cero a cinco voltios. Para medir estos voltios lee este voltaje y lo transforma en un número comprendido entre el 0 y 1023.
Por lo tanto, como queremos leer el voltaje utilizamos la siguiente fórmula:

Voltaje= (lectura arduino*5)/1023

Así pues nos mostrará el voltaje y lo asignaremos a la variable *lluminositatV.

Luego hace lo mismo para la resistencia NTC.

Gracias por la ayuda smiley
6  International / Software / Re: Problema para leer temperatura y luz on: December 07, 2012, 04:54:55 pm
Gracias, yo diria que ahora funciona, he acomodado los pins a como yo los tengo conectados en lugar de Serial.write he puesto Serieal.println para que me escriba cada cosa en una linea distinta y quedó asi:

Code:
int ntc = 5; // declaras el ntd
int ldr = 0;
int valor_ntc=0; // variable para guardar el dato del NTC
int valor_ldr=0;  // variable para guardar el dato del LDR

void setup()
{
   Serial.begin(9600);   // abrimos la comunicación Serial
   pinMode(ntc,INPUT);
   pinMode(ldr,INPUT);
   
}

void loop()
{
  valor_ntc= analogRead(ntc);       // guardamos el valor del NTC en una variable
  Serial.println("Temperatura: ");    // escribimos por serial
  Serial.println((valor_ntc*5)/1023); // calculamos el valor del NTC
 
  valor_ldr = analogRead(ldr);        // Guardamos el valor del LDR
  Serial.println("Luz :");                 
  Serial.println((valor_ldr*5)/1023);
  delay(1000);                             // esperamos para no saturar el serial
}

lo conecto todo y el serial monitor muestra esto:

Quote
Temperatura:
4 (supongo que a temperatura ambiente)
Luz :
0(con la luz actual)

Y

Quote
Temperatura:
4 (supongo que a temperatura ambiente)
Luz :
2(con el dedo encima de la resistencia)

La NTC me da 10kΩ en un vaso con hielo y 1800 Ω en agua caliente

sabeis como convertir esos numeros a grados celsius y a porcentaje de luminosidad?
7  International / Software / Re: Problema para leer temperatura y luz on: December 07, 2012, 10:37:28 am
Otra pregunta, he seguido esta guia (http://www.hacktronics.com/Tutorials/arduino-character-lcd-tutorial.html) y todo me funciona bien. Si el pin 13 siempre envia 5 V (HIGH) a la LCD puedo conectar la LCD a 5V del arduino directamente? Necesito una resistencia?
8  International / Software / Problema para leer temperatura y luz on: December 07, 2012, 10:20:18 am
Tengo 2 resistencias NTC y LDR y estos codigos:

Quote
int valorldr = 5;
int pinldr = 5;

 
void setup(){
  Serial.begin(9600);
  int valorldr = analogRead(pinldr);
  int lluminositatV = (valorldr * 5 / 1023);
}

void loop(){
int valorldr = analogRead(pinldr);
Serial.println("Luz:");
Serial.println( valorldr );

int luminosidadV = (valorldr * 5 / 1023);
Serial.println("Luminosidad en voltioss del divisor de tension. ");
Serial.println(luminosidadV);
delay(2000);

}

Quote
int sensorTemp = 5;
int Temperatura = analogRead(sensorTemp);
int TemperaturaV = (Temperatura * (5 / 1023));

void setup() {
  Serial.begin(9600);
int sensorTemp = 5;
int Temperatura = analogRead(sensorTemp);
int TemperaturaV = (Temperatura * (5 / 1023));
}

void loop(){
Temperatura = analogRead(sensorTemp);
Serial.println("Temperatura leida [ de 0 a 1023] ");
Serial.println(Temperatura);
TemperaturaV = Temperatura * 5 / 1023 ;
Serial.println("Temperatura en voltios del divisor de tension. ");
Serial.println(TemperaturaV);
delay(2000);


}


En la LDR si le acerco el flash del movil Luz baja a 850 mas o menos.
La NTC no consigo que se mueva.
No se si el codigo esta bien.
Pages: [1]