miércoles, 29 de abril de 2015

Salida optoacoplada para proteger los puertos del Arduino Uno


Procedemos a estudiar la salida optoacoplada con el chip de 4 pines PC817, el cual se muestra en la figura siguiente: 


El chip PC817 dispone internamente de un diodo infrarojo y un fototransistor tal como se muestra en el siguiente diagrama



En muchas ocasiones se hace indispensable, para evitar quemar  un puerto del Arduino por exceso de la corriente máxima permitida o para evitar  ruidos que pueden incidir en un mal funcionamiento de un circuito secuencial, el uso de un optoacoplador que aisle la carga del circuito secuencial. Para este situación es muy util implementar una salida optoacoplada con el PC817, tal como se muestra en el siguiente esquema para manejar a traves de un relé de 5 voltios  una bombilla azul y otra roja, a 120 voltios AC.


Si la Entrada es 0 el relé está desenergizado y se activa la bombilla roja, y si la entrada es 1 se energiza el relé y se activa la bombilla azulSi en lugar de bombillas se utilizaran motores, como el motor funciona al crearse un campo electromagnético en el,  si no existiera el aislamiento eléctrico causará ruido y molestaría en el circuito lógico que lo está activando, y por la alta corriente exigida dañaría el puerto del Arduino en donde se está efectuando la conexión.

 El  Optoacoplamiento, quiere decir que el acoplamiento de las bombillas con el circuito lógico que lo activa, se hace en forma óptica, a través del diodo infrarojo y el fototransistor que existen en el interior del chip de 4 pines PC817. Con el 0 lógico el led infrarojo no emite luz, y el fototransistor está abierto, en cambio, si se tiene un 1 lógico a la entrada, el led emite luz. y el fototransistor conduce.


Observe además que se están utilizando  tanto los contactos normalmente abiertos como los normalmente cerrados, o sea los 5 pines de que dispone el relé de 5 voltios.El diodo de conmutacion dispuesto inversamente y en paralelo con la bobina del relevo actúa como supresor de picos de corriente cotrarrestando la Ley de Lenz (  VL = - L di / dt), y evitando que el voltaje autoinducido negativo que se genera en la bobina del relevo queme el transistor 2N2222A que se está utilizando como interface entre la salida del optoacoplador y la bobina o entrada del relevo.

Mas información sobre este interesante tema del optoacoplamiento se puede obtener en http://es.wikipedia.org/wiki/Optoacoplador

jueves, 16 de abril de 2015

Prueba lúdica:mensaje encriptado sobre arduino

Resuelva el siguiente  test  de selección múltiple con única respuesta y con  base en sus respuestas descifre el mensaje  encriptado  que se presenta al final del mismo.

1.    En el arduino uno  el único pin que tiene un led de montaje superficial asociado es el:
A.      0
B.      1
C.      A0
D.      13

2.    Si se configura el pin de  entrada análoga  A2  del arduino uno  como entrada o salida  digital  debe corresponder al pin
A.      14
B.      15
C.      16
D.      17

3.    En el arduino uno  los pines utilizados en el proceso de comunicación serial  con el computador y que por consiguiente no deben ser utilizados como entradas y  salidas cuando se desea trabajar con la comunicación serial son
A.      0   y    1
B.      1   y   2
C.      A0  y   A1
D.      A1  y  A2


4.    según  la instrucción: 

void setup()
{  for  ( int  x = 5;  x <  11;  x = x +  3 ) 
pinmode ( x, output); }

A.        Los pines  5, 8  y  11  son configurados como salidas
B.        Sólo los pines  5  y  8   son configurados como salidas
C.        Los pines  5,7,9 y 11 son configurados como salidas
D.        Los pines 5, 6,7,8,9 y 10  son configurados como salidas


5.                    I.    bitRead (65, 3) = 1
                II.   bitRead  (40, 5) = 0

A    I    y  II son falsas
B.   I   es  falsa  y   II  es verdadera
C.   I  es verdadera y  II   es falsa
D.  I  y  II  son verdaderas

6.                    I.       76  >>  2   =  19
                II.      4   <<  3   =   32

A    I    y  II son falsas
B.   I   es  falsa  y   II  es verdadera
C.   I  es verdadera y  II   es falsa
D.  I  y  II  son verdaderas

7.                El microcontrolador  atmega328 presente en el arduino uno dispone de:
A.       24  pines en encapsulado DIP
B.      28  pines en montaje SOIC
C.      24  pines en montaje SOIC
D.      28  pines en encapsulado DIP

8.         El  firmware es:
A.      una librería
B.      un  directorio
C.      el software personalizado de un sistema embebido
D.      un microcontrolador

9.           El circuito integrado ULN2003
I.                     dispone de 7  transistores  darligton  que funcionan como buffer   inversores
II.                   dispone de diodos de conmutación que permiten contrarrestar la ley de Lenz cuando se
trabajan cargas inductivas

A    I    y  II son falsas
B.   I   es  falsa  y   II  es verdadera
C.   I  es verdadera y  II   es falsa
D.  I  y  II  son verdaderas

10.         Las señales análogas en arduino se representan en números enteros  desde 0 hasta 1023  debido a que dispone de un conversor análogo digital de
A.      6 bits
B.      8 bits
C.      10 bits
D.      12 bits


11.                          Para una temperatura  de 28 grados centígrados, la salida del sensor LM35 es de:
A.      0,14 voltios
B.      0,28 voltios
C.      0,56 voltios
D.      2,8 voltios

12.    El  número hexadecimal  39   equivale en decimal  a:
A.       53
B.      57
C.      59
D.      61

