Está en la página 1de 8

Programa Arduino

Programacin

Programacin

SOFWARE YA EDITADO LISTO PARA USAR ARDUINO UNO

/*
Programa: Arduino Solar Tracker
Autor: Humberto Higinio
Web: www.humbertohiginio.com
Canal de Youtube: https://www.youtube.com/user/HHSolis
Video Exclusivo para mi canal de Youtube
Todos los Derechos Reservados - 2016
Cdigo de Dominio Pblico
*/

#include <Servo.h>
//Definiendo Servos
Servo servohori;
int servoh = 0;
int servohLimitHigh = 160;
int servohLimitLow = 20;

Servo servoverti;
int servov = 0;
int servovLimitHigh = 160;
int servovLimitLow = 20;
//Asignando LDRs
int ldrtopl = 2; //top left LDR
int ldrtopr = 1; //top right LDR
int ldrbotl = 3; // bottom left LDR
int ldrbotr = 0; // bottom right LDR

void setup ()
{
servohori.attach(10);
servohori.write(0);
servoverti.attach(9);
servoverti.write(0);
delay(500);
}

void loop()
{
servoh = servohori.read();
servov = servoverti.read();
//capturando valores analogicos de cada LDR
int topl = analogRead(ldrtopl);
int topr = analogRead(ldrtopr);
int botl = analogRead(ldrbotl);
int botr = analogRead(ldrbotr);
// calculando el Promedio
int avgtop = (topl + topr) / 2; //Promedio del top LDRs
int avgbot = (botl + botr) / 2; //Promedio del bottom LDRs
int avgleft = (topl + botl) / 2; //Promedio del left LDRs
int avgright = (topr + botr) / 2; //Promedio del right LDRs

if (avgtop < avgbot)


{
servoverti.write(servov +1);
if (servov > servovLimitHigh)
{

servov = servovLimitHigh;
}
delay(10);
}
else if (avgbot < avgtop)
{
servoverti.write(servov -1);
if (servov < servovLimitLow)
{
servov = servovLimitLow;
}
delay(10);
}
else
{
servoverti.write(servov);
}

if (avgleft > avgright)


{
servohori.write(servoh +1);
if (servoh > servohLimitHigh)
{
servoh = servohLimitHigh;
}
delay(10);
}
else if (avgright > avgleft)
{
servohori.write(servoh -1);

if (servoh < servohLimitLow)


{
servoh = servohLimitLow;
}
delay(10);
}
else
{
servohori.write(servoh);
}
delay(50);
}

Construccin de prototipo seguidor solar


Prototipo se construy en una base de acrlico, usando pegamento especial para
fabricacin de estructura la cual se fabric de esta manera para visualizar las
conexiones que van desde microcontrolador Arduino a servomotores y panel
fotovoltaico, y ver su funcionamiento.

La maquete se realizo fue diseada y fabricada por sus propios creadores, la base
que sujeta los 2 servomotores y se determin que fuera de material aluminio por
sus propiedades ya que es un material maleable ligero, el pedestal que sujeta
servos y base se fabric de plstico con el propsito que fuera cambiable si es que
sufriera algn tipo de desperfecto por el movimiento, por otra parte se fabric el
panel fotovoltaico para hacer la demostracin de que el proyecto funcionaba el
panel que se coloc en maqueta fue con una entrada de 12 volts.
La programacin de Arduino se realiz mediante un programa libre que facilita la
marca Arduino, esta progracion se hace segn pin de la tarjeta microcontroladora
que se desee ya que se usa segn necesidad del proyecto, adems al programa
se le aadi un tipo de seal para que se ajustaran los LDR que sera para darle
ms y mejor controlado el movimiento y as hacer que la maqueta funcionara en
condicione que se requeran para la demostracin.

También podría gustarte