Vous êtes sur la page 1sur 41

PROYECTO CON ARDUINO

Integrantes
ARENAS ARCE FIORELA 2017039466
LLAMOCA RUIZ TALIA2017016616
NAVEROS QUISPE DAVID JOSE 2017020817
VIDAL CUEVA ATO ANTHONY GABRIEL 2017039466
VILCA CAJAMARCA RUBEN 2016236863

User
[Dirección de correo electrónico]
INDICE

INTRODUCCION…………………………………………….1

MARCO TEORICO………………………………………..5

OBJETIVOS……………………………………………….16

PROCEDIMIENTO………………………………………..20

ANALISIS………………………………………………….33

CONCLUSION…………………………………………….34

1
1.INTRODUCCION

El Arduino, que básicamente es una placa con un


microcontrolador programable, barata y de fácil uso.

Lo primero que tenemos que tener claro es, que es un


microcontrolador y en que se diferencia con el
microprocesador. Todos alguna vez hemos entrado en
contacto con ambos conceptos, es decir, todos en casa
tenemos un ordenador, ya sea de sobremesa, portátil…
Pues bien, el núcleo de nuestros ordenadores es un
microprocesador, un chip encargado de realizar operaciones
complejas a partir de unas instrucciones (que llamaremos
programa) y unos datos de entrada obteniendo unos datos
de salida. Para procesar y almacenar estos datos
necesitamos conectar el microprocesador a la memoria
RAM y demás dispositivos de E/S (Entrada/Salida), que se
conectan a través de la placa base.

Definido de forma escueta el microprocesador, y teniendo


en cuenta que habíamos dicho que el microprocesador
necesita que se conecte a la memoria a través de la placa
base, en el microcontrolador tenemos tanto la memoria
donde almacenamos el programa, como la memoria donde
se almacena los datos, en el mismo ensamblado (en el
mismo chip).

2
¿Donde nos encontramos un microcontrolador?

Nos lo encontramos en la mayoría de dispositivos


electrónicos que usamos cotidianamente, como puedan ser,
mandos a distancia, relojes, televisores, automóviles y un
largo etcétera. La importancia de saber como funcionan y
como se programan, nos abren muchísimas puertas.

Arduino

Hace unos años apareció un proyecto libre,


llamado arduino, el cual facilitaba el acceso a esta clase de
dispositivos a los estudiantes, dado que es una placa basada
en openhardware (su diseño es libre y es posible
reproducirlo por cualquier persona).

Inicialmente, la placa se conectaba a través de un puerto


USB para programarlo (normalmente se hace en base a su
IDE que lo podemos encontrar aquí). La programación de
arduino no se realizaba a bajo nivel con ensamblador como
muchos microcontroladores (a partir de ahora los
llamaremos PICs), sino que se realiza con un lenguaje más
comprensible por la mayoría de nosotros, C/C++ (la
referencia básica al lenguaje la encontramos aquí y
ejemplos en esta ruta).

3
Con estos elementos, un programador que no sabe de PICs,
sería capaz de programar el arduino en poco tiempo.

La placa de la versión UNO se componía de 14 pines de E/S


digitales, de los cuales, tenía 2 para conexión serie. Estos
pines nos sirve para la mayoría de sensores básicos, o para
reles, accionadores, etc… los cuales solo tienen 2 estados,
encendido o apagado (o con las constantes de arduino HIGH
y LOW). También tiene 6 pines analógicos, capaces de leer
hasta 1024 niveles de tensión, llamados resolución del
puerto analógico. Estos sirven para leer sensores que nos
devuelven rangos de tensiones diferentes dependiendo de
su estado, como pueda ser, una termoresistencia, una
resistencia variable, etc…

Básicamente, con la estructura del arduino UNO, cualquier


persona puede adentrarse en el mundo de la programación
de PICs. Pero, para proyectos más grandes, se necesita
mayor potencia, con lo que los chicos de arduino fueron
creando placas y versiones mejoradas del arduino UNO.
Expongo unas cuantas:

Arduino Leonardo

Es la primera evolución del arduino Mega, de hecho, tiene


