Está en la página 1de 43

i

Instituto Tecnológico Superior de Cajeme


Ingenierı́a en Sistemas Computacionales

Microcontrolador Arduino

Manual

Elaborado por:
José Luis Beltrán Márquez
lbeltran@itesca.edu.mx

Cd. Obregón, Sonora, México. Diciembre de 2018.


Contents

Lista de Figuras iii

Lista de Tablas iii

Capı́tulo Página
1 Práctica 1 - Instalación Arduino 2
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Entradas y Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Fuente de alimentación (opcional) . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1 Arduino Mega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.2 Arduino Leonardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.3 Arduino Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.4 Arduino Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.5 Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.6 Arduino Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.7 Arduino Mini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.8 Arduino Pro Mini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.9 Arduino Stand Alone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Módulos adicionales (shields) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.1 GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.2 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.3 WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.4 Wireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.5 USB Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.6 Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.7 Wireless Proto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.8 Proto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Instalación de Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.1 Instalación en Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6.2 Instalación en Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 Sintaxis y Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7.1 Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7.2 Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7.3 Delimitadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.7.4 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.7.5 Cabeceras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

ii
CONTENTS iii

1.7.6 Control de Flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Práctica 2 - Resistencias 23
2.1 Portada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Objetivo de la Práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Antecedentes Teóricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1 Ley de Ohm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.2 Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.3 Resistencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.4 Resistencias Equivalentes . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.5 Resistencias en Serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.6 Resistencias en Paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.7 Resistencias en Estrella y Delta . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.8 Puente de Wheatstone . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.6 Ejercicio 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7 Ejercicio 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8 Ejercicio 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.9 Ejercicio 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.10 Ejercicio 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.11 Ejercicio 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.12 Ejercicio 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.13 Ejercicio 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.14 Ejercicio 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Bibliografı́a 38
List of Figures

1.1 Microcontroladores en protoboard . . . . . . . . . . . . . . . . . . . . . . . . . . 2


1.2 logo de Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 creadores de Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Microcontrolador Atmel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Entradas y Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Polaridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7 Fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.8 Pila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.9 Jumper selector de alimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.10 Modelos de Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.11 Arduino Mega 2560 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.12 Arduino Leonardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.13 Arduino bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.14 Arduino Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.15 Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.16 Arduino Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.17 Arduino Mini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.18 Arduino Pro Mini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.19 Arduino Stand Alone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.20 Módulo adicional GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.21 Acomplamiento entre arduino Leonardo y GSM . . . . . . . . . . . . . . . . . . . 12
1.22 Acomplamiento entre arduino Mega y GSM . . . . . . . . . . . . . . . . . . . . . 12
1.23 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.24 Wifi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.25 Wireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.26 USB Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.27 Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.28 Wireless Proto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.29 Proto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1 Resistencia tipo axial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25


2.2 Resistencia tipo montaje superficial (SMD) . . . . . . . . . . . . . . . . . . . . . 25
2.3 Resistencia de 2,700,000Ωy tolerancia de ±10% . . . . . . . . . . . . . . . . . . . 25
2.4 Tabla con código de colores para resistencias tipo axial . . . . . . . . . . . . . . . 26
2.5 Tabla con los valores reales comerciales de las primeras 2 bandas para resistencias
con 4 bandas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6 Asociación de Resistencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

iv
LIST OF FIGURES v

2.7 Resistencia Equivalente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


2.8 Resistencia Equivalente 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.9 Resistencias en serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.10 Resistencias en Paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.11 Resistencias en Estrella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.12 Resistencias en Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.13 Puente de Wheatstone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
List of Tables

1
Capı́tulo 1

Práctica 1 - Instalación Arduino

1.1 Introducción

Figure 1.1: Microcontroladores en protoboard

El Arduino es un microcontrolador basado en tecnologı́as de hardware y software libre, que permite


realizar funciones de automatización de una manera sencilla y barata.

2
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 3

Figure 1.2: logo de Arduino

Fue creado en el Instituto de diseño interactivo de Ivrea, Italia en 2005; fue bautizado como
Arduino en honor al marqués Arduino de Ivrea, que fue rey de Italia entre los años 1002-1004.

Figure 1.3: creadores de Arduino