13.                           I. la corriente máxima permitida en arduino uno es de 80 mA
                      II. PWM en arduino emula una salida análoga entre 0 y 5 voltios al variar el ciclo útil

A    I    y  II son falsas
B.   I   es  falsa  y   II  es verdadera
C.   I  es verdadera y  II   es falsa
D.  I  y  II  son verdaderas

14.           analogWrite(64)  en PWM de arduino  equivale en la escala de 0 a 5 voltios, a un voltaje análogo de:
A.      0,625 voltios
B.      0,750 voltios
C.      1,250 voltios
D.      1,750 voltios

15.     I. En la instrucción serial.begin(4800)  se ordena al computador que inicie una comunicación       serial con arduino con una velocidad de 9600 bits por segundo.
II  si se activan los tres colores en un led rgb se obtiene luz magenta.

A    I    y  II son falsas
B.   I   es  falsa  y   II  es verdadera
C.   I  es verdadera y  II   es falsa
D.  I  y  II  son verdaderas

Descifre  con  base  a  sus  respuestas  el  siguiente   mensaje:



Tenga en cuenta la siguiente tabla para que efectúe los cambios respectivos:

@
> 
$
&
#  
<  
¿
!
/
%
(
)
*
?
















1.       Si la respuesta a la pregunta 1  es  A  coloque en la casilla del símbolo @ la letra F, si la respuesta es  B   coloque en la casilla del símbolo >  la letra B,  si es C   coloque en la casilla del símbolo $   la letra H y si es D  coloque en la casilla del símbolo ?  la letra U.

2.       Si la respuesta a la pregunta 2  es  A  coloque en la casilla del símbolo &  la letra J, si la respuesta es  B   coloque en la casilla del símbolo #   la letra Q,  si es C   coloque en la casilla del símbolo /   la letra R  y si es D  coloque en la casilla del símbolo <   la letra V.

3.       Si la respuesta a la pregunta 3  es  A  coloque en la casilla del símbolo )  la letra T, si la respuesta es  B   coloque en la casilla del símbolo  la letra X,  si es C   coloque en la casilla del símbolo ¿   la letra Z   y si es D  coloque en la casilla del símbolo !  la letra Y.

4.       Si la respuesta a la pregunta 4  es  A  coloque en la casilla del símbolo % la letra E, si la respuesta es  B   coloque en la casilla del símbolo (  la letra D,  si es C   coloque en la casilla del símbolo *   la letra A   y  si es D  coloque en la casilla del símbolo @  la letra W.

5.       Si la respuesta a la pregunta 5  es  A  coloque en la casilla del símbolo % la letra I, si la respuesta es  B   coloque en la casilla del símbolo >  la letra V,  si es C   coloque en la casilla del símbolo $   la letra L  y si es D  coloque en la casilla del símbolo ?  la letra P.

6.       Si la respuesta a la pregunta 6  es  A  coloque en la casilla del símbolo &  la letra K, si la respuesta es  B   coloque en la casilla del símbolo #   la letra B,  si es C   coloque en la casilla del símbolo <   la letra R  y si es D  coloque en la casilla del símbolo   la letra M.

7.       Si la respuesta a la pregunta 7  es  A  coloque en la casilla del símbolo )  la letra A, si la respuesta es  B   coloque en la casilla del símbolo ¿  la letra X,  si es C   coloque en la casilla del símbolo !   la letra Z   y si es D  coloque en la casilla del símbolo *  la letra L.