los mismos puertos pero el PIC es diferente, con mayor

4
capacidad y mayor frecuencia de trabajo. Otra diferencia es
el puerto USB, que a la vez de ser usado para subir el
programa, el Leonardo es capaz de usar dicho USB como
host, es decir, podemos usarlo de teclado, etc… Otra
inclusión son los puertos SDA y SCL, utilizados para
dispositivos que se comunican a través del protocolo I2C.

5
2. Marco Teórico

¿Qué es Arduino? Arduino es una herramienta para hacer


que los ordenadores puedan sentir y controlar el mundo
físico a través de tu ordenador personal. Es una plataforma
de desarrollo de computación física (physical computing)
de código abierto, basada en una placa con un sencillo
microcontrolador y un entorno de desarrollo para crear
software (programas) para la placa. Puedes usar Arduino
para crear objetos interactivos, leyendo datos de una gran
variedad de interruptores y sensores y controlar multitud de
tipos de luces, motores y otros actuadores físicos. Los
proyectos de Arduino pueden ser autónomos o comunicarse
con un programa (software) que se ejecute en tu ordenador
(ej. Flash, Processing, MaxMSP). La placa puedes montarla
tú mismo o comprarla ya lista para usar, y el software de
desarrollo es abierto y lo puedes descargar gratis. El
lenguaje de programación de Arduino es una
implementación de Wiring, una plataforma de computación
física parecida, que a su vez se basa en Processing, un
entorno de programación multimedia. ¿Por qué Arduino?
Hay muchos otros microcontroladores y plataformas con
microcontroladores disponibles para la computación física.
Parallax Basic Stamp, BX-24 de Netmedia, Phidgets,
Handyboard del MIT, y muchos otros ofrecen
funcionalidades similares. Todas estas herramientas

6
organizan el complicado trabajo de programar un
microcontrolador en paquetes fáciles de usar. Arduino,
además de simplificar el proceso de trabajar con
microcontroladores, ofrece algunas ventajas respecto a
otros sistemas a profesores, estudiantes y amateurs:
Asequible - Las placas Arduino son más asequibles
comparadas con otras plataformas de microcontroladores.
La versión más cara de un módulo de Arduino puede ser
montada a mano, e incluso ya montada cuesta bastante
menos de 60€ Multi-Plataforma - El software de Arduino
funciona en los sistemas operativos Windows, Macintosh
OSX y Linux. La mayoría de los entornos para
microcontroladores están limitados a Windows.

Entorno de programación simple y directo - El entorno de


programación de Arduino es fácil de usar para principiantes
y lo suficientemente flexible para los usuarios avanzados.
Pensando en los profesores, Arduino está basado en el
entorno de programación de Procesing con lo que el
estudiante que aprenda a programar en este entorno se
sentirá familiarizado con el entorno de desarrollo Arduino.
Software ampliable y de código abierto- El software Arduino
está publicado bajo una licencia libre y preparado para ser
ampliado por programadores experimentados. El lenguaje
puede ampliarse a través de librerías de C++, y si se está
interesado en profundizar en los detalles técnicos, se puede

7
dar el salto a la programación en el lenguaje AVR C en el
que está basado. De igual modo se puede añadir
directamente código en AVR C en tus programas si así lo
deseas. Hardware ampliable y de Código abierto - Arduino
está basado en los microcontroladores ATMEGA168,
ATMEGA328 y ATMEGA1280. Los planos de los módulos
están publicados bajo licencia Creative Commons, por lo que
diseñadores de circuitos con experiencia pueden hacer su
propia versión del módulo, ampliándolo u optimizándolo.
Incluso usuarios relativamente inexpertos pueden construir
la versión para placa de desarrollo para entender cómo
funciona y ahorrar algo de dinero. PROTEUS ISIS Proteus
es una compilación de programas de diseño y simulación
electrónica, desarrollado por Labcenter Electronics que
consta de los dos programas principales: Ares e Isis, y los
módulos VSM y Electra.

El Programa ISIS, Intelligent Schematic Input System


