Buenas noches foro, soy nuevo en esto del arduino y tal vez mi problema sea sencillo, pero realmente me ha causado problemas...
Estoy diseñando un seguidor solar cronológico de 1 solo eje
ya diseñe la estructura solo me falta crear la parte lógica.
mi idea es que mediante un rtc 1302 controle al motor( con un puene h) para que "funcione" a determinadas horas
Por ejemplo:
12 del día establecida por el RTC, hacer que el motor gire por ejemplo 4 minutos
15hr del día hacer que el motor gire por 6 minutos
hasta llegar a la noche ( 18 hrs y hacer que gire en sentido contrario por 10 minutos) para que vuelva al inicio
así por todos los días.
pero realmente estoy perdió en como hacer funcionar los dos módulos he intentado y no lo logro...
si me pudieran ayudar a establecer el código o algún consejo son bien recibidos.
de antemano muchas gracias..
La filosofia del foro es ayudar en dudas puntuales sobre la base de un codigo que tu ya has escrito o al menos has intentado escribir y tendrias que haber posteado (de acuerdo a las normas del foro que deberias haber leido).La predisposicion a ayudar disminuye mucho cuando lo unico que se plantea es un enunciado de lo que se quiere y que sugiere que quieres que alguien lo haga por ti.
Muy raro el planteo de lo que comentas.
Un seguidor solar se hace con sensores opticos separados por 2 o 4 cuadrantes. trabajan por diferencia de iluminación y controlan los motores de esa manera buscando siempre el equilibrio.
Lo único que haría el RTC es decirle cuando todo eso va a funcionar.
Mi consejo es que trabajes con el seguidor solar sin restricciones y luego le agregues la restricción horaria.
Apuntando al consejo de jose lee las normas del foro y recuerda que lo que tu quieres hacer ya fue hecho, asi que una simple busqueda en google o en la lupa de este foro te dará muchas ideas.
Hola. yo hice uno y funciona medio medio.. tiene 2 LDR separados entre si por una chapita. El LDR que mas recibe luz hace girar el motor hacia ese lado hasta que nivela los valores obtenidos comparandolos entre si, cuando son casi iguales se detiene el motor y espera 10 minutos para hacer una nueva correccion. cuando es de noche se posiciona mirando a la puesta al sol, esperará media hora y luego se mueve a donde amanece y espera alli a que salga el sol. los limites estan establecidos con 2 imanes con switch magnetico para que no gire de mas. me da problemas cuando esta nublado porque se pierde
porque dado mis pocos conocimientos lo programe a medias, si bien funciona y cumple su objetivo, los dias nublados no sabe a donde mirar, o a veces quizá quedo mirando al oeste y el sol está en el este y le pega el sensor de espalda y como detecta que está bien porque le llega la luz al sensor, no gira. es mas problema de emprolijar el sensor
Podrias si quieres agregarle algo mas moderno, tipo nodemcu con lo cual tendrias capacidad para capturar alguna página web con la posición del sol. Eso lo vi por ahi.
Otra idea es que podrias usar un modelo y que siga el modelo cuando no puede discernir usando los LDR o sensores que uses.
surbyte:
Podrias si quieres agregarle algo mas moderno, tipo nodemcu con lo cual tendrias capacidad para capturar alguna página web con la posición del sol. Eso lo vi por ahi.
Otra idea es que podrias usar un modelo y que siga el modelo cuando no puede discernir usando los LDR o sensores que uses.
Si, pasa que lo nice bien basico. simplemente con los 2 LDR y nada mas. de bajo presupuesto
Bueno el nodemcu no es caro, pero exige programación importante si haces lo que digo (capturar la posición del sol de alguna página web) o te basas en algo hecho.
El seguidor solar, con ldr o similares es un proyecto bonito para aprender, o para instalaciones móviles. Pero para una instalación fija, sabiendo la posición geográfica, creo que es mejor tener un rtc y calcular donde esta el sol a cada minuto y mover los motores de acuerdo con los cálculos, o tener un almanaque en una SD, antes que depender de sensores que se terminan estropeando.
Ir leyendo datos en tiempo real es una opción, pero imho solo a nivel académico, ya que vuelves a dejar a tu sistema en manos del wifi, del propietario de la web ,o de tu suministrador de Internet.
Buena tarde foro
Este es un ejemplo básico del código de como lo quiero realizar mediante alarmas, usando un RTC 1302
Al momento de hacer la función setSyncProvider con la funcion rtc.getTime ( que es para la obtecion de datos para el RTC1302 ) indica error.
De antemano muchas gracias.
#include <DS1302.h>
#include <L298N.h>
#include <Time.h>
#include <TimeLib.h>
#include <TimeAlarms.h>
int IN1 = 8;
int IN2 = 7;
DS1302 rtc(2, 3, 5);
void setup() {
// Preparar la interfaz serial
Serial.begin(9600);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
// Cargar la hora actual desde el RTC e indicar que esto suceda de forma automática durante loop()
// Utilizamos el método RTC.getTime() de la libreria DS1302RTC. debe tener la fecha y hora correctas
setSyncProvider(rtc.getTime);
// Crear las alarmas y configurar las funciones correspondientes a cada una
Alarm.alarmRepeat(19, 53, 0, EventoEnciendemotor); // Evento a las 19:40 diario (enciende motor)
Alarm.alarmRepeat(19, 54, 0, EventoApagamotor); // Evento a las 19:45 diario (apaga motor)
}
void loop() {
// Esperar 1 segundo y procesar las Alarmas mientras tanto...
// El metodo Alarm.delay() procesa en el fondo las alarmas y llamara a las funciones indicadas
Alarm.delay(1000);
}
/**
Funcion callback que activa el relevador en el pin 3 (enciende la luz)
*/
void EventoEnciendemotor()
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
}