MODULO - III Arduino

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 39

Versión: 01 Páginas: 1 de

MÓDULO TÉCNICO Código: CECOMD - 001


Electricidad y Electrónica
Vigencia: Desde Enero de 2015

Elaboró: Docente del área Revisó: Coord. Académica y Técnica Aprobó: Padre Rector

INSTITUTO TECNICO INDUSTRIAL


CENTRO DON BOSCO

MÓDULO III ELECTRICIDAD Y ELECTRÓNICA


GRADO ONCE
ELECTRONICA DIGITAL MICROCONTROLADORES
2016

COMPETENCIA TECER PERIODO - MÓDULO III:

NORMA DE COMPETENCIA LABORAL:

280501090-2 Intervenir sistemas electrónicos micro-controlados según la orden de trabajo y normas de la empresa.

AREA: Técnica – Electricidad y Electrónica.

AUTOR: ALVARO POVEDA FORERO


Objetivo General del área a lo largo de todo el arco educativo:

Desarrollar en el estudiante un pensamiento crítico y reflexivo para que actúe como agente constructor de su propio conocimiento,
“saber hacer”, de acuerdo a su contexto y las necesidades del sector eléctrico en el país, fortaleciendo el desarrollo y la personalidad
en la toma de decisiones, el trabajo en equipo, el uso creativo de los recursos naturales, el manejo de conflictos, la solución de
problemas y aprovechamiento del tiempo libre; todo lo anterior dentro del marco de la formación técnica salesiana, coherente con la
misión y visión del PEI de la institución.

Objetivos específicos del área:

Concienciar al estudiante como miembro de una sociedad activa con capacidad de transformar la realidad que lo rodea, con un
fintrascendente hacia a la formación de un individuo honesto crítico, con principios religiosos y con posibilidades de generar y disfrutar
una mejor calidad de vida. Estimular al estudiante para que adquiera y aplique el sentido y el hábito de valores tales como la
responsabilidad, la justicia, el orden, la libertad, la convivencia y el respeto a los derechos ajenos, como miembro activo de una
comunidad.

Desarrollar habilidades y destrezas que le permitan al estudiante razonar en forma lógica, crítica y objetivamente mediante actividades
de análisis de situaciones de problema reales que se desarrollan dentro de su contexto.

Estimular y desarrollar en los estudiantes un espíritu científico mediante la investigación, experimentación y aplicación de principios de
la ciencia y la tecnología en la solución de problemas relacionados con las situaciones que se presentan en su especialidad.

Objetivo General del Área para el grado

Once:

Identificar y conocer los circuitos digitales y las instalaciones eléctricas residenciales, sus aplicaciones, modos de operación para el
desarrollo de procesos electrónicos residenciales e industriales y la competitividad dentro de un marco de salud ocupacional y
preservación del medio ambiente.

Objetivos específicos del área para el grado

Once:

Diseñar circuitos electrónicos digitales y simularlos en el programa Proteus, aplicando criterios de calidad en la producción, medidas,
cálculos y selección de dispositivos apropiados según el propósito del producto Realizar el montaje de circuitos en la Protoboard
utilizando las técnicas apropiadas para su funcionamiento

Realizar diseños y planos eléctricos de las instalaciones eléctricas residenciales Aplicar adecuadamente las normas vigentes en los
diseños de las instalaciones eléctricas residenciales.

Unidades Temáticas por Grado


Unidades Temáticas por Grado
Once:
1. Circuitos combinacionales

2. Circuitos secuenciales

3. Micro controladores

4. Control lógico Programado

MODULO III

FASE DE INICIO

MOTIVACIÓN Y JUSTIFICACIÓN:

Conocer el funcionamiento de las cosas es algo que el hombre se ha planteado desde el inicio de
los tiempos; hoy en día nos enfrentamos a una realidad donde abundan la automatización, la
Domótica, la interacción de las personas con las máquinas, la electrónica, la mecánica y la
programación.

    Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden
ser juguetes, horno microondas, frigoríficos, televisores, ordenadores, impresoras, módems, el sistema de arranque de
nuestro vehiculo, etc. Y otras aplicaciones con las que seguramente no estaremos tan familiarizados como instrumentación
electrónica, control de sistemas en una nave espacial, etc. Una aplicación típica podría emplear varios microcontroladores
para controlar pequeñas partes del sistema. Estos pequeños controladores podrían comunicarse entre ellos y con un
procesador central, probablemente más potente, para compartir la información y coordinar sus acciones, como, de hecho,
ocurre ya habitualmente en cualquier PC.

    Los microcontroladores se encuentran por todas partes:

 Sistemas de comunicación: en grandes automatismos como centrales y en télefonos fijos, móviles, fax, etc.
 Electrodomésticos: lavadoras, hornos, frigoríficos, lavavajillas, batidoras, televisores, vídeos, reproductores DVD,
equipos de música, mandos a distancia, consolas, etc.
 Industria informática: Se encuentran en casi todos los periféricos; ratones, teclados, impresoras, escáner, etc.
 Automoción: climatización, seguridad, ABS, etc.
 Industria: Autómatas, control de procesos, etc
 Sistemas de supervisión, vigilancia y alarma: ascensores, calefacción, aire acondicionado, alarmas de incendio,