Los creadores de arduino de izquierda a derecha: David Cuartielles, Gianluca Martino, Tom
Igoe, David Mellis y Massimo Banzi.
Arduino (http://www.arduino.cc/) es una computadora que está dentro de un chip, y nos sirve
para desarrollar programas que interactúan con el mundo real, como por ejemplo: redes de sensores,
robótica sencilla, alarmas, sistemas de comunicaciones, automatización, etc. Arduino entonces, es
la interfaz de los programas de la computadora con la realidad.
Arduino tiene algunas caracterı́sticas interesantes:

• Puede capturar información del exterior mediante sus entradas analógicas y digitales.

• Puede responder al exterior mediante sus salidas analógicas y digitales.

• Usa como microcontrolador el chip Atmega de Atmel.

• Es multiplataforma, ya que se puede ejecutar en Windows, Macintosh y Linux.

• Está basado en la plataforma IDE processing (www.processing.org), el cual es ampliamente


usado por artistas, diseñadores gráficos, programadores en Android. Aunque en realidad
difiere un poco ya que arduino se parece a C++, mientras que processing a java. además de
que es gratuito y de código abierto, ya que fue desarrollado por académicos.

• Se puede programar usando además del puerto serie, el puerto USB, ésta caracterı́stica es útil
debido a que actualmente muchas computadoras no tienen puertos seriales.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 4

Figure 1.4: Microcontrolador Atmel

• Puedes descargar el software sin pagar nada, ya que es de código abierto.

• El hardware es barato.

• Se vende de manera modular y puedes comprar tarjetas con funciones adicionales(wifi, eth-
ernet, bluetooth, gprs, Zigbee, etc.) que se pueden acoplar a las tarjetas básicas.

• Hay una comunidad activa de usuarios que pueden ayudarte.

• Fue desarrollado en un entorno académico, pensado para que en poco tiempo puedas hacer
cosas interesantes.

1.2 Entradas y Salidas


Puertos Digitales:

• Tiene puertos configurables como entrada y/o salidas que operan a 5 volts.

• Cada pin puede proporcionar o recibir como máximo 40 mA.

• Tiene pines que pueden proporcionar una salida PWM (Pulse Width Modulation).

• Si se conecta cualquier cosa a los pines 0 y 1, eso interferirá con la comunicación USB.

Puertos Analógicos:

• Tiene 6 entradas analógicas que proporcionan una resolución de 10 bits.

• De forma predeterminada el voltaje de entrada es de 0 hasta 5 volts, aunque es posible cam-


biar el nivel más alto, utilizando el pin Aref.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 5

Figure 1.5: Entradas y Salidas

1.3 Fuente de alimentación (opcional)


Si bien en el caso de la tarjeta que usa USB no es preciso utilizar una fuente de alimentación
externa, ya que el propio cable USB la proporciona; en el caso de la tarjeta que usa comunicación
serie es necesario disponer de una fuente externa.
Se puede utilizar una fuente de alimentación de voltaje directo (imagen 1.7) o una pila/baterı́a
con el conector apropiado (imagen 1.8).
Se recomienda no obstante el uso de una fuente ya que no tenemos que estar pendientes de
sustituir las pilas en caso de que se queden sin carga.
En ambos casos el voltaje de la fuente puede ser de entre 9 y 12 volts DC, y la polaridad del
conector debe ser como se indica en la imagen 1.6.

Figure 1.6: Polaridad Figure 1.7: Fuente Figure 1.8: Pila

Junto al conector USB está el jumper selector de cual tipo de energı́a usará el arduino. En la
figura 1.9 en el lado izquierdo se observa la posición del jumper para usar el cable USB como
alimentación; mientras que la figura de la derecha muestra la posición del jumper para usar ali-
mentación externa.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 6

Figure 1.9: Jumper selector de alimentación

Una vez que el Arduino está alimentado, él a su vez puede proporcionar voltaje

1.4 Modelos
Enseguida una imagen que muestra diferentes modelos que se pueden seleccionar del programa
Arduino.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 7

Figure 1.10: Modelos de Arduino

La selección del modelo para adquirir, se debe hacer al contestar las siguientes preguntas:

• ¿Qué tamaño tendrán los proyectos que quiero hacer con Arduino?

• ¿Dispongo de un programador de micros?

• ¿Quiero que la alimentación sea externa, o que se pueda hacer con la conexión USB?

• ¿El Arduino va a interactuar sólo con su propia circuiterı́a o se tendrá que comunicar con
otros dispositivos?

El sitio de Internet donde puedes consultar todos los diferentes arduinos es http://arduino.cc/en/Main/Products
aquı́ algunos ejemplos de modelos de arduino:
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 8

1.4.1 Arduino Mega


Se puede programar directamente con un cable USB. Es con mucha diferencia el más potente y
el que más pines i/o tiene, apto para trabajos complejos, aunque tengamos que sacrificar un poco
el espacio, cuenta con el microcontrolador Atmega2560 con más memoria para el programa, más
RAM y más pines que el resto de los modelos.

Figure 1.11: Arduino Mega 2560

1.4.2 Arduino Leonardo


Se puede programar directamente con un cable USB. Adecuado para interacción con otros dispos-
itivos. Tiene 20 entradas/salidas digitales (de las cuales 7 pueden ser usadas para PWM y 12 como
entradas analógicas), apto para trabajos complejos, aunque tengamos que sacrificar un poco el es-
pacio, cuenta con el microcontrolador Atmega2560 con más memoria para el programa, más RAM
y más pines que el resto de los modelos.

Figure 1.12: Arduino Leonardo

1.4.3 Arduino Bluetooth


Se puede programar directamente con un cable USB. Adecuado para interacción con otros disposi-
tivos. Incorpora un módulo para la transmisión de datos de hasta 100 metros, con esta placa puedes
programar sin cables ası́ como también realizar comunicaciones serie con cualquier dispositivo
bluetooth.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 9

Figure 1.13: Arduino bluetooth

1.4.4 Arduino Pro


Se puede programar directamente con un cable USB. Adecuado para interacción con otros dispos-
itivos. Más robusto y mejor acabado final; incorpora funcionalidades interesantes tales como un
conector especial para conectar una baterı́a LiPo y realizar un montaje portátil. todos sus compo-
nentes son de superficie y su espesor total es menor que otros modelos Arduino.

Figure 1.14: Arduino Pro

1.4.5 Arduino Uno


Se puede programar directamente con un cable USB. Es el modelo estándar y posiblemente el
más conocido y documentado. Salió a la luz en septiembre de 2010 sustituyendo su predecesor
Duemilanove con varias mejoras de hardware que consisten básicamente en el uso de un USB HID
propio en lugar de utilizar un conversor FTDI para la conexión USB. Es 100% compatible con
los modelos Duemilanove y Diecimila. Viene con un Atmega328 con 32Kbytes de ROM para el
programa.

Figure 1.15: Arduino Uno


CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 10

1.4.6 Arduino Nano


Se puede programar directamente con un cable USB. Su principal ventaja es que puede ser puesto
directamente sobre un protoboard haciendo muy cómodo el prototipado al igual que el Arduino
mini.

Figure 1.16: Arduino Nano

1.4.7 Arduino Mini


Versión miniaturizada del Arduino. Mide tan sólo 30 ∗ 18mm y permite ahorrar espacio en los
proyectos que lo requieran. Las funcionalidades son las misma que Arduino UNO salvo que sólo
se fabrica con el chip Atmega168 con 12Kb de memoria para programa. El bootloader es algo
antiguo y tarda unos 10 segundos arrancar (en el UNO es prácticamente instantáneo).

Figure 1.17: Arduino Mini

1.4.8 Arduino Pro Mini


Ésta es una versión menor a la del Arduino Mini fabricada por Sparkfun que incluye un chip
Atmega328 con 32Kb de ROM para programa. Es el modelo favorito para utiizar en proyectos
donde las dimensiones son importantes. No incluye ningún conversor serie-usb por lo que para
programarlo debemos utilizar un conversor con chip FTDI.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 11

Figure 1.18: Arduino Pro Mini

1.4.9 Arduino Stand Alone


Si lo que quieres es usar el chip AtMega sobre cualquier tablero de prototipo, sin utilizar las partes
que no necesites, lo puedes hacer también.

Figure 1.19: Arduino Stand Alone

1.5 Módulos adicionales (shields)


1.5.1 GSM
El módulo adicional de Arduino GSM conecta al arduino con el Internet usando la red inalámbrica
de GPRS.
Puedes Usar una tarjeta SIM de un operador que ofrezca cobertura de GPRS y siguiendo algunas
instrucciones, usar el arduino a través del Internet. También puedes hacer/recibir llamadas de voz
(necesitas un circuito externo de bocina y micrófono) y enviar/recibir mensajes de SMS.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 12

Figure 1.20: Módulo adicional GSM

Para conectar el módulo GSM al arduino usas una librerı́a de comunicación serial. De forma
predeterminada se usan los pines digitales 2 y 3. Para el arduino UNO la librerı́a trabaja sin mod-
ificación, pero para el Leonardo y el Mega son requeridos algunos cambios. En el módulo GSM
el pin de TX es el pin 2, y es el que manda la información al arduino de que hay información para
leer. Sin embargo, el Leonardo y el Mega no tienen esa capacidad de interrupción en el pin 2; para
acoplar el módulo extra, no es necesario modificar la librerı́a serial, sino en el acoplamiento de los
mismos.
En el Leonardo es necesario usar el pin 8, por lo que se agrega un puente entre el pin 2 y el pin
8.

Figure 1.21: Acomplamiento entre arduino Leonardo y GSM

En el Mega es necesario usar el pin 10, por lo que se agrega un puente entre el pin 2 y el pin 10.

Figure 1.22: Acomplamiento entre arduino Mega y GSM

Puedes seleccionar otros pines diferentes para el acoplamiento, para más detalles consultar el
archivo GSM3SoftwareSerial.cpp localizado en la carpeta GSM library.
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 13

1.5.2 Ethernet

Figure 1.23: Ethernet

1.5.3 WiFi

Figure 1.24: Wifi

1.5.4 Wireless

Figure 1.25: Wireless


CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 14

1.5.5 USB Host

Figure 1.26: USB Host

1.5.6 Motor

Figure 1.27: Motor

1.5.7 Wireless Proto

Figure 1.28: Wireless Proto


CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 15

1.5.8 Proto

Figure 1.29: Proto

1.6 Instalación de Arduino

Instituto Tecnológico Superior de Cajeme


Ingenierı́a en Sistemas Computacionales

Práctica de Laboratorio 1
Instalación de Arduino

Elaborado por:
José Luis Beltrán Márquez
lbeltran@itesca.edu.mx

marzo 2017; Cd. Obregón, Sonora.


CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 16

Ver la página oficial de arduino http://arduino.cc/es/pmwiki.php?n=


Para la Instalación http://arduino.cc/en/Guide/HomePage
Arduino es compatible con Windows, Mac OS X, y Linux.

1.6.1 Instalación en Windows


1. Consigue un Arduino y un cable USB

2. Descarga el software en http://arduino.cc/en/Main/Software

3. Conecta el arduino

4. Instala los controladores

5. Ejecuta la aplicación

6. Abre el ejemplo de parpadeo (blink)

7. Selecciona tu modelo de arduino

8. Selecciona tu puerto serial

9. Compila tu programa

10. Carga tu programa al arduino.

1.6.2 Instalación en Linux


1. Consigue un Arduino y un cable USB

2. Instala el software desde tu administrador de aplicaciones

3. Conecta el arduino

4. Ejecuta la aplicación

5. Ejecutar el comando sudo usermod -a -G dialout lbeltran (para activar el software, en lugar
de lbeltran tu pones tu nombre de usuario)

6. Ejecutar el comando sudo chmod a+rw /dev/ttyACM0 (para activar el puerto serial USB)

7. Abre el ejemplo de parpadeo (blink)

8. Selecciona tu modelo de arduino

9. Selecciona tu puerto serial

10. Compila tu programa

11. Carga tu programa al arduino.


CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 17

1.7 Sintaxis y Estructura


Para más detalles sobre Sintaxis Básica, revisar la página web http://arduino.cc/en/Reference/HomePage

1.7.1 Estructura
La estructura básica de programación en arduino, se centra principalmente en dos bloques princi-
pales.

void setup(){
Instrucción (es)
}

void loop(){
Instrucción (es)
}

1. setup La función setup debe contener la declaración de cualquier variable al comienzo del
programa. Es la primer función que se ejecuta y sólo se ejecuta una vez, por lo que suele
usarse por ejemplo para configurar los modos de los pines, o inicializar las comunicaciones
seriales . Ejemplo:

void setup(){
pinMode(pin, OUTPUT); //Ajusta pin como salida
}

2. loop Después de la función setup, se ejecuta la función loop, y como su nombre lo indica es
un ciclo infinito. Ejemplo:

void loop(){
digitalWrite(pin, HIGH); //Pone uno en pin
delay(1000); //Espera un segundo
digitalWrite(pin, LOW); //Pone cero en pin
delay(1000); //Espera un segundo
}

1.7.2 Funciones
Una función es un bloque de código con nombre. Podemos hacer uso de funciones integradas como
setup ó loop; o bien escribir funciones nuevas.
La función es de un tipo, es decir regresa un valor al terminarse.
Entre paréntesis, van listados los parámetros que usa la función, separados por comas.
Ejemplo:
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 18

tipo función(parámetros){
Instrucción (es)
}

1.7.3 Delimitadores
1. { } Las llaves se usan para indicar el inicio y fin de una función, ciclo o condicional. Básicamente
lo que encierra es un grupo de instrucciones. Ejemplo:

void myfunction(datatype argument){


Instrucciones (es)
}

2. ; El punto y coma se usa para terminar una instrucción; También se usa para separar los
elementos en un ciclo for Ejemplo:

int a = 13;

for (inicio; condición de terminación; instrucción al final de cada ciclo)


{
Instrucción (es)
}

3. , La coma se usa para separar los argumentos que se envı́an a una función, Ejemplo:

digitalWrite(13, HIGH);

1.7.4 Comentarios
1.  La doble diagonal se usa para denotar un comentario a partir de la doble diagonal. Ejem-
plo:

x = 5; // Esto es un comentario de una lı́nea. Cualquier cosa


// después de las diagonales no es considerado por el compilador.

2.  ∗ · · · ∗  El comentario multilinea se usa para denotar un comentario que abarca varias


lineas. Ejemplo:

/* Este es un comentario multilinea, a partir de aqui todo es comentario,


incluyendo instrucciones.

if (gwb == 0){ // el comentario de una lı́nea puede estar dentro


CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 19

x = 3; //de un comentario multilinea


}
*/ //No olvides cerrar el comentario

1.7.5 Cabeceras
1. #de f ine Conocida como macro o directiva, sirve para definir un valor constante. Ejemplo:

//El compilador reemplazará ledPin por 3 en cada mención.

#define ledPin 3

//Si pones un punto y coma al final del macro, el compilador


//te mandará un error

#define ledPin 3;

//Similarmente, si pones el macro como asignación, el compilador


//te mandará un error

#define ledPin = 3

2. #include Usado para incluir librerı́as externas al programa. Ejemplo:

#include <avr/pgmspace.h>

1.7.6 Control de Flujo


if
Las sentencias if comprueban el estado de alguna condición; y se ejecutan las instrucciones dentro
de las llaves si la condición es cierta. Si la condición es falsa, el programa ignora las instrucciones.

if (algunaVariable > 50){


// algo aqui, que se ejecuta si la variable es mayor que 50
}

//Se pueden omitir las llaves si solamente es una instrucción que se ejecuta.
if (algunaVariable > 50) digitalWrite(LEDpin, HIGH);
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 20

if else
Las sentencias if . . . else comprueban el estado de alguna condición; y se ejecutan las instrucciones
dentro de las llaves si la condición es cierta. Si la condición es falsa, el programa ejecuta las
instrucciones correspondientes al bloque else.
if (algunaVariable > 50){
// algo aqui, que se ejecuta si la variable es mayor que 50
}
else{
// algo aqui, que se ejecuta si la variable no es mayor que 50
}

Es posible encadenar múltiples comprobaciones if.


if (algunaVariable < 50){
// algo aqui, que se ejecuta si la variable es menor que 50
}
else if(algunaVariable >= 100){
// algo aqui, que se ejecuta si la variable es mayor o igual que 100
}
else{
// algo aqui, que se ejecuta si la variable NO es menor que 50
//y NO es mayor o igual que 100
}

switch case
Puede ser mejor usar switch . . . case que una cadena de if . . . else, debido a que es más fácil
identificar los diferentes casos posibles.
Lo que hace switch . . . case es comparar el valor de una variable con los valores especificados en
cada case, en caso de coincidir con alguno de ellos, ejecuta las instrucciones a partir de ese punto,
y hasta encontrar un break. En caso de no coincidir con ningún case, se ejecuta el default si hay.
Ejemplo:
switch (var) {
case 1:
//hace algo cuando la variable es igual a 1
break;
case 2:
//hace algo cuando la variable es igual a 2
break;
default:
// hace algo cuando la variable es diferente a 1 y 2
}
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 21

for
Es usado para repetir un bloque de instrucciones hasta que NO se cumpla la condición de contin-
uación.
El ciclo for tiene tres argumentos separados por punto y coma:
1. Inicialización
2. Condición de continuación
3. Instrucción que se ejecuta al final de cada ciclo
for(;;){bloque de instrucciones}

for(;;)Instruccion

La inicialización es opcional, usualmente es usada para declarar o inicializar una variable que
es usada como condición de terminación.
La condición de continuación se comprueba antes de cada ciclo, en caso de ser cierta se ejecuta
un nuevo ciclo, en caso de ser falsa se termina el ciclo for.
La instrucción que se ejecuta al final de cada ciclo, suele ser un decremento o incremento; se
ejecuta al final del ciclo y antes de comenzar una nueva comprobación de la condición de contin-
uación.
Ejemplo:
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}