8.       Si la respuesta a la pregunta 8  es  A  coloque en la casilla del símbolo >  la letra E, si la respuesta es  B   coloque en la casilla del símbolo (  la letra J,  si es C   coloque en la casilla del símbolo ¿   la letra  G   y  si es D  coloque en la casilla del símbolo @  la letra T.

9.       Si la respuesta a la pregunta 9 es  A  coloque en la casilla del símbolo % la letra P, si la respuesta es  B   coloque en la casilla del símbolo (  la letra S,  si es C   coloque en la casilla del símbolo *   la letra B   y  si es D  coloque en la casilla del símbolo &  la letra O.

10.   Si la respuesta a la pregunta 10  es  A  coloque en la casilla del símbolo #  la letra X, si la respuesta es  B   coloque en la casilla del símbolo )  la letra D,  si es C   coloque en la casilla del símbolo <   la letra S   y  si es D  coloque en la casilla del símbolo   la letra W.

11.   Si la respuesta a la pregunta 11  es  A  coloque en la casilla del símbolo ! la letra E, si la respuesta es  B   coloque en la casilla del símbolo >  la letra P,  si es C   coloque en la casilla del símbolo ?   la letra A   y  si es D  coloque en la casilla del símbolo /  la letra W.

12.   Si la respuesta a la pregunta 12  es  A  coloque en la casilla del símbolo / la letra G, si la respuesta es  B   coloque en la casilla del símbolo !  la letra N,  si es C   coloque en la casilla del símbolo ¿  la letra A   y  si es D  coloque en la casilla del símbolo   la letra Q.

13.   Si la respuesta a la pregunta 13  es  A  coloque en la casilla del símbolo % la letra I, si la respuesta es  B   coloque en la casilla del símbolo @  la letra C,  si es C   coloque en la casilla del símbolo *   la letra S   y  si es D  coloque en la casilla del símbolo ?  la letra W.

14.   Si la respuesta a la pregunta 14  es  A  coloque en la casilla del símbolo /  la letra V, si la respuesta es  B   coloque en la casilla del símbolo &   la letra Y,  si es C   coloque en la casilla del símbolo #  la letra E   y  si es D  coloque en la casilla del símbolo <  la letra Z.

15.   Si la respuesta a la pregunta 15  es  A  coloque en la casilla del símbolo $ la letra A, si la respuesta es  B   coloque en la casilla del símbolo /  la letra D,  si es C   coloque en la casilla del símbolo *   la letra X   y  si es D  coloque en la casilla del símbolo @  la letra W.


 SOLUCIÓN:

Respuestas al test:

1. D       2.C       3.A        4.B         5.A      6.D      7.D      8.C    9.D        10.C
11. B      12.B      13.B      14.C     15.A 


MENSAJE DESCIFRADO:

COMPRENDER LA LOGICA DE LOS ALGORITMOS  E INTERPRETAR LOS CODIGOS ES LO ESENCIAL EN LA PROGRAMACION DEL ARDUINO

domingo, 15 de marzo de 2015

Driver ULN2003 para manejar Leds RGB de 1 watio de potencia, relés y motores.

El LED (Ligh Efect Diode)  es un diodo emisor de luz cuando está directamente polarizado.

El Led RGB de ánodo común dispone de 3 diodos en uno:Red,Green, Blue. El ánodo debe estar conectado a Vcc.

El Led RGB  de  1  watio  de potencia  maneja corrientes de más de 40 mA, por consiguiente debe utilizarse con un driver, o interface que proporcione suficiente corriente para no ir a quemar los puertos del Arduino.

Una interface adecuada es el chip ULN2003, transistores en arreglo Darlington que pueden manejar hasta 500 miliamperios.



Un transistor Darligton está construido con dos transistores para lograr suministrar alta corriente:
El Integrado ULN2003  dispone de 7  transistores darlington, que funcionan como Buffer Inversores



Los diodos de conmutación permiten contrarrestar la ley de Lenz, cuando se utilizan cargas inductivas, como por ejemplo al utilizar motores, relevos, etc,  donde por existir bobinas, hay inductancias, y los diodos inversamente polarizados actúan como supresores de picos de corriente.

E ( El emisor del transistor darlington ), pin 8 debe estar conectado a tierra, y el pin 9, el cátodo común de los diodos de conmutación a Vcc. En caso de estar manejando Leds de potencia los diodos al estar inversamente polarizados no estarían actuando. 

Lo que sí hay que hacer es colocar las  resistencias: la del transistor darlington, o sea la del inversor, y la resistencia del Led. Se sugiere colocar al led azul resistencia de 22 ohmios, 1 watio, y de 33 ohmios, 1 watio al verde y rojo, debido a que la intensidad del led azul es inferior a la del verde y rojo. 


Para manejar relés,  el diodo en paralelo a la bobina ya lo trae el ULN203, por consiguiente no hay que colocarlo externamente, como un 1N4004.
Se pueden utilizar relevos de  12 voltios, sin ningun problema, porque el ULN203 maneja tensiones hasta de 30 voltios.

Para manejar motores también es muy útil este chip.





domingo, 1 de febrero de 2015

Kanance Ingeniería: Investigación, Innovación y Desarrollo.

Es una empresa Colombiana cuyo objetivo es brindar solución a problemas puntuales en diferentes sectores como la industria, la salud, la educación y el comercio; mediante la prestación de servicio de ingeniería y el desarrollo de productos tecnológicos.



Sin perder el norte del camino de la investigación, la empresa dedica el esfuerzo y la experiencia de un selecto e interdisciplinario grupo de profesionales para dar soluciones eficientes, eficaces y efectivas a problemas que se presentan día a día en los diferentes sectores productivos.

Kanance Ingeniería es una empresa ubicada en Mosquera,Cundinamarca, fundada y gerenciada por José Miguel Ceballos Forero, movida por el motor de la investigación, y que tuvo su orígen y motivación en un semillero de investigación: El Club de Física del INEM Santiago Pérez, un colegio ubicado en el barrio Ciudad Tunal en Bogotá, donde José Miguel  fue uno de los líderes del grupo, y el autor de esite blog fue profesor de Física por más de 40 años y se inventó el Club como actividad extraclase.

Transcribo textualmente un artículo publicado en el periódico EL tiempo sobre el Club de Física:


" MISTERIO+ENERGÍA: CLUB DE PILOS



En lo que antes era una caseta de información, un cuarto de ladrillo que no tiene más de 5 metros cuadrados, funciona el club de física del colegio Inem Santiago Pérez.

Sobre una de las paredes está un Einstein sonriente con un pequeño Chaplin al lado. Debajo, hay un par de tableros llenos de huequitos, que son el mayor orgullo de los 50 muchachos del club.

Explique qué es eso le dice Jesús Carvajal, el profesor que los dirige, a José Miguel Ceballos, uno de los 10 ex alumnos del colegio que sigue vinculado al club.

Y como si se tratara de dar su tarea, José Miguel empieza a hablar de electrónica digital, lógica, álgebra de Boole, compuertas... Para los compañeros que lo escuchan, esas palabras son el pan de cada día, pues como dice Claudia Ramírez, una de las tres mujeres del club, la electrónica es su vida.

Cuando se le piden explicaciones, José Miguel sonríe y pasa a ser el monitor de los más pequeños para explicar. No en vano, este joven de 26 años decidió estudiar electrónica, a pesar de graduarse bachiller con especialidad en química.

Estos tableros los hicimos con José Gustavo Melo y Luis Carlos Díaz. Son para enseñar electrónica en vivo y no con tiza y papel dice José Miguel.

Estamos tratando de crear una fundación que comercialice los proyectos de los muchachos interviene el profesor, que desde hace unos 25 años está sembrando en sus alumnos inquietudes y problemas para que se interesen por la tecnología y a través de ella, por la física.

Uno les enseña las teorías de Aristóteles, Galileo, Newton, pero lo que ellos viven todos los días es la tecnología. Eso hay que aprovecharlo continúa el profesor.

Prueba de esas inquietudes es la chandita . Así le dicen al primer computador que tuvieron y que armaron ellos mismos reciclando partes.

El primer computador de verdad se los regaló la Asociación de Padres del colegio. Eso les cambió la manera de trabajar. Ahora no tienen que gastar y gastar en componentes ensayando un circuito, sino que lo simulan en un programa de computador.

Ese laboratorio virtual es otro orgullo de los muchachos. Y el tablero de lógica binaria (la que solo tiene dos valores) lo fabricaron primero en el computador.

Pero para llegar a esos proyectos grandes, todos van recorriendo un camino según su edad (los hay desde 11 años), su grado de preparación (hay niños de sexto grado) y el misterio tecnológico que quieran resolver. Dentro de los proyectos que se destacan está la simulación de las funciones de un auto, hecha por Claudia, y un sensor para contar cuántas personas entran en un ascensor y alertar cuando hay sobrecupo.

Oscar Alejandro Castillo y Oscar Garzón, o los Oscares de la Electrónica , como los llama José Miguel, son los creadores del sensor.

Al primero le interesó el club porque le gustaba armar cosas, pero no sabía cómo. Y para el segundo, la motivación fue saber desarmar.

Mientras ellos muestran cómo van cambiando los números del sensor, entra como un vendaval, Ricardo Sarmiento, un jovencito de 16 años, que desde que descubrió el QBasic (lenguaje de programación) se engomó con la informática.

Es tan hábil que en plena clase les hizo una broma a sus compañeros y profesores haciéndoles creer que todo el sistema había sido contaminado por un virus. Después de 15 minutos de oír renegar a los maestros y de aburrir a los compañeros con el pito de los computadores, les contó que el virus era falso y que él era su creador.

Pero para estos muchachos no todo son bromas y proyectos para especialistas. Al portero del colegio le solucionaron un gran problema: timbrar cada 45 minutos para señalar el cambio de clase.

Antes eso era un despelote cuando se iba la luz y porque tenía que estar pendiente de todo en la puerta cuenta Arturo Rojas, el portero.

Los muchachos del club le hicieron un timbre automático que ni siquiera se daña cuando se va la luz, porque tiene su propia batería para esos casos. También crearon la emisora del colegio, que por ahora no está al aire, y lo han representado durante varios años en Expociencia juvenil. En el 95, en este evento, ganaron el derecho para representar al país en la X Feria Internacional de Ciencia y Tecnología de Chile.

Mientras cierra la puerta del club, el profesor recuerda que los pueden visitar en Internet: (www.pagina.de/clubdefisica) y agrega: No se le olvide que la escuela tiene que asomarse a la vida."

Publicación el tiempo.com  Sección Bogotá Fecha de publicación 2 de diciembre de 1998 
Autor: ADRIANA DIAZ Redactora de EL TIEMPO

Transcribo a continuación del sitio Web  de la empresa  Kanance  Ingeniería , de la sección Quienes somas,

" NUESTRA HISTORIA.
.
Kanance Ingeniería S.A.S, es fundada el 24 de Agosto de 2011 por José Miguel Ceballos, quien durante más de 20 años se prepara para afrontar el reto de ser empresario y brindar a sus clientes y a la sociedad en general todo su potencial y el de un selecto grupo de profesionales que decidan caminar a su lado en un proyecto de vida que nace en el Colegio INEM Santiago Pérez y de la mano del Ing. Jesús Carvajal, docente que actuando proactivamente dedica su vida a un grupo de investigación llamado “club de física del INEM Tunal”.

Como homenaje al trabajo incansable del Profe Carvajal quiero publicar un documento escrito por él, que resume su obra con jóvenes que como yo recibieron la semilla del gusto por la investigación. Dicho documento ilustra parte del camino recorrido que llevó a la fundación de KANANCE INGENIERÍA.

EL CLUB DE FISICA DEL INEM SANTIAGO PEREZ TUNAL: SEMILLERO DE TALENTOS EN CIENCIA Y TECNOLOGIA:

FUNDADOR Y DIRECTOR: Jesús Alfonso Carvajal Valderrama

El CLUB DE FÍSICA del INEM Santiago Pérez del TUNAL fue un grupo de estudio extra clase, conformado por estudiantes y egresados del Instituto, que por cerca de 30 años estuvo dedicado a la investigación en torno a la física, informática y electrónica.

Estuvo presente desde 1978 en EXPOCIENCIA-EXPOTECNOLOGÍA JUVENIL, evento bianual convocado por la Asociación Colombiana para el Avance de la Ciencia ACAC, que tuvo lugar inicialmente en el Planetario Distrital y luego en Corferias, dando a conocer sus logros como una experiencia exitosa, que influyó positivamente en la exploración vocacional de niños y jóvenes talentos que hoy en día se desempeñan como profesionales brillantes en el país y en el exterior.


En el Club se hizo énfasis en la fundamentación epistemológica y científica de cada proyecto, luego se utilizaban elementos técnicos y se enseñaba a los estudiantes a seguir un proceso en el trabajo, tendiente a concretar en un artefacto el fruto de su investigación.


El Club se presentó como una alternativa interesante para abordar la ciencia como una aventura del pensamiento con visión filosófica, a la tecnología como un reto para dominar la naturaleza al comprender el comportamiento de los diferentes fenómenos, y a la técnica como el cúmulo de habilidades y destrezas necesarias para que el hombre haga realidad sus sueños tecnológicos.

El Club de física ha sido objeto de reconocimientos de los diferentes medios de comunicación (Prensa, radio y televisión), y así mismo de diferentes entidades educativas a nivel nacional e internacional. En 1995 representó a nuestro país en la X Feria Internacional de la Ciencia y la Tecnología en Santiago de Chile.

La física como aventura del pensamiento debe propiciar investigación que requiere de un tiempo ilimitado, de disfrute por lo que se hace, de un espíritu aventurero en el docente y en el alumno para atreverse a pensar en sueños y proyectos tecnológicos, en profundizar en la conceptualización para lograr clarificar situaciones que permitan diseñar, proponer, solucionar, etc, para brindarle a los escasos estudiantes talentosos, que el maestro encuentra por el camino, un espacio para que en jornada contraria a su actividad académica normal se pudiesen reunir e investigar en proyectos de su interés.

Uno de esos estudiantes talentosos que siempre se ha destacado por su espíritu de investigación y capacidad de liderazgo asociados a unas cualidades humanas de excelencia es JOSÉ MIGUEL CEBALLOS FORERO, gerente y fundador de KANANCE INGENIERIA.

El Club de Física logró el aprecio y reconocimiento de científicos como el Doctor Cesar Humberto Arias Pabón, exviceministro de agricultura, exdirector del Himat y del  Instituto de Asuntos Nucleares; José Manuel Flores, Ph-D en Física;  José Paternina Anaya, Ex decano de la facultad de ingeniería Electrónica de la Universidad Santo Tomás, y de la Sociedad Colombiana de Inventores Colombianos SINCO.


Proyectos como la Vela Electrónica Mágica fueron presentados en Encuentros Nacionales de profesores innovadores e investigadores en el Marco de Expociencia-Expotecnología en Corferias.

Así mismo se logró el reconocimiento y aprecio de Julian Betancourt, director del Museo del Juego y de la Ciencia de la Universidad Nacional de Colombia, y de Eduardo Posada, presidente de la Asociación Colombiana para el Avance de la Ciencia.

........................................................................................................................................................
Para el lector interesado le dejo el link de esta empresa  que fue un sueño de José Miguel hecho realidad:
http://kananceingenieria.com/ , y donde el autor de este blog va a trabajar en este año 2015 como ingeniero de soporte.
.

viernes, 30 de enero de 2015

ESTUDIO DEL HARDWARE DEL ARDUINO UNO Y SU MICROCONTROLADOR ATMEGA328

ESTUDIO DETALLADO  DEL HARWARE DE LA PLACA DEL ARDUINO UNO

Visión general de la placa Arduino UNO:
El Arduino Uno es una placa electronica basada en el microcontrolador de la empresa ATMEL  Atmega328.   Cuenta con 14 pines digitales de entrada / salida (de los cuales 6 pueden ser utilizados como salidas PWM), 6 entradas analógicas, un resonador cerámico de 16 MHz, una conexión USB, un conector de alimentación, un header ICSP, y un botón de reinicio. Contiene todo lo necesario para apoyar el microcontrolador, simplemente conectarlo a un computador  con un cable USB, o alimentarla con un adaptador de corriente AC a DC para comenzar su programación.

Descripción de  sus  componentes:

1. Es un microcontrolador de la compañia Atmel de arquitectura Harvard modificada de 8 bits con tecnología RISC (Reduced Instruction Set Computing),es decir, con memorias separadas para programa y datos y un conjunto de instrucciones simples para realizar la programación.

 Dispone de 32 KB de memoria flash interna para almacenar el programa, 2 KB de memoria RAM  para datos volátiles  y 1 KB de memoria EEPROM para datos no volátiles.

De los 32 KB de memoria flash, 512 bytes son utilizados por el bootloader  o sea el software de arranque del microprocesador, similar a la BIOS en un computador.

El encapsulado del microcontrolador ATmega328 es tipo DIP (Dual in-line package), que a diferencia del encapsulado SOIC de montaje superficial, los pines del circuito integrado atraviesan la placa a través de agujeros.

El microcontrolador tiene  28 pines  tal como se muestra en la figura:
Los pines del microcontrolador difieren de la numeración en la placa.

2.Boton Reset
Suministrar un valor LOW (0V) para reiniciar el microcontrolador. Típicamente usado para añadir un botón de reset a los shields que no dejan acceso a este botón en la placa.
3.- ICSP
Conector para la programación ICSP (In Circuit Serial Programming, o Programación Serial en circuito). El ICSP es el sistema utilizado en los dispositivos PIC  para programarlos sin necesidad de tener que retirar el chip del circuito del que forma parte. 
4.~PWM
Mediante los pines 3, 5, 6, 9, 10 y 11 la placa de Arduino Uno  provee de 8 bits de salida PWM con la funcion analogWrite (). La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica, ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga.
5.- Serie: 0 (RX) y 1 (TX)
Se utiliza para recibir (RX) y transmisión (TX) datos serie TTL. Estos pines están conectados a los pines correspondientes de la ATmega8U2 USB-to-TTL de chips de serie.  
6.- Interrupciones externas
Pines 2 y 3 Estos pines pueden ser configurados para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor.
7.- SPI
10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK); Estos pines sirven de apoyo a la comunicación SPI con la biblioteca de SPI. El Bus SPI (del inglés Serial Peripheral Interface) es un estándar de comunicaciones, usado principalmente para la transferencia de información entre circuitos integrados en equipos electrónicos. El bus de interfaz de periféricos serie o bus SPI es un estándar para controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits serie regulado por un reloj.
8.GND
Pines de tierra. Abreviación de Ground que traducido al español es Tierra y en el contexto de la electrónica significa el común del circuito adonde se supone que existe 0 voltios.
9.AREF
Tensión de referencia para las entradas analógicas. Se utiliza con analogReference ().
10.USB
El Arduino Uno tiene una serie de facilidades para comunicarse con un computador, Usa los canales de comunicación serie a través de USB y aparece como un puerto COM virtual en el ordenador. Utiliza el estándar de los controladores USB COM, y no necesita ningún controlador externo. Sin embargo, en Windows es necesario un archivo .inf. El RX y TX LED de la placa parpadean cuando se transmiten datos a través del USB al chip serie y viceversa.
11.- Conector de alimentación
Plug hembra de 2.1mm para la conexion de alimentación en la placa.Al conector se aplica una tensión DC de 7 a 12 voltios. Un regulador en la placa se encarga de mantener una tensión estable de 5 voltios a su salida y puede suministrar hasta 1 Amperio de corriente. 
12.- Reset
Entrada dispuesta en la placa que permite suministrar un valor LOW (0V) para reiniciar el microcontrolador. Típicamente usado para añadir un botón de reset a los shields que no dejan acceso a este botón en la placa.
13.- 3.3 V
Una fuente de voltaje a 3.3 voltios generada en el chip FTDI integrado en la placa. La corriente máxima soportada 50 mA.  Esta tensión es utilizada actualmente por muchos chips en lugar de los 5 voltios, como por ejemplo la FPGA de la tarjeta Basys 2  de la empresa Digilent.
14.- 5V
La fuente de voltaje estabilizado usado para alimentar el microcontrolador y otros componentes de la placa. Esta puede provenir de VIN a través de un regulador integrado en la placa, o proporcionada directamente por el USB o otra fuente estabilizada de 5V (Fuente conmutada o de swicheo)
15.- GND
Pines de tierra.
16.- VIN
La entrada de voltaje a la placa Arduino cuando se esta usando una fuente externa de alimentación (en opuesto a los 5 voltios de la conexión USB). Se puede proporcionar voltaje a través de este pin, o, si se esta alimentando a través de la conexión de 2.1mm , acceder a ella a través de este pin.
17.- Analog In
El Uno tiene 6 entradas analógicas, y cada una de ellas proporciona una resolución de 10bits (1024 valores). Por defecto se mide de tierra a 5 voltios, aunque es posible cambiar la cota superior de este rango usando el pin AREF y la función analogReference().
18.- Cristal
Un cristal oscilador a 16Mhz, El oscilador de cristal se caracteriza por su estabilidad de frecuencia y pureza de fase, dada por el resonador. La frecuencia es estable frente a variaciones de la tensión de alimentación. La dependencia con la temperatura depende del resonador, pero un valor típico para cristales de cuarzo es de 005% del valor a 25 °C, en el margen de 0 a 70 °C.

ESTUDIO DETALLADO DEL MICROCONTROLADOR ATMEGA328
Diagrama en bloques de la arquitectura del microcontrolador ATMega328

El microprocesador corresponde a un AVR CPU.Los AVR son una familia de microcontroladores RISC del fabricante estadounidense Atmel. La arquitectura de los AVR fue concebida por dos estudiantes en el Norwegian Institute of Technology, y posteriormente refinada y desarrollada en Atmel Norway, la empresa subsidiaria de Atmel, fundada por los dos arquitectos del chip. Cuenta con bastantes aficionados debido a su diseño simple y la facilidad de programación.

El diagrama en bloques de un AVR CPU es el siguiente:


Puede ampliar  sobre AVR CPU  en:  http://es.wikipedia.org/wiki/AVR


PERIFÉRICOS INTERNOS

Dentro del microcontrolador hay varios subsistemas, a los que se denominará Periféricos Internos.

1. SISTEMA DE  RELOJ

Determina la velocidad de trabajo del microcontrolador.Con 16 MHZ se ejecuta una instrucción en 62,5 nanosegundos (  1 / 16 Mhz ), correspondiente a 1 ciclo de máquina.

El microntrolador tiene diferentes opciones de circuito de reloj tal como lo muestra la siguiente gráfica:


En un registro interno del micro se encuentran 5 opciones diferentes de reloj que son seleccionadas alizadpor medio de un Multiplexor. De este multiplexor sale la señal de reloj, la cual pasa a través de un Preescalizador, Este prescaler se puede utilizar para r educir la frecuencia, reducir el consumo de energía y mejorar la estabilidad de la señal de reloj.El factor del prescaler va de 1 a 256, en potencias de 2.En Arduino, por defecto está desactivado, por consiguiente trabaja a la frecuencia del resonador externo.
El reloj es distribuida por la unidad de control a los diferentes bloques existentes:l a CPU, las memorias, los módulos de entrada/salida, loos contadores/timers, el SPI y la USART, al igual que el conversor Análogo Digital ADC. 

2. TEMPORIZADORES
El microcontrolador ATmega328  tienes tres timers ( timer 0, timer 1, timer 2) que también se pueden usar como contadores. Los timers 0 y 2 son de 8 bits y el timer 1 de 16. Estos timers tiienen un módulo de preescalado para su propia señal de reloj que puede provenir de su sistema de reloj interno o por pines externos (modo contador)

Son módulos que funcionan en paralelo a la CPU y de forma independiente a ella. El funcionamiento básico consiste en aumentar el valor del registro del contador al ritmo que marca su señal de reloj.

Usando el reloj interno o un cristal externo puede ser utilizado para medir tiempos puesto que utiliza una señal periódica, precisa y de frecuencia conocida; mientras que si la señal viene de un pin externo puede contar eventos que se produzcan en el exterior y que se reflejen en cambios de nivel de tensión de los pines.

Estos contadores tambien forman parte del generador de señales PWM y permiten configurar tanto la frecuencia como el ciclo de trabajo.


3. PWM
La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga.

Para nuestro caso se  varía la anchura de la señal digital con base a una señal analógica dada.Cuando la señal analógica varíai su amplitud, la anchura del pulso de la señal digital cambia.


En el arduino se trabaja en su programación  con la función analogWrite ( )

Habitualmente se utliza para el control de la velocidad de motores o intensidad de luz, regulación de potencia, rectificación y como una forma sencilla de conversión digital-analógica.

Como la placa Arduino no dispone de un DAC ésta es la forma de generar señales análogas. Para ello utiliza los timers configurándose varias formas de trabajo. La forma de onda PWM, en el modo de trabajo más sencillo (Fast PWM), se genera de la  forma mostrada en la siguiente gráfica:


1) El registro del contador se pone en marcha desde cero y cuenta de modo ascendente. En el momento de empezar la cuenta se activa el pin de salida del PWM.
2) Cuando el valor de este registro se iguala al de otro registro de comparación se conmuta el pin de salida. 
 El registro del contador sigue contando en forma normal.
