0% encontró este documento útil (0 votos)
94 vistas49 páginas

Uso y Ventajas de Hojas de Cálculo

Este documento presenta información sobre hojas de cálculo en Excel. Explica que las hojas de cálculo facilitan realizar operaciones numéricas y analizar información a través de gráficos. También describe conceptos básicos como referencias de celdas, celdas activas y rangos. El objetivo es que los estudiantes aprendan a utilizar hojas de cálculo para resolver problemas académicos y de la vida cotidiana.

Cargado por

ZhaemGar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
94 vistas49 páginas

Uso y Ventajas de Hojas de Cálculo

Este documento presenta información sobre hojas de cálculo en Excel. Explica que las hojas de cálculo facilitan realizar operaciones numéricas y analizar información a través de gráficos. También describe conceptos básicos como referencias de celdas, celdas activas y rangos. El objetivo es que los estudiantes aprendan a utilizar hojas de cálculo para resolver problemas académicos y de la vida cotidiana.

Cargado por

ZhaemGar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Informática II

Cuadernos de actividades de
aprendizaje

Alumno:____________________
BLOQUE 2
Planeas y elaboras hojas de cálculo

Desempeño del estudiante


al finalizar el bloque Objetos de aprendizaje Competencias a desarrollar
Planea hojas de cálculo. Hojas de cálculo. Estructura ideas y argumentos de manera
Utiliza fórmulas y funciones para la Fórmulas y funciones. clara, coherente y sintética.
solución de problemas académicos y Gráficas. Ordena información de acuerdo a
cotidianos. categorías, jerarquías y relaciones.
Elabora gráficas para la representación de Propone maneras de solucionar un
datos. problema o desarrollar un proyecto en
Publica hojas de cálculo a través de las
equipo, definiendo un curso de acción con
TIC´s
pasos específicos.
Expresa ideas y conceptos mediante
Tiempo asignado: 18 horas. representaciones lingüísticas,
matemáticas o gráficas.
Utilizas las tecnologías de información
y comunicación para investigar, resolver
problemas, producir materiales y
transmitir información.
Informática 2

Inicio Secuencia didáctica 1


HOJAS DE CÁLCULO

EVALUACIÓN DIAGNÓSTICA

1.- Explica en forma breve qué es una hoja electrónica.


__________________________________________________________________________________________
__________________________________________________________________________________________

2.- Menciona qué ventajas se tienen al manejar una hoja de cálculo.


__________________________________________________________________________________________
__________________________________________________________________________________________

3.- En tu vida cotidiana, ¿cuándo has utilizado una hoja de cálculo?


__________________________________________________________________________________________
__________________________________________________________________________________________

4.- ¿En qué actividades consideras que se puede utilizar una hoja de cálculo?
__________________________________________________________________________________________
__________________________________________________________________________________________

5.- Explica brevemente en qué consiste darle formato a una hoja de cálculo.
__________________________________________________________________________________________
__________________________________________________________________________________________

6.- ¿Qué objetos consideras que se pueden insertar en un libro elaborado en una hoja de cálculo?
__________________________________________________________________________________________
__________________________________________________________________________________________

7.- Menciona qué variedad de plantillas conoces que puedes utilizar en Excel..
__________________________________________________________________________________________
__________________________________________________________________________________________

BLOQUE 2 Planeas y elaboras hojas de cálculo 63


ACTIVIDAD 1
SD1-B2

Participa en una lluvia de ideas acerca de Microsoft Excel 2013

Realiza la lectura del texto “Hoja electrónica de cálculo” y redacta tu opinión acerca de la utilidad, características
y ventajas de los procesadores de texto, además de dar tu opinión sobre las novedades de Excel 2013.

______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________.

Hoja electrónica de cálculo

Una hoja electrónica de cálculo facilita la tarea de realizar operaciones numéricas. La


hoja electrónica de cálculo es un modelo numérico o la representación de una situación
real que hace uso de la computadora para efectuar operaciones numéricas de una manera
rápida y exacta. Esta herramienta es ideal para realizar análisis financieros, construir
modelos matemáticos y de negocios, eficientizar el proceso de toma de decisiones y
resolver problemas e inclusive te permite calcular tu promedio escolar.

En términos sencillos, podríamos decir que el uso de una hoja electrónica se reduce a
introducir la información que será utilizada, y luego indicar a la computadora cómo

64
Colegio de Bachilleres del Estado de Sonora
Informática 2

se desea manipular esa información. En este punto, parecería que con una calculadora
de bolsillo podríamos hacer lo mismo, sin embargo, en la medida que aumentemos la
cantidad de información y los cálculos que realicemos con ellos, este herramienta se
volverá difícil de usar. La principal desventaja de la mayoría de las calculadoras es que
se pueden almacenar los números que se introducen, pero no es fácil verlos juntos y esto
dificulta el proceso de verificar con exactitud. Además, es difícil modificar los números
una vez que fueron introducidos. En contraste, el diseño tipo matriz conformada por
filas que van en forma horizontal y columnas que van en forma vertical, permite por
un lado tener la información visible en pantalla, y por otro, ubicar individualmente
los datos en las celdas. Adicionalmente se les pueden aplicar diferentes criterios de
evaluación (operaciones, fórmulas, ciclos, etc.) para evaluar automáticamente la
serie de instrucciones predefinidas y aplicar algún formato visual que se adecúe a las
necesidades de cada usuario. Otra ventaja de las hojas electrónicas es que agiliza el
trabajo ya que se obtienen resultados después de efectuar cálculos a los datos originales,
se puede modificar ya sea el proceso o los datos originales para obtener un resultado
final diferente. Además de que se puede utilizar para la creación de gráficos para la el Referencia de celda
análisis de información.
Conceptos básicos

Referencia de Celda: Es la intersección de una fila y una columna. Una celda puede
contener texto, números, fecha, instrucciones, funciones u otros datos. También se
puede combinar el cálculo con datos o instrucciones dispuestas en otras hojas del libro.
En general las celdas se representan de forma rectangular y se ubican por una letra
de columna y un número de fila, y pueden ser identificadas con un nombre único, por
ejemplo A1 (columna A, fila 1). Ejemplo:
Celda activa

Celda Activa: Es una celda que está abierta para su manipulación. En general, cuando
una celda está activa se diferencia gráficamente del resto. Ejemplo Observa que nos
encontramos en la celda A2.

Rango: Son una referencia a un conjunto de celdas en una hoja de Excel. Así, se
denomina rango al conjunto de celdas contiguas que se seleccionan para realizar
una misma operación. Los rangos de celdas suelen tener forma o abarcar espacios
rectangulares. Se definen mediante letras y números. Se denomina mediante la celda
Rango de columna
de una esquina del rango (generalmente la superior izquierda), luego dos puntos y la
esquina opuesta. Existen los siguientes tipos de rangos en Excel:

1. Rango de Columna: Al rango que comprende las celdas: B2, B3, B4, B5, B6,
B7, D6, D7, se le denomina: B2:B7. Ejemplo: Rango de fila
2. Rango de Fila: Al rango que comprende las celdas: A3, B3, C3, D3 se le
denomina: A3:D3. Ejemplo:

3. Rango de Bloque: Al rango que comprende las celdas: A2, B2, C2, A3, B3, C3,
A4, B4, C4, A5, B5, C5 se le denomina A2:C5. Ejemplo: Rango de bloque
Libro: Es un archivo que contiene una o más hojas de cálculo que permiten introducir
y almacenar datos relacionados. Por omisión, al crear un nuevo libro Excel este toma el
nombre de Libro1. Al grabarlo, se crea un archivo con la extensión *xlsx.

BLOQUE 2 Planeas y elaboras hojas de cálculo 65


Informática 2

2.- Menciona dos ventajas de las Hojas electrónicas de cálculo.

_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________

3.- Menciona dos características de las Hojas electrónicas de cálculo.

_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________

4.- Define los siguientes términos:

Celda activa:____________________________________________________________________________

Referencia de celda:______________________________________________________________________

Rango:________________________________________________________________________________

Libro:_________________________________________________________________________________
Hojas:_________________________________________________________________________________

5.- Explica brevemente las novedades de Excel 2013.

_________________________________________________________________________________________
_________________________________________________________________________________________
________________________________________________________________________________________

6.- Expresa con tus palabras cuáles son las ventajas de utilizar las teclas de atajo.

_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________

BLOQUE 2 Planeas y elaboras hojas de cálculo 69


realidad todo el texto se encuentra en la celda A1.
Si cambiamos de opinión y deseamos restaurar el contenido de la celda a su valor
anterior solo hay que pulsar la tecla Esc o dar clic al botón de la barra de fórmulas.

En ocasiones, es posible que nos interese introducir varias líneas dentro de una


misma celda, pero al pulsar Enter para realizar el salto de línea lo que ocurre es que
se valida el valor y pasamos a la celda inferior. Para que esto no ocurra deberemos
pulsar ALT+INTRO.

Tipos de Datos.

En una Hoja de cálculo, podemos introducir los siguientes tipos de datos:

• VALORES CONSTANTES: Es un dato que se introduce directamente en una


celda. Puede ser un número, una fecha u hora, o un texto.

• FÓRMULAS: Es una secuencia formada por: valores constantes, referencias


a otras celdas, nombres, funciones, u operadores. Es una técnica básica para
el análisis de datos. Se pueden realizar diversas operaciones con los datos de
las hojas de cálculo como +, -, *, /, Sen, Cos, etc. En una fórmula se pueden
mezclar constantes, nombres, referencias a otras celdas, operadores y funciones.
La fórmula se escribe en la barra de fórmulas y debe empezar siempre por el
signo =.

• TEXTO: Es utilizado para indicar por ejemplo los nombres de empleados o


códigos de clientes que necesitamos incluir para dar significado a otros valores
numéricos de nuestra hoja. Por texto entendemos aquellas cadenas que están
formadas por caracteres alfanuméricos y/o símbolos especiales. Una manera de
identificar fácilmente una celda con un valor de texto es porque dicho valor se
alineará de manera automática a la izquierda. Inclusive, un valor que comience
por un número seguido de algunas letras es considerado texto y por lo tanto
estará alineado a la izquierda de cualquier celda.
• NUMERICO: Los valores numéricos representan cantidades, montos,
porcentajes, etc.  Cuando ingresamos un valor numérico en una celda el
contenido será alineado a la derecha.

Tipos de errores.
Es posible que nos equivoquemos al introducir los
valores requeridos de una fórmula o función siendo
imposible realizar el cálculo, ante estos casos Excel
puede mostrar algunos de los siguientes  valores en
la celda:

• #¿NOMBRE? – Este error se produce cuando


Excel no reconoce el texto de la fórmula introducida
en la celda, bien sea porque no está bien escrita la
fórmula o porque no existe. Ejemplo: Si queremos
calcular la suma de 5, 9, 5 debemos utilizar una

80
Colegio de Bachilleres del Estado de Sonora
Informática 2

función en la celda correspondiente "=SUMA(A1:A3)" en el caso que


escribiéramos "=SUM(A1:A3)" Excel nos mostraría el error #¿NOMBRE? 
dado a que no tiene registrado la función SUM

• #¡VALOR! – Este tipo de error se produce cuando Excel detecta que se está
realizando cálculos con tipos de datos distintos entre sí, como datos numéricos,
texto o fecha y hora. Ejemplo:

• #¡NUM! – Este error se produce cuando Excel detecta cuando una fórmula
o función requiere un dato numérico y se ha introducido un dato no numérico
como una letra o una fecha. Ejemplo:

• #¡DIV/0! – Este error se produce cuando Excel detecta que se ha realizado un


cálculo de un número dividido por 0 o por una celda que no contiene ningún
valor. Ejemplo:

• #¡REF! – Este error se produce cuando Excel detecta el uso de una función
o de un cálculo con referencias de celdas no válidas. Este error se produce
generalmente cuando se borran columnas o filas que contienen datos vinculados
a unas fórmulas, al desaparecer dichos datos las fórmulas no pueden calcular y
aparece el error #¡REF!.

BLOQUE 2 Planeas y elaboras hojas de cálculo 81


• #¡NULO! – Este error se genera cuando queremos relacionar mediante algún
cálculo o función rangos de datos o celdas que no interseccionan. Ejemplo: La
suma de 2 rangos de datos separados, tal y como muestra la imagen da como
resultado el error #¡NULO!

• #N/A –Este error se genera en las hojas de cálculo de Excel cuando se utilizan
funciones de búsqueda o coincidencia de datos los cuales no se existen en
el rango de búsqueda especificado. Ejemplo: Usar la función BuscarV  para
encontrar un valor que no existe en el rango de búsqueda especificado.

• ##### - Este error se muestra cuando: El valor introducido o calculado en la


celda es más grande que el ancho de la columna o se ha calculado o introducido
un valor negativo de una fecha.

Operaciones con archivos


Guardar un libro de trabajo.

Cuando se crea un libro de trabajo y se requiere recuperarlo en otra ocasión para


modificarlo, imprimirlo u otros, es decir, realizar cualquier operación posterior sobre
éste, tenemos que almacenarlo en alguna unidad de disco.

82
Colegio de Bachilleres del Estado de Sonora
Informática 2

Fórmulas.

En una fórmula, por lo general,  intervienen valores que se encuentran en una o más


celdas de un libro de trabajo. Las fórmulas están conformadas por operadores de cálculo,
operandos y, con frecuencia, por funciones. Para introducir una fórmula en una celda,
se debe entrar como primer carácter el signo igual  ( = ). De lo contrario Excel tomará
la información como texto.

Componentes de una fórmula.

Una fórmula en Excel puede contener cualquiera de los siguientes elementos: Referencias


de celdas, constantes, operadores y funciones.

1. Referencias de celdas: Se hace referencia al valor que contiene  la celda. Ejemplo


A1.

2. Constantes: Números o valores escritos directamente en una fórmula. Ejemplo: El


número 5.

3. Operadores: Especifican el tipo de operación o procesamiento que se desea realizar


con los elementos de una fórmula. Existen los siguientes tipos de operadores: 

A) Aritméticos
Operador aritmético Significado
+ Suma
- Resta
* Multiplicación
/ División
% Porcentaje
^ Exponenciación

B) Comparación
Operador de
    Significado
comparación
= Igual a
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Distinto de