(Sistema de Enrutado de Esquemas Inteligente) permite
diseñar el plano eléctrico del circuito que se desea realizar
con componentes muy variados, desde simples resistencias,
hasta alguno que otro microprocesador o microcontrolador,
incluyendo fuentes de alimentación, generadores de señales
y muchos otros componentes con prestaciones diferentes.
Los diseños realizados en Isis pueden ser simulados en

8
tiempo real, mediante el módulo VSM, asociado
directamente con ISIS.

El Modulo VSM Una de las prestaciones de Proteus,


integrada con ISIS, es VSM, el Virtual System Modeling
(Sistema Virtual de Modelado), una extensión integrada con
ISIS, con la cual se puede simular, en tiempo real, con
posibilidad de más rapidez; todas las características de
varias familias de microcontroladores, introduciendo
nosotros mismos el programa que controlará el
microcontrolador y cada una de sus salidas, y a la vez,
simulando las tareas que queramos que lleve a cabo con el
programa. Se pueden simular circuitos con
microcontroladores conectados a distintos dispositivos,
como motores, lcd´s, teclados en matriz, etc. Incluye, entre
otras, las familias de PIC's PIC10, PIC12, PIC16, PIC18,
PIC24 y dsPIC33. ISIS es el corazón del entorno integrado
PROTEUS. Combina un entorno de diseño de una potencia
excepcional con una enorme capacidad de controlar la
apariencia final de los dibujos. FRITZING Fritzing es un
programa de automatización de diseño electrónico libre que
busca ayudar a diseñadores y artistas para que puedan
pasar de prototipos (usando, por ejemplo, placas de
pruebas) a productos finales. Fritzing fue creado bajo los
principios de Processing y Arduino, y permite a los
9
diseñadores, artistas, investigadores y aficionados
documentar sus prototipos basados en Arduino y crear
esquemas de circuitos impresos para su posterior
fabricación. Además cuenta con un sitio web
complementario que ayuda a compartir y discutir bosquejos
y experiencias y a reducir los costos de fabricación.

2.1. Clases de Arduino

Arduino cuenta con varios prototipos y modelos de placas a


elegir, dependiendo de que tan grande es uso que le demos
a esta. Cada una con características particulares y diferentes
que las diferencian de las demás. Aquí se mencionan
algunas de las más populares junto con sus características:

Duemilanove

El Arduino Duemilanove ("2009") es una placa con


microcontrolador basada en el ATmega168 (datasheet) o el
ATmega328 (datasheet)., Tiene 14 pines con
entradas/salidas digitales (6 de las cuales pueden ser
usadas como salidas PWM), 6 entradas analógicas, un
cristal oscilador a 16Mhz, conexión USB, entrada de
alimentación, una cabecera ISCP, y un botón de
reset.Contiene todo lo necesario para utilizar el
microcontrolador; simplemente conectalo a tu ordenador a
través del cable USB o aliméntalo con un transformador o
una batería para empezar a trabajar con el.

10
Mega

El Arduino Mega es una placa microcontrolador basada


ATmeg1280 (datasheet). Tiene 54 entradas/salidas digitales
(de las cuales 14 proporcionan salida PWM), 16 entradas
digitales, 4 UARTS (puertos serie por hardware), un cristal
oscilador de 16MHz, conexión USB, entrada de corriente,
conector ICSP y botón de reset. Contiene todo lo necesario
para hacer funcionar el microcontrolador; simplemente
conectálo al ordenador con el cable USB o aliméntalo con
un trasformador o batería para empezar.

Nano

11
El Arduino Nano es una pequeña y completa placa basada
en el ATmega328 (Arduino Nano 3.0) o ATmega168
(Arduino Nano 2.x) que se usa conectándola a una
protoboard. Tiene más o menos la misma funcionalidad que
el Arduino Duemilanove, pero con una presentación
diferente. No posee conector para alimentación externa, y
funciona con un cable USB Mini-B en vez de el cable
estandar. El nano fue diseñado y está siendo producido por
Gravitech.

Pro

La Arduino pro es una placa con un microcontrolador