while
Es usado para repetir un bloque de instrucciones hasta que NO se cumpla la condición de contin-
uación. Se tiene que tener cuidado de que la condición cambie en algún momento a falsa, de otro
modo serı́a un ciclo infinito.
while(condición de continuación){bloque de instrucciones}

while(condición de continuación)Instruccion

Ejemplo:
var = 0;
while(var < 200){
// Hacer algo 200 veces
var++;
}
CAPÍTULO 1. PRÁCTICA 1 - INSTALACIÓN ARDUINO 22

do while
El ciclo do . . . while es similar al ciclo while, con la diferencia, de que la condición de continuación
es comprobada hasta el final del ciclo, por lo que el bloque de instrucciones se ejecutará al menos
una vez.

do {bloque de instrucciones} while(condición de continuación);

Ejemplo:

do{
x = leeSensor();
delay(50);
}
while(x < 100);
Capı́tulo 2

Práctica 2 - Resistencias

2.1 Portada

Instituto Tecnológico Superior de Cajeme


Ingenierı́a en Sistemas Computacionales

Práctica de Laboratorio 2
Resistencias

Elaborado por:
José Luis Beltrán Márquez
lbeltran@itesca.edu.mx

Cd. Obregón, Sonora.

23
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 24

2.2 Objetivo de la Práctica


