Você está na página 1de 10

Proyecto.

A continuación, presento la información en relación a lo que intervino en el proceso de creación


del trabajo. Identificando los complementos y la programación utilizada.

Elementos físicos.

Servo motor.

Un servomotor es un tipo especial de motor que permite


controlar la posición del eje en un momento dado. Está
diseñado para moverse determinada cantidad de grados y
luego mantenerse fijo en una posición.

Un servomotor (o servo) es un tipo especial de motor con


características especiales de control de posición. Al hablar
de un servomotor se hace referencia a un sistema
compuesto por componentes electromecánicos y
electrónicos.

Placa Arduino.

Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en
hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores. Esta
plataforma permite crear diferentes tipos de microordenadores de una sola placa a los que la
comunidad de creadores puede darles diferentes tipos de uso.

Para poder entender este concepto, primero vas a tener que entender los conceptos de hardware
libre y el software libre. El hardware libre son los dispositivos cuyas especificaciones y diagramas
son de acceso público, de manera que cualquiera puede replicarlos. Esto quiere decir que Arduino
ofrece las bases para que cualquier otra persona o empresa pueda crear sus propias placas,
pudiendo ser diferentes entre ellas, pero igualmente funcionales al partir de la misma base.

El software libre son los programas informáticos


cuyo código es accesible por cualquiera para
que quien quiera pueda utilizarlo y modificarlo.
Arduino ofrece la plataforma Arduino IDE
(Entorno de Desarrollo Integrado), que es un
entorno de programación con el que cualquiera
puede crear aplicaciones para las placas
Arduino, de manera que se les puede dar todo
tipo de utilidades.
Buzzer

Un zumbador o mejor conocido como buzzer (en inglés) es un pequeño transductor capaz de
convertir la energía eléctrica en sonido. Para hacerlos funcionar solo basta conectar el positivo con
el + y la tierra o negativo con el – de una batería
o cualquier fuente de corriente directa.

El funcionamiento se basa en el efecto


piezoeléctrico de los materiales, Este efecto
funciona de tal manera que cuando aplicamos
un voltaje el volumen del material cambia
ligeramente. Los zumbadores están construidos
con dos pequeñas placas una metálica y una
cerámica, las cuales aprovechan este efecto, pero solo generan un clic ya que los materiales
cambiaron de forma, pero no regresan a su estado natural hasta que se les quita el voltaje.

LED ’s

Viene del inglés L.E.D (Light Emitting Diode)


traducido diodo emisor de luz. Se trata de un
cuerpo semiconductor sólido de gran resistencia
que, al recibir una corriente eléctrica de muy baja
intensidad, emite luz de forma eficiente y con alto
rendimiento.

La vida útil de una lámpara LED es hasta 30 veces


más que la de una lámpara incandescente, 25 veces
más que la de un halógeno, 30 veces más que la de
un tubo fluorescente y 3 veces más que la de una
lámpara de bajo consumo. La mayoría de las
lámparas LED de interiores tienen una vida media
30.000/50.000 horas. Por tanto, habrá comprado
hasta 25 halógenos convencionales antes de sustituir una LED equivalente.
Sensor ultrasónico.

El sensor HC-SR04 es un módulo que incorpora un


par de transductores de ultrasonido
que se utilizan de manera conjunta para
determinar la distancia del sensor con un
objeto colocado enfrente de este. Quizá la
característica más destacada del HC-SR04 es que
puede ser adquirido por una baja suma de
dinero y esto mismo lo ha hecho muy
popular. Sin embargo, la baja cantidad de
dinero que invertimos en el sensor, no
demerita demasiado en la exactitud del
sensor ni en su facilidad de uso, por lo que su
relación costo / beneficio es muy buena.

El sensor HC-SR04 es un módulo que incorpora un par de transductores de ultrasonido que se


utilizan de manera conjunta para determinar la distancia del sensor con un objeto colocado
enfrente de este. Un transductor emite una “ráfaga” de ultrasonido y el otro capta el rebote de
dicha onda. El tiempo que tarda la onda sonora en ir y regresar a un objeto puede utilizarse para
conocer la distancia que existe entre el origen del sonido y el objeto.

Código de programación.

C++

El lenguaje de programación de Arduino está basado en C++ y aunque la referencia para el


lenguaje de programación de Arduino está en http://arduino.cc/en/Reference/HomePage,
también es posible usar comandos estándar de C++ en la programación de Arduino.

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup.
La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos
que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes
orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos
paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a
objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.
Actualmente existe un estándar, denominado ISO C++,

C# es un lenguaje propietario de Microsoft que mezcla las características básicas de C++ (no las
avanzadas) simplificándolas al estilo Java y ofreciendo un framework. C# forma parte de la
plataforma .NET
Elementos básicos en la programación en C++

{} entre llaves

Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para
los bloques de programación setup(), loop(), if., etc.

Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el
compilador dará errores. El entorno de programación de Arduino incluye una herramienta de gran
utilidad para comprobar el total de llaves. Sólo tienes que hacer clic en el punto de inserción de
una llave abierta e inmediatamente se marca el correspondiente cierre de ese bloque (llave
cerrada).

REPORT THIS AD

REPORT THIS AD

; punto y coma

El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de


Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle foro”.

Nota: Si olvidáis poner fin a una línea con un punto y coma se producirá en un error de
compilación.

/*… */ bloque de comentarios

Los bloques de comentarios, o comentarios multilínea son áreas de texto ignorados por el
programa que se utilizan para las descripciones del código o comentarios que ayudan a
comprender el programa. Comienzan con / * y terminan con * / y pueden abarcar varias líneas.

Debido a que los comentarios son ignorados por el compilador y no ocupan espacio en la memoria
de Arduino pueden ser utilizados con generosidad.