ATmega168 (datasheet) o en elATmega328 (datasheet). La
Pro viene en versiones de 3.3v / 8 MHz y 5v / 16 MHz. Tiene
14 E/S digitales (6 de las cuales se puedes utilizar como
salidas PWM), 6 entradas analógicas, un resonador interno,
botón de reseteo y agujeros para el montaje de tiras de
12
pines. Vienen equipada con 6 pines para la conexión a un
cable FTDI o a una placa adaptadora de la casa Sparkfun
para dotarla de comunicación USB y alimentación.
La Arduino Mini Pro esta destinada a instalaciones semi-
permanentes en objetos o demostraciones. La placa viene
sin conectores montados, permitiendo el uso de varios tipos
de conectores o soldado directo de cables según las
necesidades de cada proyecto en particular. La distribución
de los pines es compatible con los shields de Arduino. Las
versiones de 3.3v de la pro pueden ser alimentadas por
baterías.

2.2. Partes del Software de Arduino

La estructura básica del lenguaje de programación de


Arduino es bastante simple y se compone de al menos dos

13
partes. Estas dos partes necesarias, o funciones, encierran
bloques que contienen declaraciones, estamentos o
instrucciones.

void setup() //Primera Parte

{ estamentos;}

void loop() //Segunda Parte

{ estamentos;}

En donde setup() es la parte encargada de recoger la


configuración y loop() es la que contiene el programa que se
ejecutará cíclicamente (de ahí el término loop –bucle-).
Ambas funciones son necesarias para que el programa
trabaje.

La función de configuración (setup) debe contener la


declaración de las variables. Es la primera función a ejecutar
en el programa, se ejecuta sólo una vez, y se utiliza para
configurar o inicializar pinMode (modo de trabajo de las E/S),
configuración de la comunicación en serie y otras.

La función bucle (loop) siguiente contiene el código que se


ejecutara continuamente (lectura de entradas, activación de
salidas, etc) Esta función es el núcleo de todos los
programas de Arduino y la que realiza la mayor parte del
trabajo.

14
setup()
La función setup() se invoca una sola vez cuando el
programa empieza. Se utiliza para inicializar los modos de
trabajo de los pins, o el puerto serie. Debe ser incluido en un
programa aunque no haya declaración que ejecutar. Así
mismo se puede utilizar para establecer el estado inicial de
las salidas de la placa.

void setup(){ pinMode(pin, OUTPUT); // configura el 'pin'


como salida digitalWrite(pin, HIGH); // pone el ‘pin’ en
estado HIGH}

loop()
Después de llamar a setup(), la función loop() hace
precisamente lo que sugiere su nombre, se ejecuta de forma
cíclica, lo que posibilita que el programa esté respondiendo
continuamente ante los eventos que se produzcan en la
placa.

void loop(){digitalWrite(pin, HIGH); // pone en uno (on, 5v) el


'pin'

delay(1000); // espera un segundo (1000


ms)digitalWrite(pin, LOW); // pone en cero (off, 0v.) el
'pin'delay(1000); }

15
2.2.1. Funciones
Una función es un bloque de código que tiene un nombre y
un conjunto de instrucciones que son ejecutadas cuando se
llama a la función. Son funciones setup() y loop() de las que
ya se ha hablado. Las funciones de usuario pueden ser
escritas para realizar tareas repetitivas y para reducir el
tamaño de un programa. Las funciones se declaran
asociadas a un tipo de valor “type”. Este valor será el que
devolverá la función, por ejemplo 'int' se utilizará cuando la
función devuelve un dato numérico de tipo entero. Si la
función no devuelve ningún valor entonces se colocará
delante la palabra “void”, que significa “función vacía”.

Después de declarar el tipo de dato que devuelve la función


se debe escribir el nombre de la función y entre paréntesis
se escribirán, si es necesario, los parámetros que se deben
pasar a la función para que se ejecute.

type nombreFunción(parámetros){instrucción;}

La función siguiente devuelve un número entero, delayVal()


se utiliza para poner un valor de retraso en un programa que
lee una variable analógica de un potenciómetro conectado a
una entrada de Arduino. Al principio se declara como una
variable local, 'v' recoge el valor leído del potenciómetro que
estará comprendido entre 0 y 1023, luego se divide el valor
por 4 para ajustarlo a un margen comprendido entre 0 y 255,

