Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #1 on: October 03, 2012, 11:13:08 pm » |
Esto permitirá captar una señal análoga lo cual permitirá leer a Arduino un nivel máximo o mínimo y de acuerdo con el procedimiento necesario para obtener el valor necesario de las resistencias, se obtendrá un rango e cual para permitir el encendido de la lámpara el rango que tome en cuenta es de 1 a 4, donde 0 a 1 nivel del ambiente, 1 a 2, presencia silenciosa, 2 a 3, presencia con ruido con exceso y 3 a 4 exceso de ruido. En el caso al llegar la noche, por medio de un CPC132 (8V Output Solar Cell - Clare), las luces se iran encendiendo de acuerdo la luz que existe en el medio, y que el sistema de arriba, solo funcione con un determinado número de lúmenes. HE AQUÍ EL PRIMER PROBLEMA. En la noche no he experimentado cual es el ruido promedio que hacemos al dormir, esto para darle una programación extra que solo funcione en la noche. 2. El nivel de luz además de ser automática, poder ser controlada por medio de algún dispositivo móvil además del encendido y apagado de las luces. Con respecto a las luces encontré ella red el siguiente código a lo cual adaptare para obtener la primera parte del sistema. /* --------------------------------------------- Control ON/OFF con potenciómetro --------------------------------------------- Programa que enciende un LED cuando el valor de la entrada análoga comandada por el potenciómetro esta en cierto valor, cuando este valor cambia el LED se apaga, es un sistema con control ON/OFF Cosas de Mecatrónica y Tienda de Robótica */ //------------------------------------ //Funcion principal //------------------------------------ void setup() // Se ejecuta cada vez que el Arduino se inicia { Serial.begin(9600); //Inicia comunicación serial pinMode(13,OUTPUT); //Configurar el pin 13 como una salida } //------------------------------------ //Funcion ciclicla //------------------------------------ void loop() // Esta funcion se mantiene ejecutando { // cuando este energizado el Arduino //Guardar en una variable el valor de la lectura análoga int valor = analogRead(A0); Serial.println(valor); //Imprime el valor por la consola //Si el valor es mayor o igual a 500 if (valor >= 500) { digitalWrite(13,HIGH); //Enciende el LED en el pin 13 } //Si el valor es menor a 500 else { digitalWrite(13,LOW); //Apaga el LED en el pin 13 } delay(100); //Retardo de 100ms para ver los datos de la consola } //Fin programa O el siguiente, en el caso del nivel de luz /* Tutorial Arduino # 0003 - Efecto Fading En este tutorial, mostramos como se desvanece un LED en función del valor recogido en un entrada analógica. Este proyecto es de dominio público. */ int pinSensor = A0; // Entrada para el potenciómetro. int pinLed = 9; // Seleccionamos pin para el Led. int valorSensor = 0; // variable para el valor del sensor. void setup() { pinMode(pinLed, OUTPUT); // Establecemos el pin como salida. } void loop() { // Leemos el valor del sensor y lo almacenamos: valorSensor = analogRead(pinSensor); // Establecemos el valor analógico para la salida PWM analogWrite(pinLed, valorSensor / 4); // Detenemos el programa durante 30 milisegundos: delay(30); }
Con respecto al uso de varias entradas analógicas conseguí el siguiente circuito: He estado buscando uno igual para salidas digitales. En el caso de la temperatura aún estoy realizando investigación.
|