BLOQUE 2 Planeas y elaboras hojas de cálculo 91


Informática 2

• Primero realiza la división de A3/A1, que nos da como resultado 1.

• Enseguida realizada la exponenciación A2^2, que nos da como resultado 9.

• En tercer lugar realiza la multiplicación de A2*2, que nos da como resultado 6.

• Por último realiza las sumas y éstas las realizará de izquierda a derecha, primero
suma A1 (2), más el resultado de la multiplicación (6), más el resultado de la
división (1), más el resultado de la exponenciación (9). Dando como resultado
18.

ACTIVIDAD 6
SD1-B2

Realiza los siguientes ejercicios de acuerdo a los siguientes valores.

=A1/A2+(A2*B1^2-2)+C2*2

=(B2*A2)/(B1+2^2)+A1*C1

=A1*C1+((C2ª3*B2+B3+(B1^3*2/A3))*(C2/B2)

=A1+A2+(A2/B1^2-A1)/C2*2+(A3+5)

=B1*A1/C2/B3+(A3*2/B1)/(B2*B3)*(A1/A2)

BLOQUE 2 Planeas y elaboras hojas de cálculo 93


Funciones.

Una función es una fórmula matemática simplificada, las cuales ejecutan cálculos
utilizando los valores especificados (denominados argumentos) en un orden determinado,
para  producir un nuevo valor o grupo de valores. Las funciones pueden utilizarse para
ejecutar operaciones simples o complejas.

La sintaxis de las funciones es:


nombre_función(argumento1;argumento2;...;argumentoN)

Argumentos: Los argumentos es una lista de valores separados por punto y coma (;),
y pueden ser números, referencias de celda, texto entre comillas, valores lógicos como
VERDADERO o FALSO, matrices. Los argumentos pueden ser también constantes,
fórmulas u otras funciones. La cantidad de argumentos que deban ingresarse a una
función es definido por la función misma, y cada uno de estos  argumentos  deberá ser
un valor válido y del tipo requerido por el correspondiente orden en que es especificado
por la función. Es importante mencionar que no todos las funciones requieren de
argumentos. Ejemplos: PI(), Hoy().

Reglas de las funciones.

• Debe iniciar con el signo =.


• Especificar el nombre de la función.
• Los argumentos o valores de entrada van entre paréntesis, no se deben dejar
espacios antes o después de cada paréntesis.
• Los argumentos pueden ser valores constantes, fórmulas o funciones.

Vamos a ejemplificar con una de las funciones más común: =SUMA(A1:C3), el operador
“:” identifica un rango de celdas. Que es lo mismo =A1+A2+A3+B1+B2+B3+C1+C2+C3.
Como podrás observar las funciones tienen la ventaja de simplificar el trabajo.

Las fórmulas pueden contener más de una función y pueden anidarse.


Ejemplo: =SUMA(A1:B3)*SUMA(D1:E3)

Existen distintas categorías de funciones dentro de Excel podemos encontrar las siguientes:
Financieras, Fecha y hora, Lógicas, Texto, Búsqueda y referencias, Matemáticas y
trigonométricas, Estadísticas, Ingeniería, Cubo, Información, Compatibilidad, Web.

Autosuma y funciones más frecuentes.

Una función la podemos escribir directamente en la celda esto es si conocemos su


sintaxis pero en Excel podemos disponer de herramientas que nos facilitan el trabajo.

Debemos dar clic en la ficha Fórmulas y clic en el botón nos permitirá


sumar de forma más rápida pero si le damos clic , podemos encontrar funciones
como Promedio, Contar números, Max, Min e inclusive podemos accesar al dialogo de
funciones a través de la opción Más Funciones..

96
Colegio de Bachilleres del Estado de Sonora
Informática 2

Función SI: Es una función lógica condicional que devuelve un valor si la condición es
VERDADERA y otro valor si la condición es FALSA. Sintaxis: SI(prueba_lógica;valor_
si_verdadero;valor_si_falso)

• Prueba_lógica: Es cualquier valor o expresión que pueda evaluarse


como VERDADERO o  FALSO. Por ejemplo, B1>90 es una expresión
lógica; si el valor de la celda B1 es mayor a 90, la expresión se evalúa
como VERDADERO. De lo contrario, se evaluará como FALSO. Ejemplo:

Función [Link]: Suma las celdas en el rango que coinciden con el argumento
criterio. Sintaxis: =[Link](rango:criterio:rangosuma).

• Rango criterio: Es el criterio en forma de número, expresión o texto, que


determina las celdas que se van a sumar.

• Rango suma: Son las celdas reales que se deben sumar si las correspondientes
celdas incluidas en el rango cumplen con los criterios. Ejemplo:

BLOQUE 2 Planeas y elaboras hojas de cálculo 101


BLOQUE 3
Manipulas y empleas software educativo

Desempeño del estudiante


al finalizar el bloque Objetos de aprendizaje Competencias a desarrollar
Identifica las oportunidades de aprendizaje Software educativo. Estructura ideas y argumentos de manera
que ofrece el software educativo. Herramientas del Software educativo. clara, coherente y sintética.
Utiliza herramientas de software Elige las fuentes de información más
educativo para aprender e incrementar relevantes para un propósito específico
sus posibilidades de formación. y discrimina entre ellas de acuerdo a su
Emplea software educativo como apoyo a relevancia y confiabilidad.
sus actividades académicas. Produce textos con base en el uso
normativo de la lengua, considerando la
intención y situación comunicativa.
Identifica e interpreta la idea general
y posible desarrollo de un mensaje
oral o escrito en una segunda lengua,
recurriendo a conocimientos previos,
elementos no verbales y contexto cultural.
Utiliza las tecnologías de información y
comunicación para investigar, resolver
problemas, producir materiales y
transmitir información.
¿QUÉ ES ARDUINO?

Arduino es una plataforma de código abierto de prototipos electrónicos que se
basa en hardware y software flexibles y fáciles de usar que ponen al alcance de
cualquier persona la construcción de circuitos electrónicos/robots.

En lo referente a hardware, se basa en placas que se pueden ensamblar a mano
o que se pueden comprar directamente preensambladas. Cada una de las placas
lleva un microcontrolador en el que se carga el programa software que es
necesario desarrollar para “darle vida” a la placa.

En la siguiente imagen puedes ver la Placa Arduino Uno R3 con sus partes más
importantes señaladas que serán descritas en el apartado siguiente:

Ilus tración 2. Placa Arduino Uno R3


COMPONENTES PLACA DE ARDUINO

PINES DIGITALES

Los pines digitales son las conexiones digitales de los dispositivos conectados
en la placa. La placa de Arduino cuenta con 14 pines digitales, que van del 0 al
13.

Una señal digital solo puede tener dos estados:
0 (LOW, bajo, false): Indica 0V de tensión enviados desde la placa.
1 (HIGH, alto, true): Indica 5V de tensión enviados desde la placa.


Por lo tanto, cuando ponemos un pin digital a valor HIGH, la placa suministra
5V de tensión por la salida que hayamos indicado, y si ponemos el valor a
LOW suministrará 0V de tensión. (Ojo: Hay que tener en cuenta que los 5V no
siempre son 5 ni los 0 siempre son 0)

Los pines digitales de Arduino pueden ser usados tanto de entrada como de
salida.

PINES ANALÓGICOS

Los pines analógicos pueden medir un rango de valores de voltaje, a
diferencia de los digitales que solo entienden dos valores: 0-1, o lo que es lo
mismo, 0V o 5V.

Con los pines analógicos vamos a poder leer valores intermedios entre 0V y
5V, representados con un valor entero comprendido entre 0 y 1023, ya que la
información se representa en números de 10 bits, y también vamos a poder
escribir en los pines valores comprendidos entre 0 y 255, ya que la
información se representa en números de 8 bits.

En el punto anterior hemos hablado sobre pines digitales, si te fijas en ellos
verás que aparecen algunos con el símbolo “~” en la placa, este símbolo indica
que pueden ser utilizados también como pines analógicos.

PINES ALIMENTACIÓN SENSORES
ESTRUCTURA DE UN PROGRAMA

El programa en Arduino es muy sencillo. Está compuesto básicamente por dos
secciones diferentes y obligatorias en las que se codifican diferentes
componentes del programa.

Ilus tración 26. Es tructura prog rama Arduino


En la primera sección del programa, setup(), es donde se define la
configuración del programa, es decir, es donde se codifican todas las
sentencias de configuración, inicialización de los puertos de la placa,
configuración de las comunicaciones y otros parámetros que dependerán de
cada programa que se desarrolle.

En la segunda sección del programa, loop(), es donde se codifica el programa
que se ejecutará de forma cíclica en Arduino. Esta sección está compuesta por
todas las sentencias que componen el programa y que llevarán a cabo todas las
operaciones que lo compongan.

Resumiendo, en setup se define e inicializa lo que se usa en loop, siendo esta
última sección el corazón de un programa de Arduino.

FUNCIONES DE PROGRAMACIÓN

En este objetivo vamos a profundizar en las siguientes funciones de
programación:

#DEFINE

Esta sentencia permite la definición de valores constantes en todo el programa.
Por ejemplo, si en el circuito vamos a utilizar la salida número 5 de la placa,
lo normal es crear una constante con el valor 5 y utilizarla en el código en
lugar de utilizar el valor 5.

La utilización de constantes en el código es algo muy común que se utiliza en
programación. En el desarrollo de programas para Arduino nos va a permitir,
entre otras cosas, que, si por ejemplo cambiamos el número del pin en la que
tenemos enchufado el circuito, cambiando el valor de la constante, de forma
automática en todas las sentencias en las que estamos usando ese valor se
actualicen y todo siga funcionando de forma correcta. Es decir, no tendremos
que cambiar por el nuevo valor todas las sentencias donde se utiliza la salida,
únicamente cambiaremos el valor de la constante.

En el siguiente ejemplo se define una constante que se llama VERDE y que
tiene el valor 3, es decir, el LED verde está conectado al pin número 3:
#define VERDE 3

PINMODE

La sentencia es utilizada para configurar el modo de trabajo de cada uno de los
pines que tiene la placa Arduino. La sección en la que se utiliza es la sección de
configuración, es decir, en setup().

Existen dos modos diferentes de funcionamiento de los pines:
INPUT: El pin es utilizado como entrada de información en la placa de
Arduino.


OUTPUT: El pin es utilizado como salida de información de la placa de
Arduino.

La configuración por defecto de todos los pines de la placa de Arduino es
de salida, por tanto, si no indicamos lo contrario estos pines funcionarán en
este modo. Te aconsejamos que, independientemente de que sea el valor por
defecto el de salida, configures el modo de funcionamiento de todos los pines.

En el siguiente ejemplo se define el pin número 3 como salida:
pinMode(3, OUTPUT);

En lugar de utilizar el valor 3, en el siguiente ejemplo te mostramos como
utilizar la constante que hemos definido previamente:
pinMode(VERDE, OUTPUT);

DIGITALWRITE

Mediante esta sentencia vamos a enviar valores binarios (0 o 1) al pin
configurado como salida. En la sentencia hay que indicar el número del pin,
que va de 0 a 13 y puede especificarse por valor o por constante, y el valor a
enviar. Los posibles valores a enviar son:

HIGH: Para enviar el valor 1.
LOW: Para enviar el valor 0.


En el siguiente ejemplo se envía el valor HIGH al pin número 3, es decir,
quiero activar el dispositivo conectado al pin 3, en este caso, encender el led
conectado al pin 3:
digitalWrite(3, HIGH);

En lugar de utilizar el valor 3, en el siguiente ejemplo te mostramos como
utilizar la constante que hemos definido previamente:
digitalWrite(VERDE, HIGH);

ANALOGWRITE

La sentencia enviará valores entre 0 y 255 al pin configurado como salida. En
la sentencia hay que indicar el pin sobre el que se quiere realizar la escritura y
el valor a escribir.

En el siguiente ejemplo se envía el valor 120 al pin número 3:
analogWrite(3, 120);

En lugar de utilizar el valor 3, en el siguiente ejemplo te mostramos como
utilizar la sentencia con la constante que hemos definido previamente:
analogWrite(VERDE, 120);

DELAY

La función permite detener de forma temporal la ejecución del programa de
Arduino. El tiempo de detención se indica en milisegundos.

En el siguiente ejemplo se detiene el programa medio segundo (ten en cuenta
que un segundo son 1000 milisegundos):
delay(500);

FOR

La sentencia FOR es utilizada para repetir un bloque de sentencias un número
determinado de veces, es decir, utilizaremos esta sentencia si queremos repetir
una acción o secuencia de acciones, como por ejemplo que se encienda y se
apague un led varias veces seguidas.

Para la ejecución se utiliza una condición de terminación, mientras que esta
condición no sea cierta, el bloque de sentencia se ejecuta repetitivamente, una
vez la condición es cierta deja de ejecutarse el bucle.

En el siguiente ejemplo puedes ver un bucle FOR que se repite 10 veces:

for(int i = 0;i<10;i++)
{
digitalWrite(VERDE, HIGH);
delay(2000);
digitalWrite(VERDE, LOW);
delay(2000)
}

El ejemplo enciende el LED, espera dos segundos, apaga el LED y vuelve a
esperar dos segundos. La condición de salida del bucle es que la variable i sea
mayor o igual que 10, es decir, mientras que sea menor, el bloque de código se
ejecutará y por tanto hasta que no se repita 10 veces la sentencia, se estará
repitiendo el encendido y apagado del led.

Por cada repetición, la variable i va aumentando de 1 en 1 su valor, tal y como
se indica con i++. Podríamos haber puesto i = i + 1 o i += 1 en lugar de i++,
ya que el funcionamiento es el mismo.

VARIABLES

Las variables son un elemento de la programación que se utilizan para
almacenar valores temporalmente. La diferencia principal con las constantes es
que pueden almacenar diferentes valores que van cambiando durante la
ejecución del programa.

Las variables deben de ser declaradas antes de ser utilizadas. En el siguiente
ejemplo puedes ver la declaración de una variable de tipo número entero (int)
y la asignación de un valor:

int VariableEjemplo = 0;
VariableEjemplo = 3 + 5;

En la primera sentencia se declara la variable (VariableEjemplo) y se le asigna
el valor inicial de 0. Posteriormente, la variable almacenará el resultado de
realizar la suma de los valores 3 + 5.

En el aprendizaje utilizaremos los siguientes tipos de variable:

int: Representa un número entero de 16bits comprendido entre -32767 y
32768.


bool: Tipo de variable que únicamente puede tener dos valores: TRUE o
FALSE (Verdadero o Falso).


FASE 1: INTERACTUAR CON UN LED

La fase 1 consiste en el montaje de un circuito electrónico básico basado en el
encendido y apagado automático de un LED.

MONTAJE FÍSICO

El montaje físico para la realización de la fase 1 es el siguiente:

Ilus tración 4 7 . Circuito Obje tivo 1 Fas e 1


En el montaje de este circuito tienes que prestar especial atención a la conexión
de las patillas del led. Recuerda que las resistencias son necesarias para
proteger al led y que no tienen polaridad, por lo que la conexión es sencilla.
Fíjate como está montado en la imagen. Si una vez montado el circuito y
metido el código el led no se ilumina, revisa la conexión de las patillas por si
las hubieras conectado del revés.

PROGRAMACIÓN

En la primera parte del código definiremos la constante que indicará el pin al
que hemos conectado el LED. En el ejercicio hemos conectado un LED verde
al pin 5, entonces el valor de dicha constante será 5. Para organizarte mejor
con el código te aconsejamos que utilices nombres de constante descriptivas,
no utilices nombres del estilo CONSTANTE1, CONSTANTE2…

En la sección de configuración, setup(), configuraremos el pin en modo de
funcionamiento de salida y enviaremos el valor inicial. En este caso, al enviar
el valor LOW le estamos estableciendo el valor de apagado al LED.

En la sección principal, loop(), encenderemos el LED, detendremos el
programa un segundo, apagaremos el LED y de nuevo volveremos a detener el
programa un segundo. Esta sección se ejecutará de forma indefinida, es decir,
se repetirá constantemente encendiendo y apagando el LED.

CÓDIGO FUENTE

#define GREEN 5

void setup()
{
pinMode(GREEN,OUTPUT);
digitalWrite(GREEN,LOW);
}

void loop()
{
digitalWrite(GREEN, HIGH);
delay(1000);
digitalWrite(GREEN, LOW);
delay(1000);
}

FASE 2: INTERACTUAR CON VARIOS LEDS

La fase 2 consiste en el montaje de un circuito electrónico basado en el
encendido y apagado de varios LEDs.

MONTAJE FÍSICO

A continuación, puedes ver el montaje electrónico del circuito:

Ilus tración 4 8. Circuito Obje tivo 1 Fas e 2


Igual que en el montaje anterior, prestar atención a la conexión de cada patilla
de los LED. La toma de tierra ha sido conectada a la protoboard para ser
compartida por todos los componentes que se utilicen, en este caso los tres
LEDs.

PROGRAMACIÓN

En la primera parte del código definiremos las constantes que indican los
pines a los que hemos conectado cada uno de los tres LEDs. En el ejercicio
hemos conectado el LED azul al pin número 7, el verde al pin número 5 y el
rojo al pin número 3.

En la sección de configuración indicaremos los tres pines como salida, y
además, estableceremos el estado inicial de todos ellos, que será el LED rojo
encendido y el verde y azul apagados. El estado inicial lo establecemos con la
función digitalWrite, escribiendo HIGH (1) en la salida del LED rojo y LOW
(0) en las salidas de los LEDs azul y verde.

En la sección principal se van a ir encendiendo y apagando los LEDs, de uno
en uno y deteniendo la ejecución del programa un segundo entre cada una de
las operaciones que se realizan.

CÓDIGO FUENTE

#define BLUE 7
#define GREEN 5
#define RED 3

void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE, LOW);
}