16
finalmente se devuelve el valor 'v' y se retornaría al programa
principal. Esta función cuando se ejecuta devuelve el valor
de tipo entero 'v'.

int delayVal(){int v; // crea una variable temporal


'v'v= analogRead(pot); // lee el valor del potenciómetrov
/= 4; // convierte 0-1023 a 0-255return v; //
devuelve el valor final}

{} 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.

type funcion(){instrucciones;}

Una llave de apertura “{“ siempre debe ir seguida de una


llave de cierre “}”, si no es así el programa 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 click en el punto de inserción
de una llave abierta e inmediatamente se marca el
correspondiente cierre de ese bloque (llave cerrada).

17
; 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
for”.

int x = 13; /* declara la variable 'x' como tipo entero de valor


13 */

Nota: Olvidaos de poner fin a una línea con un punto y coma


o se producirá en un error de compilación. El texto de error
puede ser obvio, y se referirá a la falta de una coma, o puede
que no. Si se produce un error raro y de difícil detección lo
primero que debemos hacer es comprobar que los puntos y
comas están colocados al final de las instrucciones.

/*… */ bloque de comentarios

Los bloques de comentarios, o comentarios multi-lí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.

/* esto es un bloque de comentario no se debe olvidarcerrar


los comentarios estos deben estar equilibrados */

18
Debido a que los comentarios son ignorados por el
compilador y no ocupan espacio en la memoria de Arduino
pueden ser utilizados con generosidad. También pueden
utilizarse para "comentar" bloques de código con el propósito
de anotar informaciones para depuración y hacerlo mas
comprensible para cualquiera.

Nota: Dentro de una misma línea de un bloque de


comentarios NO se puede escribir otro bloque de
comentarios (usando /*..*/).

// 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.

// esto es un comentario

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 ésta o para recordarla más adelante.

19
3.OBJETIVOS

GENERAL

Familiarizar el lenguaje ARDUINO con el fin de utilizar esta


herramienta para proyectos a practicar en los laboratorios.

ESPECÍFICOS

20
Desarrollar la programación del diseño puesto en el
laboratorio sin ninguna falla.

Identificar las herramientas del nuevo software programador


para su fácil acceso.

Mejorar un proceso electrónico

Programar satisfactoriamente el dispositivo para una mejor


utilidad.

Materiales:

 Arduino (Placa de desarrollo de hardware)

 Cables eléctricos.

21
 Resistencias.

 Leds (diodo emisor de luz).

 Pila 9v (Fuente de poder).

22
 Estaño.

 Cartón.

 Pintura.

 Silicona (pegamento).

 Cinta adhesiva.

Herramientas para la realización del semáforo:

23
 Cautín eléctrico.

 Protoboard.

 Pistola de silicona.

 Un cable USB.

 Laptop.

 Tijera

4. PROCEDIMIENTO

24
4.1 Estructura básica de los códigos

Un código Arduino es una serie de comandos de


programación que le dirán a nuestro microcontrolador como
configurarse al iniciarse y qué acciones tiene que realizar
mientras esté en funcionamiento. Estos comandos
utilizados en Arduino son sentencias muy fáciles e
intuitivas.

El bloque de código debe tener 2 partes, o funciones


principales, que siempre debemos incluir.

25
Primero void setup () . Dentro de esta función principal
escribiremos las sentencias de configuración que
necesitaremos para que Arduino trabaje correctamente.
Éstas se ejecutarán al iniciar Arduino y una única vez. Con
ellas, por ejemplo, asignaremos la característica de
entrada/salida a los pines, el modo de comunicación serial,
activaremos los sensores que vayamos a necesitar,
escribiremos órdenes de inicio del programa…etc. Algunas
de estas sentencias pueden ser: pinMode( , ),
Serial.begin(,), sensors.begin(,)…

La segunda función principal es void loop() . Ésta debe


