0% encontró este documento útil (0 votos)
29 vistas

Led Con Arduino

Este documento presenta un laboratorio sobre el manejo de entradas y salidas de un microcontrolador Arduino. Explica cómo encender y apagar un LED conectado al pin 13 con un intervalo de 1 segundo usando el código de programación. También analiza la arquitectura del Arduino y conceptos como procesamiento secuencial y paralelo.

Cargado por

Cristian Serrano
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas

Led Con Arduino

Este documento presenta un laboratorio sobre el manejo de entradas y salidas de un microcontrolador Arduino. Explica cómo encender y apagar un LED conectado al pin 13 con un intervalo de 1 segundo usando el código de programación. También analiza la arquitectura del Arduino y conceptos como procesamiento secuencial y paralelo.

Cargado por

Cristian Serrano
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

1

Preinforme#1 Manejo de entradas y salida


Cristian Camilo Guevara 20122007140
David Fernando Gonzales 20122007013
Universidad Distrital Francisco Jos de Caldas
Bogot D.C, Colombia
[email protected]

Resumen- En este laboratorio se dar la aplicacin de


controlador (arduino), basndose en la informacin bsica
y recibida en clase con el objetivo de familiarizarse con su
entorno de programacin y adicionalmente ver las
configuraciones y tiempos que se le pueden dar al mismo.
Abstract- This paper aims to identify the type of
architecture for the microcontroller ( Arduino ) , based on
the basic class and received information , recognizing
through codes that handles the Arduino and how to receive
this information architecture.

I. INTRODUCCIN
Hoy en da, los programas cada vez ms grandes y complejos
demandan mayor velocidad en el procesamiento de
informacin, lo que implica la bsqueda de microprocesadores
ms rpidos y eficientes.
Los avances y progresos en la tecnologa de semiconductores,
han reducido las diferencias en las velocidades de
procesamiento de los microprocesadores con las velocidades
de las memorias, lo que ha repercutido en nuevas tecnologas
en el desarrollo de microprocesadores. Hay quienes
consideran que en breve los microprocesadores RISC (reduced
instruction set computer) sustituirn a los CISC (complex
instruction set computer), pero existe el hecho que los
microprocesadores CISC tienen un mercado de software muy
difundido, aunque tampoco tendrn ya que establecer nuevas
familias en comparacin con el desarrollo de nuevos proyectos
con tecnologa RISC.
La arquitectura RISC plantea en su filosofa de diseo una
relacin muy estrecha entre los compiladores y la misma
arquitectura como se ver ms adelante.

II. OBJETIVOS
A. Objetivo general
Reconocer las diversas entradas y salidas del microcontrolador
y sus caractersticas tcnicas.
B. Objetivos Especficos
Realizar el cdigo de encendido y apagado un led con un
intervalo de 1 segundo, usando el PIN 13 como salida.

Analizar la clase de arquitectura que maneja Arduino.