void loop()
{
digitalWrite(RED, HIGH);
delay(1000);
digitalWrite(RED, LOW);
delay(1000);
digitalWrite(BLUE, HIGH);
delay(1000);
digitalWrite(BLUE, LOW);
delay(1000);
digitalWrite(GREEN, HIGH);
delay(1000);
digitalWrite(GREEN, LOW);
delay(1000);
}

FASE 3: INTERACTUAR CON UN LED RGB

La fase 3 y última de este primer objetivo consiste en la utilización analógica y
digital de un LED RGB. El circuito que vamos a montar es compartido por
ambos modos de utilización, lo único que cambia es el código fuente que
cargaremos en la placa de Arduino.

MONTAJE FÍSICO

El montaje físico del circuito es el siguiente:

Ilus tración 4 9. Circuito Obje tivo 1 Fas e 3


Tienes que prestar especial atención a la patilla del LED RGB a la que conectas
la toma de tierra. Cada patilla del LED se corresponde con un color y una con
la tierra, tal y como puedes ver en la siguiente imagen:

Ilus tración 50. Patillas LED RGB


PROGRAMACIÓN DIGITAL

En la primera parte del código definiremos las constantes que indican los
pines a los que hemos conectado cada una de los tres patillas del LED RGB que
se corresponden con los colores rojo, verde y azul. En el ejercicio hemos
conectado el LED azul al pin número 3, el verde al pin número 5 y el rojo al
pin número 6.