Explicar y demostrar experimentalmente la Ley de Ohm con ejercicios sencillos.

2.3 Antecedentes Teóricos


2.3.1 Ley de Ohm
La ley de Ohm dice que la resistencia de un material puede definirse como la razón entre la difer-
encia de potencial eléctrico (voltaje) y la corriente que atraviesa dicha resistencia:

V =R·I

V
R·I
Donde R es la resistencia en ohmios, V es la diferencia de potencial en voltios e I es la intensidad
de corriente en amperios.

2.3.2 Potencia
La potencia eléctrica es la relación de paso de energı́a de un flujo por unidad de tiempo; es decir, la
cantidad de energı́a entregada o absorbida por un elemento en un tiempo determinado. La unidad
en el Sistema Internacional de Unidades es el vatio (watt).
La energı́a consumida por un dispositivo eléctrico se mide en vatios-hora (Wh), o en kilovatios-
hora (kWh). Normalmente las empresas que suministran energı́a eléctrica a la industria y los hog-
ares, en lugar de facturar el consumo en vatios-hora, lo hacen en kilovatios-hora (kWh).
Cuando se trata de corriente continua (CC) la potencia eléctrica desarrollada en un cierto in-
stante por un dispositivo de dos terminales, es el producto de la diferencia de potencial entre dichos
terminales y la intensidad de corriente que pasa a través del dispositivo. Por esta razón la potencia
es proporcional a la corriente y a la tensión. Esto es,