3) Cuando el valor del registro del contador llega al final (TOP) vuelve a comenzar (BOTTOM). El pin de salida vuelve a cambiar.

El tiempo que tarda el contador en llegar al final fija el periodo de la señal.

4. I²C
I²C es un bus de comunicaciones en serie. Su nombre viene de Inter-Integrated Circuit (Inter-Circuitos Integrados). La versión 1.0 data del año 1992 y la versión 2.1 del año 2000, su diseñador es Philips. La velocidad es de 100 kbit/s en el modo estándar, aunque también permite velocidades de 3.4 Mbit/s. Es un bus muy usado en la industria, principalmente para comunicar microcontroladores y sus periféricos en sistemas integrados (Embedded Systems) y generalizando más para comunicar circuitos integrados entre si que normalmente residen en un mismo circuito impreso.

La principal característica de I²C es que utiliza dos líneas para transmitir la información: una para los datos y otra para la señal de reloj. También es necesaria una tercera línea, pero esta sólo es la referencia (masa). Como suelen comunicarse circuitos en una misma placa que comparten una misma masa esta tercera línea no suele ser necesaria.

Las líneas se llaman:

SDA: datos
SCL: reloj
GND: tierra
Las dos primeras líneas son drenador abierto, por lo que necesitan resistencias de pull-up.