III. MARCO REFERENCIAL
A. Arduino
Es una plataforma de hardware libre, basada en una placa con
un micro controlador y un entorno de desarrollo, diseada para
facilitar el uso de la electrnica en proyectos
multidisciplinares.
El hardware consiste en una placa con un micro controlador
Atmel AVR y puertos de entrada/salida. Los micro
controladores ms usados son el Atmega168, Atmega328,
Atmega1280, y Atmega8 por su sencillez y bajo coste que
permiten el desarrollo de mltiples diseos. Por otro lado el
software consiste en un entorno de desarrollo que implementa
el lenguaje de programacin Processing/Wiring y el cargador
de arranque que es ejecutado en la placa. Se programa en el
ordenador para que la placa controle los componentes
electrnicos.
Desde octubre de 2012, Arduino se utiliza tambin con micro
controladoras CortexM3 de ARM de 32 bits, que coexistirn
con las ms limitadas, pero tambin econmicas AVR de 8
bits. ARM y AVR no son plataformas compatibles a nivel
binario, pero se pueden programar con el mismo IDE de
Arduino y hacerse programas que compilen sin cambios en las
dos plataformas. Eso s, las micro controladoras CortexM3
usan 3,3V, a diferencia de la mayora de las placas con AVR,
que generalmente usan 5V. Sin embargo, ya anteriormente se
lanzaron placas Arduino con Atmel AVR a 3,3V como la
Arduino Fio y existen compatibles de Arduino Nano y Pro
como Meduino en que se puede conmutar el voltaje.
Arduino se puede utilizar para desarrollar objetos interactivos
autnomos o puede ser conectado a software tal como Adobe
Flash, Processing, Max/MSP, Pure Data. Las placas se pueden
montar a mano o adquirirse. El entorno de desarrollo integrado
libre se puede descargar gratuitamente.
Arduino puede tomar informacin del entorno a travs de sus
entradas analgicas y digitales, puede controlar luces, motores
y otros actuadores. El micro controlador en la placa Arduino
se programa mediante el lenguaje de programacin Arduino
(basado en Wiring) y el entorno de desarrollo Arduino (basado
en Processing). Los proyectos hechos con Arduino pueden
ejecutarse sin necesidad de conectar a un ordenador. [1

B. Procesamiento Secuencial y paralelo


El procesamiento secuencial o paralelo tiene una importancia
trascendental en la eficiencia de los procesos que se realizan.
Esto incluye los procesos realizados por el cerebro, por los
ordenadores o por distintas organizaciones. Pero es importante
fijarse en las tareas. Unas se pueden paralelizar y otras no.
Se produce un procesamiento secuencial cuando una tarea va
despus de otra. Es un proceso lento en el que si una tarea se
retrasa, el sistema completo debe esperar. La ventaja es que
es fcil de entender y de implementar.
En el procesamiento paralelo, varios procesos ocurren al
mismo tiempo mejorando el rendimiento general del sistema.
Su contrapartida es la complejidad. No siempre se puede
paralelizar una tarea. Aunque se pueda, no siempre es fcil
hacerlo. En principio, cuantos ms nodos acten en paralelo,
ms rpido ira el sistema. Hasta cierto punto. Lo comn es que
haya un lmite en que aadir ms nodos no aumente la
eficiencia, sino que incluso la reduzca. Normalmente las tareas
en paralelo tienen una fase secuencial al principio en la que se
dividen las tareas y otra al final en la que consolidan
resultados. 2 y 3
Tareas secuenciales.
Leer una novela (obligatoriamente una pgina detrs
de otra, si no, el resultado vara).
Consultar el saldo, dar dinero, actualizar el saldo (en
un cajero automtico)
Ver a alguien, reconocerle, preguntarle por su
familia.
Tareas paralelas
Consultar entra varias personas palabras en la
enciclopedia (personas en paralelo)
Contar los votos en un proceso electoral (mesas en
paralelo).
Buscar los Lpez en una base de datos. (se divide
la base de datos en trozos y se busca en paralelo).
Reconocer a una persona. Se analizan los rasgos
faciales, el movimiento, los gestos, la voz, la
entonacin en paralelo.

C. CISC Y RISK
En arquitectura computacional, CISC (del ingls Complex
Instruction Set Computer, en espaol Computador con
Conjunto de Instrucciones Complejas) es un modelo de
arquitectura de computadores. Los microprocesadores CISC
tienen un conjunto de instrucciones que se caracteriza por ser
muy amplio y permitir operaciones complejas entre operandos
situados en la memoria o en los registros internos, en
contraposicin a la arquitectura RISC.
Este tipo de arquitectura dificulta el paralelismo entre
instrucciones, por lo que, en la actualidad, la mayora de los
sistemas CISC de alto rendimiento implementan un sistema
que convierte dichas instrucciones complejas en varias
instrucciones simples del tipo RISC, llamadas generalmente
microinstrucciones.
Los CISC pertenecen a la primera corriente de construccin de
procesadores, antes del desarrollo de los RISC. Ejemplos de
ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel
x86, AMD x86-64 usada en la mayora de las computadoras
personales actuales.
Hay que hacer notar, sin embargo que la utilizacin del
trmino CISC comenz tras la aparicin de los procesadores
RISC como nomenclatura despectiva por parte de los
defensores/creadores de stos ltimos.
En arquitectura computacional, RISC (del ingls Reduced
Instruction Set Computer, en espaol Computador con
Conjunto Reducido de Instrucciones) es un tipo de diseo de
CPU generalmente utilizado en microprocesadores o micro
controladores con las siguientes caractersticas fundamentales:
1.

Instrucciones de tamao fijo y presentado en un


reducido nmero de formatos.

2.

Slo las instrucciones de carga y almacenamiento


acceden a la memoria de datos.

Adems estos procesadores suelen disponer de muchos


registros de propsito general.
El objetivo de disear mquinas con esta arquitectura es
posibilitar la segmentacin y el paralelismo en la ejecucin de
instrucciones y reducir los accesos a memoria. Las mquinas
RISC protagonizan la tendencia actual de construccin de
microprocesadores. PowerPC,DEC Alpha, MIPS, ARM,
SPARC son ejemplos de algunos de ellos.
RISC es una filosofa de diseo de CPU para computadora que
est a favor de conjuntos de instrucciones pequeas y simples
que toman menor tiempo para ejecutarse. El tipo de
procesador ms comnmente utilizado en equipos de
escritorio, el x86, est basado en CISC en lugar de RISC,
aunque las versiones ms nuevas traducen instrucciones
basadas en CISC x86 a instrucciones ms simples basadas en
RISC para uso interno antes de su ejecucin.
La idea fue inspirada por el hecho de que muchas de las
caractersticas que eran incluidas en los diseos tradicionales

de CPU para aumentar la velocidad estaban siendo ignoradas


por los programas que eran ejecutados en ellas. Adems, la
velocidad del procesador en relacin con la memoria de
la computadora que acceda era cada vez ms alta. Esto
conllev la aparicin de numerosas tcnicas para reducir el
procesamiento dentro del CPU, as como de reducir el nmero
total de accesos a memoria. 4
Terminologa ms moderna se refiere a esos diseos
como arquitecturas de carga-almacenamiento.
IV. PROCEDIMIENTO
1.

Se disea el siguiente montaje

V. ANLISIS
Inicialmente se observa que al iniciar el cdigo, el arduino
enciende y apaga el led conectado entre al pin 13 como se
debera esperar. Adicionalmente se ve directamente la funcin
del delay programado dentro del arduino puesto que como se
le indica apaga o prende el led durante 1 segundo.
La funcin de este delay consiste bsicamente en darle un
tiempo de funcionamiento a una funcin asignada por ejemplo
en el desarrollo del laboratorio se le da al delay un tiempo de 1
segundo tanto para que me tenga el HIGH o LOW al pin 13.
El delay puede tener diversas aplicaciones en el campo de la
ingeniera elctrica podra servir en el desarrollo de un
inversor de giro trifsico dndole un tiempo de activacin a un
pin para que por medio de un acople de potencia se prenda o
apague un contacto que me haga girar el motor en un
determinado sentido.

VI. RESULTADOS

Fig.1. Montaje a realizar en la prctica.

1.

Inicialmente se observa el ejemplo Blink incluido en


la interfaz de arduino.

2.

Se implementa en el Arduino Encendido y apagado


de un LED con un intervalo de 1 segundo entre
encendido y apagado, usando el PIN 13.

3.

Se ingresa el siguiente cdigo en el sistema de


Arduino.
Int ledPin=13;
Void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
digitalWrite(ledPin, HIGH);
delay (1000);
digitalWrite (ledPin, LOW);
delay (1000);
}