// línea de comentarios

Una línea de comentario empieza con / / y terminan con la siguiente línea de código. Al igual que
los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la
memoria.

Una línea de comentario se utiliza a menudo después de una instrucción, para proporcionar más
información acerca de lo que hace esta o para recordarla más adelante.

A la hora de programar Arduino, es fundamental usar la referencia que disponemos online en


http://arduino.cc/en/Reference/HomePage o en la ayuda del IDE de Arduino. Cualquier duda
sobre un comando, función, etc.… debemos consultar en la referencia de Arduino.
Código de la Programación.

#include <Servo>

Servo Paleta;

int Eche=5;

int Trij = 6;

int Zym=3;

const int LedVerde = 7;

const int LedAmarillo = 6;

const int LedRojo = 1;

unsigned int Fitncia;

unsigned int Empo;

void setup() { //Configuración

Serial.begin(960);

Paleta.attach(0);

pinMode (LedVerde, OUTPUT);

pinMode (LedAmarillo, OUTPUT);

pinMode (LedRojo,OUTPUT);

pinMode (Trig, OUTPUT);

pinMode (Ech, INPUT);

pinMode (Zum, OUTPUT);

// put your setup code here, to run once:

void PlumaBaja(){

Paleta.write(0);

delay (150);

}
void PlumaMedia(){

Paleta.write(65);

delay(100);

void PlumaArriba(){

Paleta.write(120);

delay(50);

void SonAma (){

tone(3,2500);

delay(200);

noTone(Zum);

delay(500);

void SonAmaRi(){

tone(3,1500);

delay(150);

noTone(Zum);

delay(200);

delay(100);

void SonGr(){

tone (3,3000);

delay (250);

noTone (Zum);
delay (250);

void Alejado (){

digitalWrite (LedVerde, HIGH);

digitalWrite (LedAmarillo, LOW);

digitalWrite (LedRojo, LOW);

void AlejCer(){

digitalWrite(9,HIGH);

delay (100);

digitalWrite(9,LOW);

delay(150);

void AlejMuy(){

digitalWrite(9,HIGH);

delay(200);

digitalWrite(9,LOW);

delay(250);

void Alert(){

digitalWrite(10, HIGH);

delay(50);

digitalWrite(10,LOW);

delay(50);

}
void Aprox(){

digitalWrite (8, HIGH);

delay (100);

digitalWrite (8,LOW);

delay(150);

void Suspenso (){

digitalWrite (LedVerde, LOW);

digitalWrite (LedAmarillo, HIGH);

digitalWrite (LedRojo, LOW);

void Stop (){

digitalWrite (LedVerde, LOW);

digitalWrite (LedAmarillo, LOW);

digitalWrite (LedRojo, HIGH);

void loop() {

digitalWrite(Trig, HIGH);

delayMicroseconds(10);

digitalWrite(Trig, LOW);

Tiempo = (pulseIn (Ech, HIGH)/2);

Distancia = float (Tiempo * 0.0323);

Serial.print ("Distancia: ");

Serial.print (Distancia);
if (Distancia > 36){

Alejado ();

PlumaArriba();

else if ((Distancia<35) && (Distancia>26)){

SonGr();

Aprox();

PlumaArriba();

else if ((Distancia<25) && (Distancia >16)){

Suspenso();

PluaMedia();

SoAma();

AlejCer();

else if ((Distancia<15) && (Distancia>6)){

PlumaBaja();

SonAmaRi();

AlejMuy();

else if (Distancia <5){

Stop();

Alert();

SonRoj();

delay (50);
Metrologia

Al ser quien desarrollo la yori del trabajo, la toma de datos en un principio saldría de un tutorial ya
en red, pero se presento problemas a la hora de descargar el video, acto seguido me vi rebasado
por la tarea, lo que se vio motivado a pedir apoyo, el cual me fue negado. Lo anterior me motivo a
buscar tutoriales específicos, leer sobre la programación ya no tanto la teoría sino la práctica.

La selección del proyecto se llevo por comodidad entre otros dos más, una línea de producción
simulada y un brazo robótico, finalmente por cuestiones de presupuesto, donde si se vio
decadencia, se opto por un proyecto intermedio, pues la complejidad de ejes en un brazo era el
plus, así como una coordinación y tiempos y movimientos en la línea era solo de insertar motores
y contadores.

La información la fui acumulando en un servidor que me apoyo como las muestras de programas
fallidos, de ese modo identificaba con bastante sencillez los avances obtenidos y las mejoras, de
igual modo la colocación de notas en el programa me orientaba a identificar sus partes.

Conclusión.

El trabajo proyecto de la materia de PLC significo un reto al retomar habilidades desarrolladas en 3


semestres anteriores en relaciona al programación de objetos, de igual modo a mi persona
significo una fuerte inversión en la adquisición de complementos que me permitieron desarrollar
la parte de la programación y simulación, encontrando detalles mecánicos que con la experiencia
supe superar y que me permitieron desarrollar mi actuar en la adaptación a una maqueta que
cumplía faltantes a considerar.

Dentro del desarrollo del trabajo fue divertido saber nuevos modos de trabajo en relación
estrictamente a lo programable, pues se implementaron cosas que no recordaba en relación a la
implantación de funciones dentro del mismo programa, así como el de saber ordenar el trabajo
que me permitiera desarrollar orden y empieza en mi área.

Referencias.

Bruce Eckel (2012) Pensar en C++. Volumen 1. Editorial propia Bruce Eckel.

Using C++ (1989) McGraw Hill.

Christian Picon (2016). Puente levadizo con Arduino. [Video] consultado en agosto de 2019 de
https://www.youtube.com/watch?v=6vGWFRi4g7U

Você também pode gostar