P= dw
dt = dw
dq dt = V · I
· dq
Donde I es el valor instantáneo de la intensidad de corriente y V es el valor instantáneo del
voltaje. Si I se expresa en amperios y V en voltios, P estará expresada en watts (vatios).
Cuando el dispositivo es una resistencia de valor R o se puede calcular la resistencia equivalente
del dispositivo, la potencia también puede calcularse como,

V2
P=R·I = 2
R
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 25

2.3.3 Resistencias
Se denomina resistor al componente electrónico diseñado para introducir una resistencia eléctrica
determinada entre dos puntos de un circuito eléctrico. En el argot eléctrico y electrónico, son
conocidos simplemente como resistencias.
Las resistencias se utilizan en los circuitos para limitar el valor de la corriente o para fijar el valor
del voltaje. A diferencia de otros componentes electrónicos, las resistencias no tienen polaridad
definida.

Figure 2.1: Resistencia tipo axial

Figure 2.2: Resistencia tipo montaje superficial (SMD)

Lectura del valor de la resistencia


En una resistencia tenemos generalmente 4 bandas de colores, aunque podemos encontrar algunas
que contenga 5.
Resistencia con 4 bandas, con la banda correspondiente a la tolerancia a la derecha:
1. La primera banda representa el dı́gito de las decenas.