robo, etc.
 Otros: Instrumentación, electromedicina, tarjetas (smartcard), sistemas de navegación, etc.

    La distribución de las ventas según su aplicación es la siguiente:

 Una tercera parte se absorbe en las aplicaciones relacionadas con los ordenadores y sus periféricos.
 La cuarta parte se utiliza en las aplicaciones de consumo (electrodomésticos, juegos, TV, vídeo, etc.)
 El 16% de las ventas mundiales se destinó al área de las comunicaciones.
 Otro 16% fue empleado en aplicaciones industriales.
 El resto de los microcontroladores vendidos en el mundo, aproximadamente un 10% fueron adquiridos por las
industrias de automoción.

FRASE EMBLEMÁTICA:
“Nunca consideres el estudio como una obligación, sino como una oportunidad para penetrar en el bello y
maravilloso mundo del saber.” Albert Einstein.
ACTIVIDAD 1: ¿Cuáles son las expectativas que le generan aprender sobre Microcontroladores?

PRE – REQUISITOS:

Para abordar el módulo de microcontroladores el estudiante debe tener claridad sobre los siguientes
conceptos y haber alcanzado las siguientes competencias:

CONTENIDOS COMPETENCIAS (NCL)


Conceptos de electrónica análoga: 280501090-1 Intervenir sistemas electrónicos
digitales no programables según la orden de
trabajo y normas de la empresa.
 Circuitos resistivos, capacitivos e
inductivos. 280501090-2 Intervenir sistemas electrónicos
 Diodos. micro-controlados según la orden de trabajo y
 Transistores. normas de la empresa.
 Tiristores
 Amplificadores. 290201082-2 Diseñar los sistemas de control para
implementarlos con lógica cableada en la
Electrónica Digital: automatización de máquinas industriales.
 Circuitos Secuenciales.
 Circuitos Combinacionales.
 Análisis por métodos de nodos.
Manipulación de instrumentos de medición:
 Multímetro.

Interpretación de simbología en un esquema
electrónico.
ACTIVIDADES DE EXPLORACIÓN:
DIAGNOSTICO INICIAL:
1. Un conjunto de instrucciones para una computadora se denomina
a) Manual de Instrucciones
b) Programa
c) Unidad lógica
d) Diagrama
2. Unir con flechas

El sistema de numeración decimal consta de los


dígitos 0 – 10.

Un ADC es un convertidor analógico digital.

La variación de la temperatura es por lo general Falso


una cantidad lógica.

En un sistema binario solo hay dos símbolos. Verdadero

Los dos dígitos binarios son 1 y 2.

Los dispositivos de memoria almacenan información


Binaria.

3. ¿Cuál es el valor decimal del binario 10010?


a) 20
b) 9
c) 18
d) 6

4. El formato serial significa que las señales digitales son:


a) Enviados a través de un conductor en forma secuencial
b) Enviados a través de muchos conductores en forma simultanea
c) Enviadas en decimales codificados en binario
d) Enviados en grupos de ocho señales

5. ¿Cuál de las siguientes NO describe una ventaja de la tecnología digital?


a) El ruido afecta menos a los circuitos
b) Es fácil almacenar la información
c) Los valores pueden variar en un rango continuo
d) Se puede programar la operación
6. ¿Cuál de los siguientes dispositivos no es analógico?
a) Amperímetro (con aguja y escala calibrada)
b) Interruptor de luz
c) Micrófono de audio
d) Termómetro de mercurio

7. ¿Cuáles son los símbolos que se utilizan para representar dígitos en el sistema numérico binario?
a) 0 hasta el 8
b) 0,1,2
c) 0,1
d) 1,2

8. Responda V (Verdadero) y F (Falso)


a) La compuerta OR presenta un estado alto en su salida cuando al menos una de sus entradas también está en
estado alto 

 V

 F

b) La compuerta AND produce una suma lógica *

 V

 F

c) El nivel bajo está asociado a un cero “0” lógico *

 V

 F

COMPARTIR SABERES PREVIOS:

SEÑAL ANALOGA

Son aquellas que pueden tomar un número infinito devalores comprendidos entre dos límites. La mayoría de
los fenómenos de la vida real son señales de este tipo. (sonido, temperatura, voz, video, etc.)

Un ejemplo de sistema electrónico analógico es el altavoz, que se emplea para amplificar el sonido de forma
que éste sea oído por una gran audiencia. Las ondas de sonido que son analógicas en su origen, son
capturadas por un micrófono y convertidas en una pequeña variación analógica de tensión denominada señal
de audio.

SEÑAL DIGITAL

También llamadas variables discretas. Se caracterizan por tener dos estados diferenciados y por lo tanto se
pueden llamar binarias. Siendo estas variables más fáciles de tratar (en lógica serían los valores Verdadero
(V) y Falso (F) o podrían ser 1 ó 0 respectivamente).

Un ejemplo de una señal digital es el interruptor del timbre de tu casa, porque este interruptor tiene dos
estados pulsado y sin pulsar.
CONVERSORES ANALOGO – DIGITAL