4.

5.

Se analiza el cdigo, donde se activa el LED se


espera un 1 seg para tiempo de encendido, se
desactiva el LED y se espera 1 seg (tiempo apagado).
Finalmente se realizan variaciones en estos tiempos
con el objeto de ver los diversos comportamientos
que puede llegar a tomar el dispositivo.

En la prctica se evidencio la funcin del delay, este dndonos


un retraso en una accin que le demos al dispositivo permite
que demos pausas o hagamos espacios de tiempo para cumplir
una determinada accin.
No obstante mientras el delay est activo el Arduino es
totalmente incapaz de detectar eventos tales como; sensores o
acciones a respuesta de impulsos previstos por los mismos.
Adicionalmente por este hecho las tareas se van a realizar
mucho ms lento puesto que el Arduino al no poder detectar
los eventos mientras se encuentra activo el delay no podr
ejecutar una accin sino hasta que el efecto del delay termine.
Como solucin a ello se ejecuta el siguiente cdigo:
int led = 13; // Variable del led
int estado = LOW;
// Estado del led
long tiempo = 0;

//Almacena el tiemp actual

long intervalo = 1000; //Tiempo del retardo

void setup() {
pinMode(led,OUTPUT); // Se establece como salida el led
}
void loop() {
unsigned long cuenta = millis(); // Variable que cuenta
cuanto tiempo lleva activo el dispositivo
if(cuenta - tiempo > intervalo){

tiempo = cuenta; //Se revisa el tiempo para el proximo


retardo
if(estado == LOW )
estado = HIGH;
else
estado = LOW;

Posteriormente se introduce el cdigo al simulador y se da


inicio a la simulacin obteniendo que el led conectado al pin
13 esta encendido por un tiempo de 1 segundo y
posteriormente se apaga por 1 segundo. Para ver a detalle el
comportamiento de la simulacin por favor ver gif adjunto a
este informe.

digitalWrite(led,estado);
}
}