2. La segunda banda representa el dı́gito de las unidades.

3. La tercera banda representa la potencia de 10 por la cual se multiplica el número.

4. La cuarta banda representa la tolerancia.

Figure 2.3: Resistencia de 2,700,000Ωy tolerancia de ±10%

Resistencia con 5 bandas, con la banda correspondiente a la tolerancia a la derecha:


CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 26

1. La primera banda representa el dı́gito de las centenas.

2. La segunda banda representa el dı́gito de las decenas.

3. La tercera banda representa el dı́gito de las unidades.

4. La cuarta banda representa la potencia de 10 por la cual se multiplica el número.

5. La quinta banda representa la tolerancia.

Color Valor Multiplicador Tolerancia


Negro 0 100 -
Café 1 101 ±1%
Rojo 2 102 ±2%
Naranja 3 103 -
Amarillo 4 104 ±4%
Verde 5 105 ±0.5%
Azul 6 106 ±0.25%
Morado 7 107 ±0.1%
Gris 8 108 ±0.05%
Blanco 9 109 -
Dorado - 0.1 ±5%
Plateado - 0.01 ±10%
Ninguno - - ±20%

Figure 2.4: Tabla con código de colores para resistencias tipo axial

Decenas Unidades
0 1 negro cafe
1 0 cafe negro
1 2 cafe rojo
1 5 cafe verde
1 8 cafe gris
2 2 rojo rojo
2 7 rojo morado
3 3 naranja naranja
3 9 naranja blanco
4 7 amarillo morado
5 1 verde cafe
5 6 verde azul
6 8 azul gris
8 2 gris rojo

Figure 2.5: Tabla con los valores reales comerciales de las primeras 2 bandas para resistencias con
4 bandas
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 27