Un conversor (o convertidor) analógico-digital (CAD), (o también ADC del inglés "Analog-to-Digital


converter") es un dispositivo electrónico capaz de convertir una entrada analógica de voltaje en un valor
binario. Se utiliza en equipos electrónicos como computadores, grabadores de sonido y de vídeo, y equipos
de telecomunicaciones. La señal analógica, que varía de forma continua en el tiempo, se conecta a la
entrada del dispositivo y se somete a un muestreo a una velocidad fija, obteniéndose así una señal digital a
la salida del mismo.

IDENTIFICAR PROBLEMAS Y NECESIDADES

Este es un buen momento para identificar fortalezas, debilidades y problemas, al final del periodo debe ser
revisado nuevamente y comparar resultados. Indique a cada temática F si es una fortaleza, D si es una
debilidad, P si no tiene al cien por ciento (100%) el manejo del tema.

Circuitos secuenciales ( )
Compuertas lógicas ( )
Circuitos MSI
Circuitos Combinacionales ( )
Flipflops( )
Contadores( )
Registros de desplazamiento( )

PREGUNTA PROBLEMA:
 ¿Cuál es la manera de aprovechar los beneficios que ofrece los microcontroladores?
 ¿Qué software necesita un microcontrolador para póderlo programar?
 ¿Qué elementos o dispositivos podemos manipular por medio de los microcontroladores?
 ¿Qué medidas de seguridad se deben tener en cuenta para manipular los microcontroladores?

Desarrollo del Modulo


El avance de la tecnología ha sido influenciada por el desarrollo de la electrónica digital o moderna. En este módulo
encontraras los principios del mundo fascinante de la electrónica digital micro controlada y sus aplicaciones.

“Nunca consideres el estudio como una obligación, sino como una oportunidad para penetrar en el bello y
maravilloso mundo del saber.” Albert Einstein.
APRENDER A CONOCER
EL MICROCONTROLADOR

Un microcontrolador (abreviado μC,UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes
grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un
microcontrolador incluye en su interior las tres unidades funcionales principales: unidad central de procesamiento (CPU),
memoria y periféricos de entrada y salida.
Para que pueda controlar algún proceso es necesario generar o crear y luego grabar en la memoria EEPROM del
microcontrolador algún programa, el cual puede ser escrito en lenguaje ensamblador u otro lenguaje para
microcontroladores; sin embargo, para que el programa pueda ser grabado en la EEPROM del microcontrolador, debe ser
codificado en sistema numérico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador cuando
éste es alimentado con el voltaje adecuado y asociado a dispositivos analógicos y discretos para su funcionamiento.

Los microcontroladores representan la inmensa mayoría de los chips vendidos, sobre un 50% son controladores "simples"
y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de
propósito general en casa (estás usando uno para esto), tienes distribuidos seguramente entre los electrodomésticos de tu
hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como
automóviles, lavadoras, hornos microondas, teléfonos, Arduino, etc.

Los microcontroladores utilizan la mayoría de su chip para incluir funcionalidad, como los dispositivos de entrada/salida o la
memoria que incluye el microcontrolador, con la gran ventaja de que se puede prescindir de cualquier otra circuitería
externa.

Los puertos de E/S (entrada/salida) en el microcontrolador, generalmente se agrupan en puertos de 8 bits de longitud, lo
cual permite leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino habitual es el trabajo
con dispositivos simples como relés, LED, motores, fotoceldas, pulsadores o cualquier otra cosa que sele ocurra al
programador.

PROGRAMACION

La programación es un gran recurso que nos permite crear diversas secuencias de pasos lógicos que van a satisfacer
nuestras necesidades y las de nuestros sistemas. Programar es todo un arte que requiere de una gran habilidad lógica y
concentración por parte del programador.

Es el proceso de diseñar, escribir, probar, depurar y mantener el código fuente de programas computacionales. El código
fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un
comportamiento deseado.

El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del
dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar involucra áreas como el análisis y
diseño de la aplicación.

Para crear un programa que el computador interprete y ejecute las instrucciones escritas en él, debe usarse un lenguaje de
programación. En sus inicios los computadores interpretaban sólo instrucciones en un Lenguaje específico, del más bajo
nivel conocido como código máquina, siendo éste excesivamente complicado para programar. De hecho sólo consiste en
cadenas de números 1 y 0 (Sistema binario).

Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el área decidieron reemplazar las
instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del inglés, codificándolas así y creando un
lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra
A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo que hacerlo
en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar y entender que secuencias de
números binarios.
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un
método sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como
multiplicar dos números puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto
nivel bastará con sólo una.

LENGUAJE DE PROGRAMACION

Un lenguaje de programación es un idioma artificial diseñado para expresar operaciones que pueden ser llevadas a cabo
por máquinas como los computadores. Pueden usarse para crear programas que controlen el comportamiento físico y
lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.

Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el Significado de
sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código
fuente de un programa informático se le llama programación.

LENGUAJE MAQUINA

El Lenguaje de máquina es el sistema de códigos directamente interpretable por un circuito micro programable, como el
microprocesador de un computador o un microcontrolador. Este lenguaje está compuesto por un conjunto de instrucciones
que determinan acciones a ser tomadas por la máquina. Estas instrucciones son normalmente ejecutadas en secuencia,
con eventuales cambios de flujo causados por el propio programa o eventos externos.

El lenguaje máquina trabaja con dos niveles de voltaje. Dichos niveles, por abstracción, se simbolizan con el cero (0) y el
uno (1), por eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías del álgebra
booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.

LENGUIAJE ENSAMBLADOR
El lenguaje ensamblador o assembler es un lenguaje de programación de bajo nivel para los computadores,
microcontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de
máquina. Esta representación es usualmente definida por el fabricante de hardware, y está basada en códigos
mnemotécnicos que simbolizan los pasos de procesamiento (las instrucciones).

Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física (o virtual). Esto está en
contraste con la mayoría de los lenguajes de programación de alto nivel que idealmente son portables.

LENGUAJE DE ALTO NIVEL

Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la
capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas.

Para los lenguajes de alto nivel se requiere de ciertos conocimientos de programación para realizar las secuencias de
instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de
procesamiento de datos de una manera más fácil y rápida.
ALGORITMO

Un algoritmo es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar
una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado
inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.

Arduino se programa en el lenguaje de alto nivel C/C++ y generalmente tiene los siguientes componentes para elaborar el
algoritmo:

 Estrutura
 Variables
 Operadores matemáticos, lógicos y booleanos.
 Estructuras de control (condicionales y ciclos).
 Funciones.

DIAGRAMAS DE FLUJO

Un diagrama de flujo es la representación gráfica de los pasos o etapas de un proceso describiendo


las secuencias en interacciones de dicho proceso en un algoritmo, esta representación se basa en el
empleo de diferentes símbolos que representan operaciones específicas, normalmente dichas
operaciones se interconectan con flechas indicando una secuencia de operación, es por tanto que se
conocen como diagramas de flujo, son útiles en programación puesto que representan de manera
gráfica y simple de leer los algoritmos y operaciones que se requiere implementar en un sistema
computacional cualquiera, sirviendo así como medio de planificación para escribir programas.

 Ovalo: Normalmente se emplea para indicar el inicio o el fin de un proceso o algoritmo. En su


interior se sitúan materiales, información o acciones para comenzar el proceso o para mostrar
el resultado en el final del mismo.

 Flecha: Indica el sentido y trayectoria del proceso de información o tarea.

 Rectángulo: Es el símbolo más comúnmente utilizado. Se usa para representar un evento
que ocurre de forma automática y del cual generalmente se sigue una secuencia determinada.

 Rombo: Se utiliza para representar una condición. Normalmente el flujo de información entra
por arriba y sale por un lado si la condición se cumple o sale por el lado opuesto si la
condición no se cumple. El rombo además especifica que hay un salto o bifurcación.

 Romboide: en su interior generalmente se sitúa información de apoyo necesaria para realizar
una actividad.

 Círculo: Representa un punto de conexión entre procesos. Se utiliza cuando es necesario
dividir un diagrama de flujo en varias partes, por ejemplo por razones de espacio o
simplicidad. Una referencia debe darse dentro para distinguirlo de otros. La mayoría de las
veces se utilizan números en los mismos.

 Ciertas reglas que hay que tener en cuenta a la hora de realizar diagramas de flujo pueden ser las
siguientes:

 Debe existir siempre un camino que permite llegar a una solución (finalización del algoritmo).

 Solo debe existir un único inicio del proceso.


 Nombrar o etiquetar correctamente los procesos para evitar confusiones.
 Solo debe existir un único punto de fin para el flujo de proceso, salvo el caso de bifurcaciones
a partir de rombos.
 Se deben evitar los ciclos infinitos que bloqueen el programa y las entradas que no presentan
salidas.
 Evitar elementos de generación espontánea, es decir salidas que no son generadas a partir
de una entrada, generalmente son situaciones erróneas.

 
CARACTERISTICAS DE LA PLACA DE ARDUINO

Se trata de una placa open hardware por lo que su diseño es de libre distribución y utilización, que incluso podemos
construirnos nosotros mismos (En la Figura 1 se observa el aspecto de la placa). En la siguiente web puede encontrarse
mucha información relativa a la placa:

Figura 1. Aspecto de la placa Arduino Duemilanove.

El programa se implementará haciendo uso del entorno de programación propio de arduino y se transferirá empleando un
cable USB. Si bien en el caso de la placa USB no es preciso utilizar una fuente de alimentación externa, ya que el propio
cable USB la proporciona, para la realización de algunos de los experimentos prácticos sí que será necesario disponer
de una fuente de alimentación externa ya que la alimentación proporcionada por el USB puede no ser suficiente. El
voltaje de la fuente puede estar entre 6 y 25 Voltios.

Entorno de desarrollo

Para programar la placa es necesario descargarse de la página web de Arduino el entorno de desarrollo (IDE). Se
dispone de versiones para Windows y para MAC, así como las fuentes para compilarlas en LINUX. En la Figura 2 se
muestra el aspecto del entorno de programación. En el caso de disponer de una placa USB es necesario instalar los
drivers FTDI. Estos drivers vienen incluidos en el paquete de Arduino mencionado anteriormente. Existen en la web
versiones para distintos sistemas operativos.
Figura 2. Entorno de desarrollo.

Lo primero que tenemos que hacer para comenzar a trabajar con el entorno de desarrollo de arduino es configurar las
comunicaciones entre la placa Arduino y el PC. Para ello deberemos abrir en el menú "Tools"  la opción "Serial Port". En
esta opción deberemos seleccionar el puerto serie al que está conectada nuestra placa. En Windows, si desconocemos
el puerto al que está conectado nuestra placa podemos descubrirlo a través del Administrador de dispositivos (Puertos
COM & LPT/ USB Serial Port).

El primer paso para comprobar que todo lo que hemos hecho hasta ahora está bien y familiarizarnos con el interfaz de
desarrollo, es abrir uno de los ejemplos. Se recomienda abrir el ejemplo "Blink". Para ello debemos acceder a través del
menú File ( Sketchbook ( Examples ( Digital ( Blink.

El ejemplo "Blink" lo único que hace es parpadear un LED que está colocado en el pin número 13 de la placa. Vamos a
ver qué hay que hacer para subir el programa a la placa Arduino. Primero comprobamos que el código fuente es el
correcto. Para ello pulsamos el botón de verificación de código que tiene forma de triángulo inclinado 90 grados (Figura
3.a). Si todo va bien deberá aparecer un mensaje en la parte inferior de la interfaz indicando "Done compiling". Una vez
que el código ha sido verificado procederemos a cargarlo en la placa. Para ello tenemos que pulsar el botón de reset de
la placa (Figura 3.b) e inmediatamente después pulsar el botón que comienza la carga (Figura 3.c).

Durante la carga del programa, en la placa USB, se encenderán los LED que indican que se están enviando y recibiendo
información por el puerto serie: TX/RX. Si todo se ha realizado correctamente debe aparecer el mensaje "Done
uploading". Ahora tan sólo queda esperar unos 8 segundos aproximadamente para comprobar que todo ha salido bien. Si
el led colocado en el pin 13 de la placa se enciende y se apaga cada segundo entonces todo ha ido bien. Por fin tenemos
todo listo para empezar a trabajar con la placa Arduino.
Figura 3. a) Compilar programa. b) Botón de reset. c) Transferir programa a la placa.

Estructura básica de un programa

La estructura básica de programación de Arduino es bastante simple y divide la ejecución en dos partes: setup y loop.
Setup() constituye la preparación del programa y loop() es la ejecución. En la función Setup() se incluye la declaración de
variables y se trata de la primera función que se ejecuta en el programa. Esta función se ejecuta una única vez y es
empleada para configurar el pinMode (p. ej. si un determinado pin digital es de entrada o salida) e inicializar la
comunicación serie. La función loop() incluye el código a ser ejecutado continuamente (leyendo las entradas de la placa,
salidas, etc.).

void setup() {
inMode(pin, OUTPUT); // Establece 'pin' como salida
}
void loop() {
digitalWrite(pin, HIGH); // Activa 'pin'
delay(1000); // Pausa un segundo
digitalWrite(pin, LOW); // Desactiva 'pin'
delay(1000);
}

Como se observa en este bloque de código cada instrucción acaba con ; y los comentarios se indican con //. Al igual que
en C se pueden introducir bloques de comentarios con /* ... */.

Funciones

Una función es un bloque de código identificado por un nombre y que es ejecutado cuando la función es llamada. La
declaración de una función incluye en primer lugar el tipo de datos que devuelve la función (e.j. int si lo que devuelve es un
valor entero). Después del tipo de datos se especifica el nombre de la funció<bookmark>OLE_LINK1</bookmark>int
delayVal() {
int v; // crea una variable temporal 'v'
v = analogRead(pot); // lee el valor del potenciómetro
v /= 4; // convierte los valores 0-1023 a 0-255
return v; // devuelve el valor final de la variable
}

Variables

Una variable debe ser declarada y opcionalmente asignada a un determinado valor. En la declaración de la variable se
indica el tipo de datos que almacenará (int, float, long)

int inputVariable = 0;

Una variable puede ser declarada en el inicio del programa antes de setup(), localmente a una determinada función e
incluso dentro de un bloque como pueda ser un bucle. El sitio en el que la variable es declarada determina el ámbito de la
misma. Una variable global es aquella que puede ser empleada en cualquier función del programa. Estas variables deben
ser declaradas al inicio del programa (antes de la función setup()).

int v; // 'v' es visible en todo el programa


void setup() {
// no se requiere setup
}
void loop() {
for (int i=0; i<20;) // 'i' es visible solo en el bucle
i++;
float f; // 'f' es visible únicamente en la función loop()
}

Tipos de datos

Arduino permite manejar los siguientes tipos de datos:

 Byte. Almacena un valor numérico de 8 bits. Tienen un rango de 0-255.


 Int. Almacena un valor entero de 16 bits con un rango de 32,767 a -32,768.
 Long. Valor entero almacenado en 32 bits con un rango de 2,147,483,647 a -2,147,483,648.
 Float. Tipo coma flotante almacenado en 32 bits con un rango de 3.4028235E+38 a -3.4028235E+38.
 Arrays Se trata de una colección de valores que pueden ser accedidos con un número de índice (el primer valor del
índice es 0). Ejemplos de utilización:
o Definición y asignación. int myArray[] = {value0, value1, value2...}
o Definición. int myArray[5]; // declara un array de 6 enteros
o Asignación del cuarto componente. myArray[3] = 10;
o Recuperar el cuarto componente y asignarlo a x. x = myArray[3];

Operadores aritméticos
Empleando variables, valores constantes o componentes de un array pueden realizarse operaciones aritméticas y se
puede utilizar el operador cast para conversión de tipos. Ej. int a = (int)3.5; Además pueden hacerse las siguientes
asignaciones:
x ++. Lo mismo que x = x + 1.
x --. Lo mismo que x = x - 1, or decrements x by -1.
x += y. Lo mismo que x = x + y, or increments x by +y.
x -= y. Lo mismo que x = x - y .
x *= y. Lo mismo que x = x * y.
x /= y. Lo mismo que x = x / y.
Para su utilización en sentencias condicionales u otras funciones Arduino permite utilizar los siguientes operadores de
comparación:
x == y. x es igual a y.
x != y. x no es igual a y.
x < y, x > y, x <= y, x >= y.
Y los siguientes operadores lógicos:
Y lógico: if (x > 0 &#38;&#38; x < 5). Cierto si las dos expresiones lo son.
O lógico: if (x > 0 || y > 0). Cierto si alguna expresión lo es.
NO lógico: if (!x > 0). Cierto si la expresión es falsa.
El lenguaje de Arduino presenta las siguientes constantes predefinidas:
TRUE / FALSE.
HIGH/LOW. Estas constantes definen los niveles de los pines como HIGH o LOW y son empleados cuando se leen o
escriben en las entradas o salidas digitales. HIGH se define como el nivel lógico 1 (ON) o 5 V. LOW es el nivel lógico 0,
OFF, o 0 V.
INPUT/OUTPUT. Constantes empleadas con la función pinMode() para definir el tipo de un pin digital usado como entrada
INPUT o salida OUTPUT. Ej. pinMode(13, OUTPUT);

Sentencias condicionales

El lenguaje de arduino permite realizar sentencias condicionales if, if... else, for, while, do... while. Su utilización es similar a
las funciones correspondientes en C.

Entradas y salidas digitales y analógicas

Función pinMode(pin, mode)

Función usada en la function setup() para configurar un pin dado para comportarse como INPUT o OUTPUT. Ej.
pinMode(pin, OUTPUT); configura el pin número 'pin' como de salida. Los pines de Arduino funcionan por defecto como
entradas, de forma que no necesitan declararse explícitamente como entradas empleando pinMode().

Función digitalRead(pin)

Lee el valor desde un pin digital específico. Devuelve un valor HIGH o LOW. El pin puede ser especificado con una variable
o una constante (0-13). Ej. v = digitalRead(Pin);

Funcion digitalWrite(pin, value)


Introduce un nivel alto (HIGH) o bajo (LOW) en el pin digital especificado. De nuevo, el pin puede ser especificado con una
variable o una constante 0-13. Ej. digitalWrite(pin, HIGH);

Función analogRead(pin)

Lee el valor desde el pin analógico especificado con una resolución de 10 bits. Esta función solo funciona en los pines
analógicos (0-5). El valor resultante es un entero de 0 a 1023. Los pines analógicos, a diferencia de los digitales no
necesitan declararse previamente como INPUT o OUTPUT.

Función analogWrite(pin, value)

Escribe un valor pseudo-analógico usando modulación por ancho de pulso (PWM) en un pin de salida marcado como
PWM. Esta función está activa para los pines 3, 5, 6, 9, 10, 11. Ej analogWrite(pin, v); // escribe 'v' en el 'pin' analógico.
Puede especificarse un valor de 0 - 255. Un valor 0 genera 0 V en el pin especificado y 255 genera 5 V. Para valores de 0
a 255, el pin alterna rápidamente entre 0 V y 5 V, cuanto mayor sea el valor, más a menudo el pin se encuentra en HIGH (5
V). Por ejemplo, un valor de 64 será 0 V tres cuartas partes del tiempo y 5 V una cuarta parte. Un valor de 128 será 0 V la
mitad del tiempo y 5 V la otra mitad. Un valor de 192 será 0 V una cuarta parte del tiempo y 5 V tres cuartas partes.

Funciones de tiempo y matemáticas

 delay(ms). Realiza una pausa en el programa la cantidad de tiempo en milisegundos especificada en el parámetro
(máximo 1000, mínimo 1).
 millis(). Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el programa actual como un
valor long unsigned. Después de de 9 horas el contador vuelve a 0.
 min(x,y). max(x,y). Devuelve el mínimo y el máximo respectivamente de entre sus parámetros.

Puerto serie

 Serial.begin(rate). Abre un Puerto serie y especifica la velocidad de transmisión. La velocidad típica para
comunicación con el ordenador es de 9600 aunque se pueden soportar otras velocidades.
 Serial.println(data). Imprime datos al puerto serie seguido por un retorno de línea automático. Este comando tiene
la misma forma que Serial.print() pero este último sin el salto de línea al final. Este comando puede emplearse para
realizar la depuración de programas. Para ello puede mandarse mensajes de depuración y valores de variables por
el puerto serie. Posteriormente, desde el entorno de programación de Arduino, activando el "Serial Monitor" se
puede observar el contenido del puerto serie, y, por lo tanto, los mensajes de depuración. Para observar
correctamente el contenido del puerto serie se debe tener en cuenta que el "Serial Monitor" y el puerto serie han de
estar configurados a la misma velocidad (Para configurar la velocidad del puerto serie se hará con el comando
Serial.begin(rate)).
 Serial.read().Lee o captura un byte (un caracter) desde el puerto serie. Devuelve -1 si no hay ningún carácter en el
puerto serie.
 Serial.available(). Devuelve el número de caracteres disponibles para leer desde el puerto serie.
 Estructura de un programa
 La estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de al menos dos
partes. Estas dos partes necesarias, o funciones, encierran bloques que contienen declaraciones, estamentos o
instrucciones.
 void setup() //Primera Parte
 {
 estamentos;
 }
 void loop() //Segunda Parte
 {
 estamentos;
 }

 En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se
ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa
trabaje.
 La función de configuración (setup) debe contener la declaración de las variables. Es la primera función a ejecutar
en el programa, se ejecuta sólo una vez, y se utiliza para configurar o inicializar pinMode (modo de trabajo de las
E/S), configuración de la comunicación en serie y otras.
 La función bucle (loop) siguiente contiene el código que se ejecutara continuamente (lectura de entradas,
activación de salidas, etc) Esta función es el núcleo de todos los programas de Arduino y la que realiza la mayor
parte del trabajo.
 setup()
 La función setup() se invoca una sola vez cuando el programa empieza. Se utiliza para inicializar los modos de
trabajo de los pins, o el puerto serie. Debe ser incluido en un programa aunque no haya declaración que ejecutar.
Así mismo se puede utilizar para establecer el estado inicial de las salidas de la placa.
 void setup()
 {
 pinMode(pin, OUTPUT); // configura el 'pin' como salida
 digitalWrite(pin, HIGH); // pone el ‘pin’ en estado HIGH
 }

 loop()
 Después de llamar a setup(), la función loop() hace precisamente lo que sugiere su nombre, se ejecuta de forma
cíclica, lo que posibilita que el programa esté respondiendo continuamente ante los eventos que se produzcan en
la placa.
 void loop()
 {
 digitalWrite(pin, HIGH); // pone en uno (on, 5v) el 'pin'
 delay(1000); // espera un segundo (1000 ms)
 digitalWrite(pin, LOW); // pone en cero (off, 0v.) el 'pin'
 delay(1000);
 }

 funciones
 Una función es un bloque de código que tiene un nombre y un conjunto de instrucciones que son ejecutadas
cuando se llama a la función. Son funciones setup() y loop() de las que ya se ha hablado. Las funciones de usuario
pueden ser escritas para realizar tareas repetitivas y para reducir el tamaño de un programa. Las funciones se
declaran asociadas a un tipo de valor “type”. Este valor será el que devolverá la función, por ejemplo 'int' se
utilizará cuando la función devuelve un dato numérico de tipo entero. Si la función no devuelve ningún valor
entonces se colocará delante la palabra “void”, que significa “función vacía”. Después de declarar el tipo de dato
que devuelve la función se debe escribir el nombre de la función y entre paréntesis se escribirán, si es necesario,
los parámetros que se deben pasar a la función para que se ejecute.
 type nombreFunción(parámetros)
 {
 instrucción;
 }

 La función siguiente devuelve un número entero, delayVal() se utiliza para poner un valor de retraso en un
programa que lee una variable analógica de un potenciómetro conectado a una entrada de Arduino. Al principio se
declara como una variable local, 'v' recoge el valor leído del potenciómetro que estará comprendido entre 0 y 1023,
luego se divide el valor por 4 para ajustarlo a un margen comprendido entre 0 y 255, finalmente se devuelve el
valor 'v' y se retornaría al programa principal. Esta función cuando se ejecuta devuelve el valor de tipo entero 'v'.
 int delayVal()
 {
 int v; // crea una variable temporal 'v'
 v= analogRead(pot); // lee el valor del potenciómetro
 v /= 4; // convierte 0-1023 a 0-255
 return v; // devuelve el valor final
 }

 {} entre llaves
 Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para los bloques de
programación setup(), loop(), if.., etc.
 type funcion()
 {
 instrucciones;
 }
 Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el programa dará errores.
 El entorno de programación de Arduino incluye una herramienta de gran utilidad para comprobar el total de llaves.
Sólo tienes que hacer click en el punto de inserción de una llave abierta e inmediatamente se marca el
correspondiente cierre de ese bloque (llave cerrada).
 ; punto y coma
 El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de Arduino. También se
utiliza para separar elementos en una instrucción de tipo “bucle for”.
 int x = 13; /* declara la variable 'x' como tipo entero de valor 13 */

 Nota: Olvidaos de poner fin a una línea con un punto y coma o se producirá en un error de compilación. El texto de
error puede ser obvio, y se referirá a la falta de una coma, o puede que no. Si se produce un error raro y de difícil
detección lo primero que debemos hacer es comprobar que los puntos y comas están colocados al final de las
instrucciones.
 /*… */ bloque de comentarios
 Los bloques de comentarios, o comentarios multi-línea son áreas de texto ignorados por el programa que se
utilizan para las descripciones del código o comentarios que ayudan a comprender el programa. Comienzan con / *
y terminan con * / y pueden abarcar varias líneas.
 /* esto es un bloque de comentario no se debe olvidar
 cerrar los comentarios estos deben estar equilibrados */

 Debido a que los comentarios son ignorados por el compilador y no ocupan espacio en la memoria de Arduino
pueden ser utilizados con generosidad. También pueden utilizarse para "comentar" bloques de código con el
propósito de anotar informaciones para depuración y hacerlo mas comprensible para cualquiera.
 Nota: Dentro de una misma línea de un bloque de comentarios NO se puede escribir otro bloque de comentarios
(usando /*..*/).
 // línea de comentarios
 Una línea de comentario empieza con // y terminan con la siguiente línea de código. Al igual que los comentarios
de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la memoria.
 // esto es un comentario

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

1. Identifica, conoce y aplica los microcontroladores


2. Diseña y soluciona problemas por medio de microcontroladores

Indicadores de logros

1. Identifica, conoce y aplica los microcontroladores

2. Identifica, conoce y aplica los conceptos básicos de los microcontroladores.

3. Identifica, conoce, aplica y programa microcontroladores.

PRACTICA I LED INTERMITENTE


PRACTICA II ALARMA
PRACTICA III SECUENCIA DE LEDS
PRACTICA IV LECTURA DE UN PULSADOR
PRACTICA V LECTURA DE UN SENSOR DE INCLINACION
PRACTICA VI LECTURA DE UNA SEÑAL ANALOGICA
APRENDER A SER

Logro

1. Manifiesta un nivel de autoestima adecuado que le permita ser tolerante y


propositivo ante sus dificultades técnicas.
2. Manifiesta un estilo de trabajo responsable, ordenado y metódico durante la
clase y actividades propuestas con medios tecnológicos que le permiten
adquirir conocimientos, elaborar talleres teóricos prácticos e intercambiar
saberes.

Indicadores de logro

 Elabora y aplica estrategias personales para superar dificultades técnicas, utilizando distintos
recursos e instrumentos y valorando la conveniencia de cada uno de ellos.

 Muestra una actitud positiva ante la resolución de problemas mediante la confianza en su propia
capacidad para enfrentarse a ellos con éxito.

 Realiza auto-evaluación que relacione emociones y acciones que le permitan potencializar sus
cualidades y disminuir la impulsividad para mejorar su relación interpersonal.

ACTIVIDAD:

 Realizar un trabajo donde muestre las normas de seguridad industrial del riesgo eléctrico.
 Realizar una actividad didáctica donde se aplique el reglamento del área técnica.

APRENDER A CONVIVIR

Logro

 Identifica y divulga acciones de tolerancia ante situaciones de dificultad para el desarrollo de sus
actividades técnicas entre sus compañeros de grupo, proponiendo posibles acciones de mejora grupal
e individual.
Indicadores de logro

 Expresa su opinión ante el desarrollo de sus actividades teórico práctica, propone acciones de mejora
pertinentes a las actividades técnicas
 Sugiere alternativas de procesos, que optimicen tiempos y recursos, en talleres grupales realizados en
el laboratorio.
 Escucha con atención las indicaciones y sugerencias de sus compañeros en trabajo grupal, llegando a
consensos en la realización de los mismos para la realización de las actividades teórico prácticas.
 Presenta y escucha opiniones y juicios acerca de la influencia de las TIC y recursos tecnológicos en la
adquisición de información con sentido crítico.

ACTIVIDAD

 Realizar una actividad didáctica donde se aplique el reglamento del área técnica para una mejor
convivencia.

 PROYECCION Y APLICACIÓN DEL APRENDIZAJE DE LA COMPETANCIA PARA LA VIDA

PERSONAL ESCOLAR ÁMBITO SOCIAL Ingenierías

 Disciplina  Solidaridad  Respeto Ingeniería Eléctrica,


 Responsabilidad  Respeto  Comunicación Electrónica,
 Capacidad para  Orden  Proactivo Mecatrónica,
razonar  Aprender a  Responsable Biomédica,
 Comunicación escuchar  Competente Automatización,
 Creatividad Electromecánica.
Entre otras.

CORRELACION – INTERDISCIPINARIEDAD.

MATEMATICAS FISICA ETICA DIBUJO CASTELLANO


Solución de Física eléctrica: Los valores del ser Presentación de Expresión oral y
problemas por medio Electromagnetismo, humano, sentido de planos, letra técnica, escrita.
de leyes y formulas. Ondas, electricidad, pertenencia, interpretación de
corriente, voltaje, proyecto de vida. simbología,
resistencia. esquemas y
convenciones.

INGLES MECANICA INFORMATICA ARTES GRAFICAS QUMICA


Lecturas de Diseño artefactos Utilización de las Diseño de prototipos Estudio y aplicación
Manuales técnicos, para la aplicación de tecnologías de la de artefactos para la de los elementos
especificaciones la electricidad y la información y la implementación de la químicos para la
técnicas de electrónica. comunicación y todas electrónica. construcción de
dispositivos. las herramientas conductores y
informáticas para la semiconductores.
simulación y diseño
de circuitos eléctricos
y electrónicos.

EVALUCACION

LA EVALUACON TEORICO PRÁCTICO

CONOCER Presentación de trabajos escritos, ejercicios en clase, participación de


actividades en clase y evaluaciones.
HACER Presentación de planos eléctricos y electrónicos, presentación de las
prácticas propuestas en el periodo y los informes de laboratorio.

PROYECCION

El estudio de los microcontroladores permite que el estudiante construya soluciones a problemas cotidianos en la
construcción y automatización de artefactos electrónicos, como son automatizar el ingreso a parqueaderos, a aéreas
estériles.

También podría gustarte