Los dispositivos conectados al bus I²C tienen una dirección única para cada uno. También pueden ser maestros o esclavos. El dispositivo maestro inicia la transferencia de datos y además genera la señal de reloj, pero no es necesario que el maestro sea siempre el mismo dispositivo, esta característica se la pueden ir pasando los dispositivos que tengan esa capacidad. Esta característica hace que al bus I²C se le denomine bus multimaestro.

Por ejemplo el maestro puede ser el ATmega328 del arduino y tener como esclavos un ADC, un DAC y otro microcontrolador.

En la placa del Arduino UNO los pines son AD5 para el SCK y el AD4 para el SDA. 
Para que este bus trabaje hay que obedecer su  respectivo protocolo de comunicaciones.

5 . SPI

El Bus SPI (del inglés Serial Peripheral Interface) es un estándar de comunicaciones, usado principalmente para la transferencia de información entre circuitos integrados en equipos electrónicos. El bus de interfaz de periféricos serie o bus SPI es un estándar para controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits serie regulado por un reloj (comunicación sincrónica).

Incluye una línea de reloj, dato entrante, dato saliente y un pin de chip select, que conecta o desconecta la operación del dispositivo con el que uno desea comunicarse. De esta forma, este estándar permite multiplexar las líneas de reloj.