Ejercicios de lectura de valor de resistencia


1. Naranja,Naranja,Café: 330Ω

2. Naranja,Naranja,Negro: 33Ω

3. Naranja,Naranja,Dorado: 3.3Ω

4. Café,Negro,Rojo: 1KΩ

5. Café,Negro,Café: 100Ω

6. Rojo,Rojo,Rojo: ?

7. Rojo,Rojo,Café: ?

8. Amarillo,Morado,Café: ?

9. 680Ω: ?

10. 500Ω: ?

11. 39KΩ: ?

12. 2KΩ: ?

2.3.4 Resistencias Equivalentes


Se denomina resistencia equivalente de una asociación respecto de dos puntos A y B, a aquella
que conectada a la misma diferencia de potencial, VAB , demanda la misma intensidad, I. Esto sig-
nifica que ante las mismas condiciones, la asociación y su resistencia equivalente disipan la misma
potencia.

10Ω A A
A
30Ω 15Ω 10Ω
30Ω 5Ω
B B
B
Figure 2.8: Resistencia Equiva-
Figure 2.7: Resistencia Equiva- lente 2
Figure 2.6: Asociación de Re- lente
sistencias
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 28

2.3.5 Resistencias en Serie


Dos o más resistencias se encuentran conectadas en serie cuando al aplicar un voltaje al conjunto,
todas ellas son recorridas por la misma corriente.

R1 R2 Rn
i i i
A B

Figure 2.9: Resistencias en serie

La resistencia equivalente de una asociación serie, es igual a la sumatoria de dichas resistencias.

RAB = R1 + R2 + ... + Rn =
Pn
k=1 Rk

2.3.6 Resistencias en Paralelo


Dos o más resistencias se encuentran en paralelo cuando tienen dos terminales comunes de modo
que al aplicar al conjunto un voltaje, VAB , todas las resistencias tienen el mismo voltaje.
La resistencia equivalente de una asociación en paralelo es igual a la inversa de la suma de las
inversas de cada una de las resistencias.

RAB = Pn
1
1
k=1 Rk

R1 VAB R2 VAB Rn VAB

Figure 2.10: Resistencias en Paralelo


CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 29

2.3.7 Resistencias en Estrella y Delta


Las configuraciones de estrella y delta, también llamadas T y π; son comunes en las cargas trifásicas.
Las ecuaciones de equivalencia entre ambas configuraciones son:

RA = R1·R3
R1+R2+R3 RB = R1·R2
R1+R2+R3 RC = R2·R3
R1+R2+R3

R1 = RA + RB + RA·RB
RC R2 = RB + RC + RB·RC
RA R3 = RA + RC + RA·RC
RB

RC A A
B C
RB R3 R1
RA R2
C B
A
Figure 2.12: Resistencias en Delta
Figure 2.11: Resistencias en Estrella
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 30

2.3.8 Puente de Wheatstone


Un puente de Wheatstone se utiliza para medir resistencias desconocidas mediante el equilibrio
de los brazos del puente. Estos están constituidos por cuatro resistencias que forman un circuito
cerrado, siendo una de ellas la resistencia bajo medida.

1
R

RX

Vin + B V A

3
R
R2

Figure 2.13: Puente de Wheatstone

Cuando el puente está construido de forma que R3 es igual a R2 , R x es igual a R1 en condición


de equilibrio.(voltaje nulo por el voltı́metro).
Asimismo, en condición de equilibrio siempre se cumple que:

R1 ×R3
Rx = R2

Si los valores de R1 , R2 y R3 se conocen con mucha precisión, el valor de R x puede ser determi-
nado con precisión. Pequeños cambios en el valor de R x romperán el equilibrio y serán claramente
detectados por el voltı́metro; y se puede usar el valor medido para calcular el valor de R x .
El voltaje medido por el voltı́metro está dado por la siguiente fórmula:

V = VA − V B
Vin ·R x ·R1
V= R x +R3 − RV1in+R2

V = Vin ∗ ( RxR+R
x
3
− R1
R1 +R2 )

V
Vin = Rx
R x +R3 − R1R+R
1
2

V
Vin + R1R+R
1
2
= Rx
R x +R3
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 31

( VVin + R1R+R
1
2
) ∗ (R x + R3) = R x

( VVin + R1R+R
1
2
) ∗ R x + R3 ∗ ( V
Vin + R1 +R2 ) = R x
R1

R1 ∗R x
( V∗R
Vin
x
+ R1 +R2 ) + R 3 ∗ ( V
Vin + R1 +R2 ) = R x
R1

R1 ∗R x
R3 ∗ ( VVin + R1R+R
1
2
) = R x − ( V∗R x
Vin + R1 +R2 )