En la sección de configuración especificaremos como salidas los tres pines
que hemos configurado para cada uno de los colores de las patillas del LED
RGB. Además, estableceremos el estado inicial de cada uno de ellos,
concretamente, todas las salidas estarán inicializadas con el valor LOW.

En la sección principal vamos a ir encendiendo y apagando cada una de las
patillas del LED RGB, estableciendo un pequeño delay para que se pueda
apreciar el cambio de colores del LED RGB.

CÓDIGO FUENTE

#define RED 6
#define GREEN 5
#define BLUE 3

void setup()
{
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}

void loop()
{
digitalWrite(RED, HIGH);
delay(500);
digitalWrite(RED, LOW);
delay(500);
digitalWrite(GREEN, HIGH);
delay(500);
digitalWrite(GREEN, LOW);
delay(500);
digitalWrite(BLUE, HIGH);
delay(500);
digitalWrite(BLUE, LOW);
delay(500);
}

PROGRAMACIÓN ANALÓGICA

En este ejercicio utilizaremos el mismo circuito electrónico que hemos
montado para el anterior. La diferencia entre ambos ejercicios reside en que en
el anterior hemos utilizado las salidas de forma digital y en éste de forma
analógica.

Para este ejercicio hemos añadido una nueva constante, delayTime, que indica
el tiempo que transcurre entre cada cambio que haremos en la intensidad del
LED.

La sección de configuración es exactamente igual que en el anterior ejercicio.

El cambio respecto al ejercicio anterior radica en la sección principal (loop),
iremos encendiendo cada una de las patillas del LED RGB de forma
progresiva para después apagarla con un digitalWrite y continuar con la
siguiente patilla.

CÓDIGO FUENTE

#define RED 6
#define GREEN 5
#define BLUE 3
#define delayTime 20

void setup()
{
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}

void loop()
{
delay(1000);

for(int i = 0; i < 255; i += 1)
{
analogWrite(GREEN, i);
delay(delayTime);
}

digitalWrite(GREEN, LOW);
delay(1000);

for(int i = 0; i < 255; i += 1)
{
analogWrite(RED, i);
delay(delayTime);
}

digitalWrite(RED, LOW);
delay(1000);

for(int i = 0; i < 255; i += 1)
{
analogWrite(BLUE, i);
delay(delayTime);
}
digitalWrite(BLUE, LOW);
}