Muchos sistemas digitales tienen periféricos que necesitan existir pero no ser rápidos. La ventajas de un bus serie es que minimiza el número de conductores, pines y el tamaño del circuito integrado. Esto reduce el coste de fabricar montar y probar la electrónica. Un bus de periféricos serie es la opción más flexible cuando se tiene tipos diferentes de periféricos serie. El hardware consiste en señales de reloj, data in, data out y chip select para cada circuito integrado que tiene que ser controlado. Casi cualquier dispositivo digital puede ser controlado con esta combinación de señales. Los dispositivos se diferencian en un número predecible de formas. Unos leen el dato cuando el reloj sube otros cuando el reloj baja. Algunos lo leen en el flanco de subida del reloj y otros en el flanco de bajada. Escribir es casi siempre en la dirección opuesta de la dirección de movimiento del reloj. Algunos dispositivos tienen dos relojes. Uno para capturar o mostrar los datos y el otro para el dispositivo interno.


El SPI es un protocolo síncrono. La sincronización y la transmisión de datos se realiza por medio de 4 señales:

SCLK (Clock): Es el pulso que marca la sincronización. Con cada pulso de este reloj, se lee o se envía un bit. (pin 13 arduino uno)

MOSI (Master Output Slave Input): Salida de datos del Master y entrada de datos al Slave. (pin 11 arduino uno)