R1 ∗R x
R3 ∗ ( VVin + R1R+R
1
2
) = R x − V∗R x
Vin − R1 +R2

R3 ∗ ( VVin + R1R+R
1
2
) = R x ∗ (1 − V
Vin − R1
R1 +R2 )

R
R3 ∗( VV + R +R
1 )
in
R
1 2
= Rx
(1− VV − R +R
1 )
in 1 2
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 32

2.4 Ejemplo 1

1
R

RX

Vin + V

3
R
R2

Con los valores de R1 = 1000Ω, R2 = 1000Ω, R3 = 1000Ω, Vin = 5V, R x = 890Ω


Calcular el Voltaje que medirá el voltı́metro.
Respuesta: V = −0.146

2.5 Ejemplo 2
1
R

RX


Vin + V
3
R
R2

Con los valores de R1 = 1000Ω, R2 = 1000Ω, R3 = 1000Ω, Vin = 5V, R x = 1280Ω


Calcular el Voltaje que medirá el voltı́metro.
Respuesta: V = 0.307
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 33

2.6 Ejercicio 1
Con los valores de R1 = 1000Ω, R2 = 1000Ω, R3 = 1000Ω, Vin = 5V, R x = 100Ω
Calcular el Voltaje que medirá el voltı́metro.

2.7 Ejercicio 2
Con los valores de R1 = 1000Ω, R2 = 1000Ω, R3 = 1000Ω, Vin = 5V, V = 0.5VΩ
Calcular la resistencia R x

2.8 Ejercicio 3
Con los valores de R1 = 1000Ω, R2 = 1000Ω, R3 = 1000Ω, Vin = 5V, V = −0.5VΩ
Calcular la resistencia R x

2.9 Ejercicio 4
¿Cuál es la resistencia equivalente a la siguiente asociación de resistencias?

2.2kΩ
A
1kΩ
3.9kΩ 2.2kΩ
1.8kΩ
B

¿Cual de las resistencias comerciales es más parecida a la resistencia equivalente?

2.10 Ejercicio 5
¿Cuál es la resistencia equivalente a la siguiente asociación de resistencias?
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 34

1.8kΩ 2.2kΩ
A

470Ω 3.9kΩ 1.5kΩ

¿Cual de las resistencias comerciales es más parecida a la resistencia equivalente?

2.11 Ejercicio 6
¿Cuál es la resistencia equivalente a la siguiente asociación de resistencias?

1kΩ 1kΩ
1kΩ

1kΩ 1kΩ

¿Cual de las resistencias comerciales es más parecida a la resistencia equivalente?

2.12 Ejercicio 7
1. Entra a la página

https://www.tinkercad.com/dashboard

y crea una cuenta

2. Enseguida hacer este circuito para comprobar el puente de Wheatstone.


CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 35

Todas las resistencias deben ser de 1KΩ, el voltaje de la fuente debe ser 5V, y el voltaje
medido por el multı́metro debe ser cero.

3. Cambiamos el valor de la resistencia de la izquierda a 800Ω, y apuntamos el voltaje del


multı́metro

4. Cambiamos el valor de la resistencia de la izquierda a 1200Ω, y apuntamos el voltaje del


multı́metro

5. Justifica los resultados con los cálculos adecuados

2.13 Ejercicio 8
1. Hacer este circuito

Todas las resistencias deben ser de 1KΩ, a excepción del potenciómetro que debe ser de
5KΩ, el voltaje de la fuente debe ser 5V, y el voltaje medido por el multı́metro debe ser 1.5V

2. Calcula el valor del potenciómetro.


CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 36

2.14 Ejercicio 9
1. Hacer este circuito

El código es:
int analogPin =0;
int valorEntrada = 0;
float voltaje = 0;

void setup ()
{
Serial . begin (9600) ;
}

void loop ()
{
valorEntrada = analogRead ( analogPin );
voltaje = valorEntrada * 5.0 / 1023;
Serial . print (" Entrada : ");
Serial . print ( valorEntrada );
Serial . print ( "\t" );
Serial . print (" Voltaje : ");
Serial . println ( voltaje );
delay (500) ;
}

2. Variar el voltaje de la fuente de poder y vemos que el valor mostrado en el monitor es igual
que el voltaje de la fuente.
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 37

3. Ahora de acuerdo al siguiente circuito

Imprime en el monitor serial el valor de la resistencia superior.


Para lo anterior, podemos suponer el siguiente circuito
CAPÍTULO 2. PRÁCTICA 2 - RESISTENCIAS 38

RX

Vin + A

R1

Vin = 5

VR1 = Vin − VA
Vin −VA
IRx = IR1 = 1000

RX = VA
IRx

RX = VA
Vin −VA
1000

RX = VA
5−VA
1000

También podría gustarte