Anda di halaman 1dari 7

Introducción:

En este proyecto trabajamos con el control de puertos en serie para


solucionar algún problema (en este caso, una mejora) de la vida real de
manera analítica y con sentido de responsabilidad.

Nuestra iniciativa fue apoyar al medio ambiente aprovechándonos de la luz


solar, el uso de paneles solares es una opción benéfica en el consumo de
la energía, pero encontramos el problema de que dependiendo de la hora
del día, la inclinación de la luz con respecto a la cara del panel es cada vez
menor, por lo que no es posible aprovechar en su máximo de este recurso.
Nuestra solución es crear un artefacto que permita seguir a la luz de tal
manera que siempre esté aprovechando la mayor cantidad de ésta,
mediante comandos en los que le dé opción al usuario de escoger la
posición en el que se encuentre el panel dependiendo de la etapa del día
(siendo un ángulo de inclinación diferente en cada caso), y de apagar el
artefacto.

Materiales:

Para ello se utilizaron: Laptop, usb, una protoboard, cables de conexión,


base del panel (hecho de madera) resistencias, un servo, se construyó una
caja de madera que permita tener todas las conexiones protegidas del
exterior, cables usb, se utilizó Arduino uno y el programa Visual Studio
2012.
Procedimiento

Primeramente elaboramos la parte física; se consiguieron los materiales ya


mencionados, al ver el aproximado del tamaño del pequeño circuito se
elaboró la caja en la que se iba a guardar, dejando un espacio para el paso
de los cables, se pintó y colocó la base del que supone estará el panel
solar con una configuración que le permita girar sobre sí, se colocó el
servo detrás agarrado a la base, los cables de conexión para los
elementos del circuito en la protoboard y el enlace hacia la computadora
(laptop).

Se requirió instalar el programa arduino y se elaboró primeramente el


código en él, se utilizó para dar instrucciones al servo sobre qué tanto
debe moverse, inicializando en cero y configurando para que lea y adopte
los valores que le serán enviados desde la plataforma Visual Studio,
considerando la posición inicial del servo en 90 grados, otorgamos valores
de 105, 140 y nuevamente 90 a sus opciones,

Después se utilizó el programa Visual Studio 2012 para su manejo, dicho


programa ya teníamos instalado, por lo que procedimos a crear un
proyecto nuevo, dando en la opción de Aplicación de consola CLR, y
creando los archivos de código de fuente, archivos de encabezado y de
recursos necesarios, se le dio instrucciones de abrir el puerto y manejar las
señales para que se transmitan al Arduino, se creó un código en el que se
le da, por medio de la pantalla, la opción al usuario de escoger la etapa del
día en el que se posiciona el panel, mediante condiciones y validaciones
sobre el dato recibido por el usuario para asegurar las opciones del
programa.
Resultados

En Visual Studio 2012:

#include"stdafx.h"
#include<iostream>
#include<stdlib.h>

using namespace std;

using namespace System;


using namespace System::IO::Ports;

int main(array<System::String^>^args)
{ system("COLOR B0");

int input=2;
setlocale(LC_CTYPE, "spanish");
SerialPort port("COM4", 9600);

port.Open();
system("CLS");

while(true)
{system("CLS");
cout<<"\n\n\tEn qué etapa del día te encuentras? \n\n1)Mañana";
cout<<"\n2)Medio día\n3)Noche(apagar)\n\t\t\t\t\t\tOpcion[ ]\b\b";
input = Convert::ToInt32(Console::ReadLine());

if(input == 1)
{port.Write("A");}

else if(input == 2)
{port.Write("B");}

else if(input ==3)


{cout<<"\nApagando. . .";
port.Write("C");
system("Pause>null");
goto Fin; }

Fin:
return 0;}
En Arduino:

#include <Servo.h>

int val = 0;

Servo servo;

void setup()

{ Serial.begin(9600);

servo.attach(3); }

void loop()

{ if(Serial.available() > 0)

{ val = Serial.read();

Serial.println(val);

if(val == 65)

{ servo.write(105); }
if(val == 66)

{ servo.write(140); }

if(val == 67)

{servo.write(90); }

delay(500); }
Referencias:

https://www.ecogestos.com/paneles-solares-importancia-y-caracteristicas/

https://www.youtube.com/watch?reload=9&v=zJRGYprXllE

http://mecabot-ula.org/category/tutoriales/arduino/

https://www.luisllamas.es/comunicar-arduino-con-c/

Anda mungkin juga menyukai