FUNCIONES DE PROGRAMACIÓN

En este objetivo vamos a profundizar en las siguientes funciones de
programación:

DIGITALREAD

Mediante la sentencia digitalRead podemos leer el valor que tiene un pin
almacenado. Para proceder con la lectura hay que indicar el pin a leer, que irá
de 0 a 13 y podrá ser indicado mediante valor o constante. El valor leído será
uno de los dos siguientes:

HIGH: El pin contiene el valor 1.
LOW: El pin contiene el valor 0.


En el siguiente ejemplo se recibe el valor del pin número 3:
valor = digitalRead(3);

En lugar de utilizar el valor 3, en el siguiente ejemplo te mostramos como
utilizar la constante que hemos definido previamente:
valor = digitalRead(VERDE);

IF

La sentencia if se utiliza para comprobar si una condición se cumple o no y
ejecutar un bloque de código u otro dependiendo de ello. Es decir, mediante if
vamos a poder ejecutar diferentes sentencias dependiendo del resultado de una
comparación entre dos elementos.

Las comparaciones que se pueden realizar entre los dos elementos de la
comparación son:

Ilus tración 51. Ope radore s comparación


En el siguiente ejemplo se comprueba el valor de la entrada número 5 de la
placa, y en caso de ser HIGH escribe en el pin de salida el valor HIGH, es
decir, si en el pin 5 tenemos una señal de entrada HIGH, en la salida se
devolverá otra señal HIGH. Traducido a un ejemplo sencillo, sería: si
activamos un dispositivo, provocamos la activación de otro, en este caso,
encendemos el led verde.

If(digitalRead(5)==HIGH)
{
digitalWrite(VERDE) = HIGH;
}

En la sentencia if puede añadirse el bloque de código que se debe de ejecutar
en caso de que la condición no se cumpla, éste bloque es añadido con la
sentencia else.

En el siguiente ejemplo se comprueba si el valor del pin número 5 es HIGH y
en caso de serlo escribe HIGH en la salida VERDE, por el contrario, si no se
cumple, escribe HIGH en la salida ROJO.

If(digitalRead(5)==HIGH)
{
digitalWrite(VERDE) = HIGH;
}
else
{
digitalWrite(ROJO) = HIGH;
{

Traducido a un ejemplo sencillo sería: si (if) activamos un dispositivo
determinado se enciende el led verde, y si no (else) lo activamos se enciende el
led rojo.

En la condición de la sentencia if también se pueden poner diferentes
condiciones mediante operadores OR y AND.
OR: Se representa por || e indica que se tiene que cumplir una u otra.
AND: Se representa por && e indica que se tienen que cumplir una y otra.


En la siguiente sentencia se está comprobando mediante OR que la variable
valor sea menor que valorminimo o que sea mayor que valormaximo:

if (valor < valorminimo || valor > valormaximo)

INPUT_PULLUP

Es un tipo de configuración de pin de la placa de Arduino, junto con INPUT y
OUTPUT. La diferencia respecto a INPUT es que si utilizamos
INPUT_PULLUP el circuito utilizará las resistencias internas de la placa de
Arduino, cosa que no ocurre con el modo de funcionamiento INPUT.

Llevado a la práctica, si utilizamos INPUT deberemos de utilizar resistencias
en nuestros circuitos para los elementos de entrada de la placa, y si utilizamos
INPUT_PULLUP no tendremos que utilizarlas ya que utilizará las internas de
la placa.

FASE 1: ENCENDER Y APAGAR VARIOS LEDS CON UN PULSADOR
(VERSIÓN 1)

La fase 1 de este objetivo consiste en la utilización de un pulsador para
encender y apagar dos LEDs en función de su pulsación. El modo de
funcionamiento del pin de entrada será INPUT.

MONTAJE FÍSICO

A continuación, tienes el montaje del circuito electrónico para esta fase:

Ilus tración 53. Circuito Obje tivo 2 Fas e 1


Tienes que prestar atención a que el pulsador esté correctamente conectado
para poder leer la entrada sin problemas.

PROGRAMACIÓN

En la primera sección del programa se definen las constantes que utilizaremos
en la actividad. Hemos definido para el LED rojo la constante 13 y para el
verde la 12, que son los pines donde están conectados a la placa. Para el
pulsador hemos definido la constante 4, que es el pin donde lo hemos
conectado.

En la sección de configuración se definen como salidas los pines donde están
conectados los LEDs (la salida se refiere al encendido/apagado de los leds) y
como entrada, el pin donde hemos conectado el pulsador (la entrada se refiere
a la pulsación o no del pulsador).

La sección principal consiste en que si el pulsador se encuentra presionado
(LOW), el LED verde se encenderá (el rojo estará apagado), en caso contrario,
si no se encuentra presionado, el LED encendido será el rojo (y el verde
apagado).

CÓDIGO FUENTE

#define RED 13
#define GREEN 12
#define BUTTON 4

void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BUTTON,INPUT);
}

void loop()
{
if(digitalRead(BUTTON)==LOW)
{
digitalWrite(GREEN,LOW);
digitalWrite(RED,HIGH);
}
else
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
}
}

FASE 2: ENCENDER Y APAGAR VARIOS LEDS CON UN PULSADOR
(VERSIÓN 2)

La fase 2 del objetivo consiste en la utilización del modo de funcionamiento de
pines INPUT_PULLUP y el manejo de dos LEDs en función de la pulsación
de un pulsador.

MONTAJE FÍSICO

El circuito electrónico es el siguiente:

Ilus tración 54 . Circuito Obje tivo 2 Fas e 2


Debes prestar especial atención al circuito formado con el pulsador, como
puedes ver, respecto al circuito de la fase anterior, hemos omitido la
resistencia ya que vamos a utilizar la función INPUT_PULLUP.

PROGRAMACIÓN

El código fuente de este ejercicio es exactamente igual que el ejemplo anterior,
a excepción del modo de configuración del pin asignado al pulsador, en el
ejercicio anterior lo definíamos como INPUT y en este ejercicio como
INPUT_PULLUP.

CÓDIGO FUENTE

#define RED 13
#define GREEN 12
#define BUTTON 4

void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);
}

void loop()
{
if(digitalRead(BUTTON)==LOW)
{
digitalWrite(GREEN,LOW);
digitalWrite(RED,HIGH);
}
else
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
}
}

EXPLICACIÓN

En este proyecto resumen vas a aprender a simular un semáforo utilizando
LEDs y un pulsador junto con funciones de programación ya conocidas en los
dos objetivos anteriores.

El objetivo de la realización del semáforo es poner en práctica la aplicación de
lógica de funcionamiento de elementos existentes en nuestro entorno del día a
día al código fuente que escribes, junto con la consolidación de los
conocimientos de construcción de circuitos y funciones de programación.

El proyecto que vas a construir simulará el funcionamiento de un semáforo
convencional, la relación entre los componentes electrónicos y los del
semáforo es la siguiente:

Semáforo de coches Simulación con LEDs.
Semáforo peatones Simulación con LEDs.
Botón peatones para activar semáforo Pulsador y LED de indicación de
pulsación.