ir siempre después de void setup(). En ella escribiremos
todas las sentencias, bucles y llamadas a funciones que
necesitemos que nuestro Arduino repita constantemente.
Se escribirán en orden de ejecución. Ejemplo de éstas
pueden ser digitalWrite( , ), Serial.print(“ “), if( )…

Existen otras partes del código que no son obligatorias pero


que podemos necesitar, según el código lo requiera, para
organizarlo todo.

Estas zonas pueden ser un espacio para el título, el autor,


librerías, definiciones (variables que vayamos a usar en el
programa), una zona para funciones a las que el programa
irá llamando…Cada uno es libre de organizarlo como

26
quiera, pero cuanto más ordenado esté todo, más difícil
será perdernos cuando los códigos se compliquen.

Abajo podemos ver un ejemplo simple de cómo debe


estructurarse un código.

4.2 Sentencias básicas, funciones y librerías

Para poder realizar un código Arduino debemos tener las


herramientas con las que decirle a nuestro
microcontrolador que es lo que debe hacer en cada
momento. Estas herramientas son las sentencias y
funciones.

Arduino usa una serie de sentencias y comandos básicos


muy sencillos pero a la vez muy potentes. Combinándolos
crearemos programas para decirle a nuestra placa que
haga prácticamente cualquier cosa que queramos.

Las sentencias se dividen por su manera de funcionar


dentro del programa, pudiendo dividirlas en 3 grandes
grupos:

 Estructurales: Nos dan la forma computacional del


código y las operaciones lógicas a ejecutar. Con éstos
son con los que le marcamos al programa qué camino
debe seguir el código al ejecutarse y qué operaciones

27
debe hacer. Algún ejemplo de las más usadas son if,
for, while, +, -, =, *, /, ==, >, < …

 Variables: Con éstas definiremos qué tipo y qué


características tendrán los valores que vamos a usar
en el código. Pueden ser números, caracteres o
estados. Podemos encontrarnos aquí las sentencias
int, float, HIGH, LOW, char, string, true, false…

 Funciones: Nos permiten realizar una serie de


operaciones concretas y volver a la zona del código
en la que se ejecutó. Existen funciones que están
propiamente definidas ya por Arduino como tales y
también podemos crearnos nuestras propias
funciones para que sean llamadas en las zonas de
setup o loop cuando lo necesitemos. Son muy útiles
cuando necesitamos realizar un grupo de acciones
varias veces en distintas zonas del código. También
es una buena forma de ahorrar líneas y de
organizarse. Ejemplo de funciones tenemospinMode,
digitalWrite, delay, max, sin, cos, analogWrite…

28
4.3 Compilación y carga.

Una vez que hayamos escrito nuestro código en la IDE


Arduino procederemos a verificar que está correctamente

escrito. Para ello pulsamos el botón arriba a la


izquierda. Arduino leerá el texto y nos dirá si es correcto o
no. Para ello lo que hará será compilarlo, que significa

29
traducir el código del lenguaje de programación a un
lenguaje que entienda el microcontrolador directamente.

En el caso de contener un error nos aparecerá en la


consola una explicación orientativa del error.

Verificando el código

30
Código correcto

31
Error en el código. Falta un ";"

Si la compilación ha sido correcta, ya podremos cargar


nuestro programa al Arduino. Para ello, con la placa
conectada por USB, pulsamos el botón de carga Imagen 6
en Tutorial Arduino: Ejemplo Semáforo y esperamos a que
termine.

32
PROYECTO SEMÁFORO

Como primer proyecto, realizaremos un semáforo con unos


Leds. Es ideal para iniciarnos en la programación y el
montaje de circuitos porque, como veremos, es muy fácil.

Empezaremos nuestro primer proyecto describiendo los


elementos que vamos a necesitar.

33
 1 x Arduino UNO R3

 1 x Protoboard

 1 x Led rojo 3mm

 1 x Led amarillo 3mm

 1 x Led verde 3mm

 3 x resistencias de 220Ω.

 Cables para conectar todo.

Una vez que tenemos todo, hacemos nuestro montaje


siguiendo el siguiente esquema.

34
Esquema de montaje del semáforo

Utilizaremos los pines digitales 2 (rojo), 4 (amarillo)