MISO (Master Input Slave Output): Salida de datos del Slave y entrada al Master. (pin 12 arduino uno)

SS/Select: Para seleccionar un Slave, o para que el Master le diga al Slave que se active. (pin 10 arduino uno)

La Cadena de bits es enviada de manera síncrona con los pulsos del reloj, es decir con cada pulso, el Master envía un bit.

 Para que empiece la transmisión el Master baja la señal  SS/Select a cero, con esto el Slave se activa y empieza la transmisión, con un pulso de reloj al mismo tiempo que el primer bit es leído. Nótese que los pulsos de reloj pueden estar programados de manera que la transmisión del bit se realice en 4 modos diferentes, a esto se llama polaridad y fase de la transmisión:

1. Con el flanco de subida sin retraso.
2. Con el flanco de subida con retraso.
3. Con el flanco de bajada sin retraso.
4. Con el flanco de bajada con retraso.

6 . USART
Se trata de un puerto de comunicaciones muy versátil (UNIVERSAL SYNCHRONUS and ASYNCHRONUS serial RECEIVER and TRANSMITTER). Se puede configurar como síncrono o como asíncrono. Los pines de conexión de la placa UNO que se utilizan con este periférico interno son los siguientes:

  • PIN 0 (RXD)   - Puerto D del microcontrolador  PD0
  • PIN 1 (TXD)   - Puerto D del microcontrolador  PD1 
  • PIN 13 (SCK) - Puerto B del microcontrolador  PB15 (Sólo para el modo síncrono)