MONTAJE FÍSICO

El circuito del proyecto es el siguiente:

Ilus tración 56. Circuito Proye cto Se máforo


En el ejemplo vas a utilizar un modo de configuración de entrada
INPUT_PULLUP, por lo que no es necesario el uso de resistencias en el
circuito que vas a montar con el pulsador.

PROGRAMACIÓN

La parte de definición de constantes (#define) contiene todas las definiciones
de todas las entradas y salidas que vas a utilizar de la placa de Arduino. Vas a
tener la definición de los 3 colores existentes en un semáforo de coches y los 2
colores existentes en el semáforo de los peatones. También la luz de indicación
de que ha sido presionado el pulsador por un peatón para que el semáforo de
coches se ponga en rojo y así poder pasar. Por último tienes la definición del
pin al que está conectado el pulsador.

En la siguiente imagen puedes ver a qué color corresponde cada una de las
constantes definidas en el código:

Ilus tración 57 . Re lación cons tante s -s e máforo re al


En la sección de configuración se define el modo de funcionamiento de todos
los pines junto con el estado inicial del circuito.

El programa principal consiste en una serie de acciones que se ejecutan una
vez es presionado el pulsador y que simulan el funcionamiento de un
semáforo.

CÓDIGO FUENTE

#define REDCARS 13
#define YELLOWCARS 12
#define GREENCARS 11
#define GREENPEDESTRIANS 10
#define REDPEDESTRIANS 9
#define SIGNAL 3
#define BUTTON 6

void setup()
{
pinMode(REDCARS,OUTPUT);
pinMode(YELLOWCARS,OUTPUT);
pinMode(GREENCARS,OUTPUT);
pinMode(REDPEDESTRIANS,OUTPUT);
pinMode(GREENPEDESTRIANS,OUTPUT);
pinMode(SIGNAL,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);

digitalWrite(REDCARS,LOW);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(GREENCARS,HIGH);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(SIGNAL,LOW);
}

void loop()
{
if(digitalRead(BUTTON)==LOW)
{
digitalWrite(SIGNAL,HIGH);
delay(5000);
digitalWrite(YELLOWCARS,HIGH);
digitalWrite(GREENCARS,LOW);
delay(2000);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(REDCARS, HIGH);
digitalWrite(SIGNAL,LOW);
digitalWrite(REDPEDESTRIANS,LOW);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(10000);
for(int i = 0;i<3;i++)
{
digitalWrite(GREENPEDESTRIANS,LOW);
delay(1000);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(1000);
}
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(REDCARS, LOW);
digitalWrite(GREENCARS,HIGH);
}
}

La traducción del código es la correspondiente al funcionamiento de dos
semáforos, uno de vehículos y otro de peatones, que podemos encontrar en
cualquier calle:

En la primera parte el LED rojo del semáforo de los coches está apagado
digitalWrite(REDCARS,LOW) y el verde encendido digitalWrite(GREENCARS,HIGH) (están
circulando los coches) y al contrario en el caso del semáforo de los peatones,
el verde apagado digitalWrite(GREENPEDESTRIANS,LOW) y el rojo encendido
digitalWrite(REDPEDESTRIANS,HIGH) (los peatones no pueden cruzar).

Si se presiona el pulsador if(digitalRead(BUTTON)==LOW), se ilumina el LED blanco
digitalWrite(SIGNAL,HIGH), indicando que lo hemos activado. Pasados 5 segundos
delay(5000), se ilumina el amarillo de los coches digitalWrite(YELLOWCARS,HIGH) para
avisar que deben ir parando y a la vez se apaga el verde
digitalWrite(GREENCARS,LOW). Pasados 2 segundos delay(2000) el amarillo se apaga
digitalWrite(YELLOWCARS,LOW) y se ilumina el rojo digitalWrite(REDCARS, HIGH) para que
los vehículos paren totalmente. En ese momento se apaga el LED blanco
digitalWrite(SIGNAL,LOW) y el rojo de los peatones se apaga
digitalWrite(REDPEDESTRIANS,LOW) para iluminarse el verde
digitalWrite(GREENPEDESTRIANS,HIGH) y así permitir el paso a los peatones.

Pasados 10 segundos delay(10000) el LED verde de los peatones se enciende y se
apaga 3 veces durante 1 segundo (1 segundo encendido, 1 pagado y así tres
veces) for(int i = 0;i<3;i++) avisando a los peatones que deben ir dejando de cruzar.
Una vez repetido tres veces, el LED verde de los peatones se apagará
digitalWrite(GREENPEDESTRIANS,LOW) encendiéndose el rojo
digitalWrite(REDPEDESTRIANS,HIGH) y a la vez, el verde de los coches se encenderá
digitalWrite(GREENCARS,HIGH) y el rojo se apagará digitalWrite(REDCARS, LOW).

Aquí terminará el código que hemos creado hasta que se vuelva a presionar el
pulsador que volverá a iniciar el bucle.

FUNCIONES DE PROGRAMACIÓN

En este objetivo vamos a profundizar en las siguientes funciones de
programación:

ANALOGREAD

La función nos permite la lectura analógica de las entradas 0 a la 5 (ANALOG
IN: A0, A1, A2, A3, A4, A5). La lectura viene dada en un valor entre 0 y 1023.

Una característica de los pines analógicos es que no necesitan ser declarados
como entradas o salidas, son siempre pines de entrada a la placa de Arduino.

En el siguiente ejemplo se muestra como se lee el pin número 3:
int Valor = analogRead(3);

También es posible utilizar las constantes definidas para realizar las lecturas
analógicas:
int Valor = analogRead(VERDE);

ANALOGWRITE

La función nos permite escribir valores analógicos comprendidos entre 0 y
255 a los pines 3, 5, 6, 9, 10 y 11 de la placa de Arduino, que son los únicos
que permiten valores analógicos. Recuerda que estos pines llevan el símbolo:
~ delante del número de pin: ~3, ~5..

Tal y como puedes ver en el siguiente ejemplo, la función requiere del número
del pin al que se va a enviar el valor y el valor a enviar:
analogWrite(3, 200);

También se puede utilizan una constante para el pin:
analogWrite(VERDE,200);

El valor enviado puede ser especificado mediante una constante en vez de
mediante un valor directamente:
analogWrite(VERDE, VALORMAXIMO);

MAP

La función map nos permite relacionar un valor que se encuentra en un rango
de valores a otro rango de valores. En el ejemplo que estamos trabajando, la
placa hace una lectura del pin analógico (potenciómetro) comprendida entre
los valores 0 y 1023 y tendrá que transformar ese valor en un rango
comprendido entre 0 y 255 para escribirlo en una salida (zumbador). Para
realizar esta conversión usamos la función map.

En el siguiente ejemplo se muestra la utilización de la función map para
convertir el valor de una variable que se encuentra en el rango 0-1023 al
rango 0-255:
int ValorFinal = map(ValorInicial,0,1023,0,255);

Por lo tanto, la función se utiliza de la siguiente forma:
map(Valor a transformar, InicialMenor, InicialMayor, FinalMenor,
FinalMayor);

Ilus tración 58. Trans formación con map


FASE 1: CONTROL DE SONIDO DE UN ZUMBADOR CON UN
POTENCIÓMETRO

En la fase 1 de este tercer objetivo vas a aprender a utilizar dos nuevos
componentes electrónicos: un potenciómetro y un zumbador. Mediante el
primero de ellos controlaremos el segundo de forma totalmente analógica: en
función de la corriente que deje pasar el potenciómetro, girándolo más o
menos, el zumbador emitirá un sonido más o menos elevado.

MONTAJE FÍSICO

A continuación, puedes encontrar el montaje del circuito electrónico.

Ilus tración 60. Circuito Obje tivo 3 Fas e 1


El zumbador conecta a tierra (GND) y a una salida analógica. El
potenciómetro conecta a tierra (GND), una entrada analógica y a los 5V de la
placa.

PROGRAMACIÓN

En la sección de definición hemos definidos dos constantes: la 11 para
especificar el pin en el que está conectado el zumbador y la 5 para el pin donde
se encuentra conectado el potenciómetro.

En la sección de configuración se define el pin del zumbador como salida
pinMode(BUZZER,OUTPUT) y el del potenciómetro como entrada
pinMode(POTENTIOMETER,INPUT).

El funcionamiento de la sección principal es simple: lee el valor del
potenciómetro int ValueFromPotentiometer = analogRead(POTENTIOMETER), lo transforma
en el rango de 0 a 255 con el que trabajan las salidas analógicas int ValueToBuzzer
= map(ValueFromPotentiometer,0,1023,0,255) y lo escribe en la salida del zumbador
analogWrite(BUZZER,ValueToBuzzer) para regular el volumen con el que suena .

CÓDIGO FUENTE

#define BUZZER 11
#define POTENTIOMETER 5

void setup()
{
pinMode(BUZZER,OUTPUT);
pinMode(POTENTIOMETER,INPUT);
}

void loop()
{
int ValueFromPotentiometer = analogRead(POTENTIOMETER);
int ValueToBuzzer = map(ValueFromPotentiometer,0,1023,0,255);
analogWrite(BUZZER,ValueToBuzzer);
}

FASE 2: CONTROL DE ENCENDIDO DE LEDS CON UN
POTENCIÓMETRO

En la fase 2 del objetivo vamos a manejar el encendido y apagado de LEDs
mediante un potenciómetro, es decir, mediante una entrada analógica (señal
enviada por el potenciómetro) vamos a controlar un conjunto de salidas
digitales (señal de encendido o apagado de los LEDs).

Una vez montado y subido el código, veremos que girando más o menos el
potenciómetro iremos encendiendo progresivamente los LEDs. Cuanto más
giremos el potenciómetro, más LEDs iremos encendiendo y si lo giramos en
sentido contrario los iremos apagando.

MONTAJE FÍSICO

El circuito electrónico es el siguiente:

Ilus tración 61. Circuito Obje tivo 3 Fas e 2


La conexión de los LEDs puedes verlo en el apartado del Objetivo 1 y la del
potenciómetro en el apartado anterior.

PROGRAMACIÓN

En la sección de constantes están definidas todas las constantes que especifican
los LEDs conectados a la placa, estos pines van del 8 al 13. A su vez se ha
definido una constante para indicar el pin en el que se ha conectado el
potenciómetro, el número 5.

La sección de configuración inicializa los pines de los LEDs como salida y del
potenciómetro como entrada.

La sección principal es tan simple como la del ejercicio anterior, aunque más
extensa en lo que a cantidad de código fuente se refiere. Básicamente tiene 3
subsecciones claramente diferenciadas, en la primera se obtiene el valor del
potenciómetro int ValueFromPotentiometer = analogRead(POTENTIOMETER), en la segunda
se traduce el valor al rango 0 y 255 int value = map(ValueFromPotentiometer,0,1023,0,6) y
en la última parte encenderá los LEDs que se correspondan con el valor leído
desde el potenciómetro:

if(value == 0) – Ningún LED encendido (todos LOW)
else if(value == 1) – 1 LED encendido, el verde d la izquierda (1)
else if(value == 2) – 2 LEDs encendidos, el 1 y el 2
else if(value == 3) – 3 LEDs encendidos, el 1, 2 y 3
else if(value == 4) – 4 LEDs encendidos, el 1, 2, 3y 4
else if(value == 5) – 5 LEDs encendidos, el 1, 2, 3, 4 y 5
else if(value == 6) – 6 LEDs encendidos, todos

CÓDIGO FUENTE

#define GREEN1 13
#define GREEN2 12
#define YELLOW1 11
#define YELLOW2 10
#define RED1 9
#define RED2 8
#define POTENTIOMETER 5

void setup()
{
pinMode(GREEN1,OUTPUT);
pinMode(GREEN2,OUTPUT);
pinMode(YELLOW1,OUTPUT);
pinMode(YELLOW2,OUTPUT);
pinMode(RED1,OUTPUT);
pinMode(RED2,OUTPUT);
pinMode(POTENTIOMETER,INPUT);
}

void loop()
{
int ValueFromPotentiometer = analogRead(POTENTIOMETER);
int value = map(ValueFromPotentiometer,0,1023,0,6);

if(value == 0)
{
digitalWrite(GREEN1,LOW);
digitalWrite(GREEN2,LOW);
digitalWrite(YELLOW1,LOW);
digitalWrite(YELLOW2,LOW);
digitalWrite(RED1,LOW);
digitalWrite(RED2,LOW);
}
else if(value == 1)
{
digitalWrite(GREEN1,HIGH);
digitalWrite(GREEN2,LOW);
digitalWrite(YELLOW1,LOW);
digitalWrite(YELLOW2,LOW);
digitalWrite(RED1,LOW);
digitalWrite(RED2,LOW);
}
else if(value == 2)
{
digitalWrite(GREEN1,HIGH);
digitalWrite(GREEN2,HIGH);
digitalWrite(YELLOW1,LOW);
digitalWrite(YELLOW2,LOW);
digitalWrite(RED1,LOW);
digitalWrite(RED2,LOW);
}
else if(value == 3)
{
digitalWrite(GREEN1,HIGH);
digitalWrite(GREEN2,HIGH);
digitalWrite(YELLOW1,HIGH);
digitalWrite(YELLOW2,LOW);
digitalWrite(RED1,LOW);
digitalWrite(RED2,LOW);
}
else if(value == 4 )
{
digitalWrite(GREEN1,HIGH);
digitalWrite(GREEN2,HIGH);
digitalWrite(YELLOW1,HIGH);
digitalWrite(YELLOW2,HIGH);
digitalWrite(RED1,LOW);
digitalWrite(RED2,LOW);
}
else if(value == 5)
{
digitalWrite(GREEN1,HIGH);
digitalWrite(GREEN2,HIGH);
digitalWrite(YELLOW1,HIGH);
digitalWrite(YELLOW2,HIGH);
digitalWrite(RED1,HIGH);
digitalWrite(RED2,LOW);
}
else if(value == 6)
{
digitalWrite(GREEN1,HIGH);
digitalWrite(GREEN2,HIGH);
digitalWrite(YELLOW1,HIGH);
digitalWrite(YELLOW2,HIGH);
digitalWrite(RED1,HIGH);
digitalWrite(RED2,HIGH);
}
}

También podría gustarte