y 7 (verde). Al conectar los Leds debéis tener en cuenta
que tienen polaridad, por lo que tenéis que colocarlos bien
para que funcionen. En los Leds la patilla corta, o el lado
que está achatado, es el negativo e irá conectado a tierra
(GND en la placa) a través de una resistencia. La patilla
larga, o lado redondeado, es el positivo y se conectará al
pin del Arduino correspondiente.

35
/*************/

/* SEMAFORO */

/*************/

/*** PROYECTO SEMAFORO ***/

//** Definiciones **//

int rojo=2; //definimos el valor del pin para el led rojo

int amarillo=4; //definimos el valor del pin para el led amarillo

int verde=7; //definimos el valor del pin para el led verde

//** Programa **//

void setup() {

pinMode(verde,OUTPUT); //declaramos el pin verde como salida

pinMode(amarillo,OUTPUT);//declaramos el pin amarillo como salida

pinMode(rojo,OUTPUT); //declaramos el pin rojo como salida

void loop() {

digitalWrite(verde,HIGH); //encendemos el led rojo

delay(2000); //esperamos 2 segundos

digitalWrite(verde,LOW); //apagamos el led rojo

delay(500); //esperamos medio segundo

digitalWrite(amarillo,HIGH); //encendemos el led amarillo

delay(2000); //esperamos 2 segundos

digitalWrite(amarillo,LOW); //apagamos el led amarillo

delay(500);

digitalWrite(rojo,HIGH); //encendemos el led verde

delay(2000); //esperamos 2 segundos

digitalWrite(rojo,LOW); //apagamos el led verde

delay(500); //esperamos medio segundo

}
36
Protoboard del proyecto semáforo

Una vez montado, abriremos nuestro IDE Arduino y


escribiremos el programa ( sketch ).

Con la sentencia int estamos declarando una variable


numérica entera, para poderla usar después en nuestro
código.

El comando delay hace que el programa pare un tiempo


determinado. Éste lo definiremos, en milisegundos, dentro
de los paréntesis.

37
5.ANALISIS:

Tras conocer el proyecto ARDUINO ,la placa y software y


todo lo que compone este proyecto enfocado a hacer de la
construcción de dispositivos digitales una tarea no tan
cerrada y al acceso de personas sin un tan amplio
conocimiento de programación es innegable la utilidad del
mismo y más versatilidad de este que nos otorgan un sinfín
de posibilidades a la hora de expandir nuestra imaginación
creando y desarrollando ideas que tengan que ver con
circuitos eléctricos en este caso con interruptores,
sensores, luces LED ,etc.

Este proyecto está basado en la necesidad de controlar un


sistema de luces led que asumen la disposición que tienen
en un semáforo en la vida cotidiana pudiendo llegar a
controlar los intervalos y el tiempo a través de la ya
mencionada plataforma ARDUINO siendo esta una posible
herramienta en pequeña escala de una forma de evaluar
los distintos efectos del impacto vial en la sociedad y así

38
generar modelos a escalas mayores con controladores y
placas de mayor capacidad que puedan arrojar problemas
y tentativas soluciones ante el caos vehicular que nuestra
ciudad posee.

Para lo cual el proyecto muestra una plataforma capaz de


controlar los tiempos de las respectivas luces que se
encuentran en un semáforo, así permitiendo incluso con
una conexión a internet ser controlado por redes mucho
más grandes que ayuden a priorizar las zonas de mayor
impacto vehicular.

CONCLUSION

Es evidente la ayuda que puede brindar un proyecto que


tiene como base la plataforma y las herramientas de
ARDUINO sea en el control de sistemas de iluminación
empresarial, en el control de un sistema de semáforos o en
el control de motores, actuadores y diferentes herramientas
de aplicación mecánica creando sistemas continuos y
cadenas de ejecución controladas por la plataforma
ARDUINO.

Frente lo cual este grupo apoya e invita a usar la alternativa


ARDUINO por las múltiples ventajas ya expuestas y
confiando en la capacidad del alumno para saber usar el
criterio e imaginación a la hora de solucionar problemas .

39
40

Vous aimerez peut-être aussi