Este usa la funcin millis la cual cuenta cuanto lleva activo el


Arduino desde que comienza a correr el cdigo lo que nos
permite ejecutar una accin adicional, esta accin adicional
ser ejecutada mientras la funcin millis sigue contando
cuando tiempo lleva en ejecucin el Arduino lo que nos va a
permitir trabajar con el dispositivo paralelamente usando estos
tiempos y por ende reducir los tiempos en los cuales el
Arduino va a ser incapaz de detectar eventos puesto que solo
se ver afectado mientras realiza las comparaciones (procesos
if y else).

Fig.2. Montaje luego de lanzar el cdigo desde arduino

VII. SIMULACIONES

Para dar ms certeza al procedimiento que se va a realizar se


genera un simulacin en el software Proteus en el cual con una
unidad de Arduino virtual vemos en accin el cdigo
implementado.
Inicialmente se plantea el sistema mostrado en la figura 2, este
est conformado por un led y la placa Arduino Uno adems de
una tierra que debe ser conectada en este caso por efectos del
simulador

IX. CONCLUSIONES
1.

2.

La funcin delay aunque es muy til nos va a generar


en el dispositivo tiempos muertos en los cuales no
ser capaz de realizar alguna otra funcin o recibir
datos de elementos externos tales como los sensores.
La funcin Millis nos permite contabilizar cunto
tiempo lleva activo el dispositivo, gracias a ello se
puede realizar un cdigo que realice la misma
funcin de la funcin delay y adicionalmente a ello
lograr que el dispositivo tenga tiempos muertos casi
nulos por lo cual podr realizar paralelamente
acciones cuando reciba seales de transductores o
sensores.

X. REFERENCIAS
[1] http://forum.arduino.cc/index.php?topic=162103.0
[2] http://bibdigital.epn.edu.ec/bitstream/15000/1955/1/CD-0193.pdf
[3] http://sinapsis-aom.blogspot.com.co/2011/01/procesamiento-secuencial-yparalelo.html
[4] http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm

VIII.

Fig.2. Montaje a realizar en simulador

También podría gustarte