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.


miércoles, 28 de enero de 2015

¿ Qué es un Sistema Embebido ?

Es un sistema electrónico en el que confluyen hardware y software, específicamente diseñado para realizar tareas concretas. Normalmente en su hardware dispone de un microcontrolador como parte central.

 Además tiene unos periféricos para interconectarse con otros dispositivos.

 Puede ser que en el hardware en lugar de microcontrolador disponga de un DSP(Digital Signal Processor) o de FPGA (Field Programmable Gate Array).   

Los elementos del hardware ejecutan un programa llamado firmwareEl firmware es un bloque de instrucciones de máquina para propósitos específicos, grabado en una memoria, normalmente de lectura/escritura (EEPROM,Flash,etc), que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. 
En resumen, un firmware es un software que maneja físicamente al hardware.
El programa BIOS de un computador es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para cargar un sistema operativo en la memoria RAM.
El término  firmware   significa "software firma, fijo o sólido"

En el caso de una lavadora, esta se compone de un chasis, de motores eléctricos y bombas de agua, de un frontal con varias teclas para que el usuario pueda poner en marcha la lavadora, contiene temporizadores y válvulas eléctricas que controlan el flujo del agua, y más componentes. 
En este conjunto nos podemos fácilmene imaginar la necesidad un circuito electrónico que contenga los diferentes programas de lavado del que disponga el electrodoméstico. Y por razones obvias, esta electrónica no sería otra cosa que un microcomputador o microcontrolador, especialmente diseñado para dicho fin. Por lo tanto pdemos hablar de un sistema embebido o empotrado en el interior de la lavadora.

Desde 1996 la mayoría de los automóviles han empleado una computadora a bordo y varios sensores para detectar problemas mecánicos. Los vehículos modernos también emplean sistemas controlados por computador ABS y sistemas de control de transmisión operados por computadora. El conductor puede también recibir información "in-dash" mientras conduce de esta manera, como por ejemplo lecturas en tiempo real de la economía del combustible y de la presión del neumático. La mayoría del firmware del vehículo puede ser actualizado en un distribuidor local autorizado.


El sistema antibloqueo de ruedas o frenos antibloqueo,  Antiblockiersystem (ABS), es un dispositivo utilizado en vehículos  que hace variar la fuerza de frenado para evitar que los neumáticos pierdan la adherencia con el suelo.


El sistema fue desarrollado inicialmente para los aviones, los cuales acostumbran a tener que frenar fuertemente una vez han tomado tierra. En 1978 Bosch hizo historia cuando introdujo el primer sistema electrónico de frenos antibloqueo. Esta tecnología se ha convertido en la base para todos los sistemas electrónicos que utilizan de alguna forma el ABS, como por ejemplo los controles de tracción y de estabilidad.
El ABS funciona en conjunto con el sistema de frenado tradicional. 


Consiste en una bomba que se incorpora a los circuitos del líquido de freno y en unos detectores que controlan las revoluciones de las ruedas. Si en una frenada brusca una o varias ruedas reducen repentinamente sus revoluciones, el ABS lo detecta e interpreta que las ruedas están a punto de quedar bloqueadas sin que el vehículo se haya detenido. Esto quiere decir que el vehículo comenzará a deslizarse sobre el suelo sin control, sin reaccionar a los movimientos del volante. Para que esto no ocurra, los sensores envían una señal al Módulo de Control del sistema ABS, el cual reduce la presión realizada sobre los frenos, sin que intervenga en ello el conductor. Cuando la situación se ha normalizado y las ruedas giran de nuevo correctamente, el sistema permite que la presión sobre los frenos vuelva a actuar con toda la intensidad. El ABS controla nuevamente el giro de las ruedas y actúa otra vez si éstas están a punto de bloquearse por la fuerza del freno. En el caso de que este sistema intervenga, el procedimiento se repite de forma muy rápida, unas 50 a 100 veces por segundo, lo que se traduce en que el conductor percibe una vibración en el pedal del freno.
El ABS permite que el conductor siga teniendo el control sobre la trayectoria del vehículo, con la consiguiente posibilidad de poder esquivar posibles obstáculos mediante el giro del volante de dirección.

Arduino permite implementar sistemas embebidos de forma sencilla, debido al uso de las tarjetas de expansión o Shields  adicionadas a la tarjeta principal.


Así se permite que el desarrollador se concentre en la programación del firmware y en la funcionalidad del sistema sin preucuparse del hardware requerido.
El firmware es el código de los elementos programables ya sea el microcontrolador, DSP o FPGA.
Se escribe como texto en un determinado lenguaje, por ejemplo C, VHDL,etc. El código del firmware es compilado y convertido al código de máquina del elemento central del sistema embebido.


SISTEMAS INTEGRADOS CON ARDUINO -JOSE RAFAEL LAJARA VIZCAINO- LIBRO DE TEXTO

En este libro se intentan plasmar todas las facetas que integra el Arduino, desde la presentación del hardware en el que se basa la tarjeta hasta las herramientas de generación del código integradas en el entorno de desarrollo. Conjuntamente con la presentación de los contenidos de cada sección, el libro muestra multitud de ejemplos de diseño que exponen de forma clara toda la potencia y alcance de esta tecnología. Se presenta toda la información necesaria para desarrollar aplicaciones complejas a partir de los bloques de diseño básicos.


El lector puede descargar el entorno de desarrollo desde la página web del equipo Arduino (http://arduino.cc/) para compilar los ejemplos expuestos en el texto. Con todo ello el lector podrá construir sus propios sistemas basados en Arduino y convertir sus ideas en dispositivos funcionales, ya sea con un objetivo profesional, educacional o de entretenimiento.