Para poder realizar la comunicación, los dispositivos que se vayan a comunicar deben conocer varios aspectos de ésta. El primero es la velocidad a la que se va a realizar, es decir a qué baudios se va a realizar la transmisión. 

La comunicación comienza con una señal de Start, seguida de los bits a enviar, y se pueden seleccionar entre 5 y 9 bits a mandar, después tenemos que seleccionar si va a haber un bit de paridad para comprobar errores y por último si tenemos uno o dos bits de Stop. Estos parámetros han de estar configurados de igual manera en los dos dispositivos que se van a comunicar.

En la placa UNO se utiliza la USART para que el Atmega328  se comunique con el otro microcontrolador ATmega8U2-MU  que hace la interface al puerto USB. Los leds (TXLED y RXLED) parpadean para indicar actividad en el puerto serie a traves de la USART.

.................................................................................................................................................................

ICSP 
En resumidas cuentas, el núcleo de cualquier placa Arduino se compone simplemente de un microcontrolador AVR. En el caso de la placa Arduino UNO, su respectivo microcontrolador es el ATMega328.

Conforme uno se va adentrando en el mundo de Arduino y los proyectos se vayan haciendo cada vez más grandes y complicados, puede presentarse la necesidad de recurrir al uso de un segundo microcontrolador, para lo cual, es completamente notable que conseguir un AVR por separado es mucho más barato y/o rentable que volver a comprar una nueva placa Arduino.

Un inconveniente de comprar un nuevo microcontrolador AVR es que éste vendrá de fábrica completamente “limpio” (sin ningún programa cargado), como consecuencia, habrá que grabar por primera vez el Bootloader (Gestor de arranque) para que éste pueda cargar y hacer funcionar los sketches programados con el software de Arduino.

La placa Arduino posee una entrada ICSP (In Chip Serial Programmer) que tiene acceso a la memoria de programa del AVR, ésto es, que puede grabar directamente desde la PC al microcontrolador cualquier programa. Uno de ellos, el mismo Bootloader de Arduino.



Para grabar el Bootloader es necesario el uso de un programador AVR, como por ejemplo  el “Pocket AVR Programmer” de SparkFun Electronics.

EL  ICSP  es un conector de 6 pines tal como se muestra en la siguiente figura:

................................................................................................................................................................

USB
El “Bus Universal en Serie”, en inglés: Universal Serial Bus más conocido por la sigla USB, es un bus estándar industrial que define los cables, conectores y protocolos usados en un bus para conectar, comunicar y proveer de alimentación eléctrica entre computadores, periféricos y dispositivos electrónicos.

Su desarrollo partió de un grupo de empresas del sector que buscaban unificar la forma de conectar periféricos a sus equipos, por aquella época poco compatibles entre si, entre las que estaban Intel, Microsoft, IBM, Compaq, DEC, NEC y Nortel. La primera especificación completa 1.0 se publicó en 1996, pero en 1998 con la especificación 1.1 comenzó a usarse de forma masiva.


El USB es utilizado como estándar de conexión de periféricos como: teclados, mouses, memorias USB, joysticks, escáneres, cámaras digitales, teléfonos móviles, reproductores multimedia, impresoras, dispositivos multifuncionales, sistemas de adquisición de datos, módems, tarjetas de red, tarjetas de sonido, tarjetas sintonizadoras de televisión y grabadoras de DVD externa, discos duros externos y disqueteras externas. Su éxito ha sido total, habiendo desplazado a conectores como el puerto serie, puerto paralelo, puerto de juegos, Apple Desktop Bus o PS/2 a mercados-nicho o a la consideración de dispositivos obsoletos a eliminar de las modernas computadoras, pues muchos de ellos pueden sustituirse por dispositivos USB que implementen esos conectores.

La placa de arduino UNO integra un segundo  microcontrolador Atmega8U2 programado como un convertidor o puente del conector USB con el microATmega328 a través de la USART.

O sea el micro ATmega8U2  sirve de puente entre el USB del PC y la USART que trae internamente el micro Atmega328 del Arduino.

Como se trata de otro microcontrolador tiene su propio conector de preogramación ICSP que permitirá su programación y actualización de firmware ,como un sistema embebido, indispensable para poder programar el Arduino.