Archivo de la etiqueta: Microcontroladores

Tema 1 – Plataforma Hardware Arduino

Qué es Arduino y el Hardware Libre

Hardware Libre: http://es.wikipedia.org/wiki/Hardware_libre

Destacable: altos costos de producción, La persona que desea utilizar el hardware que un tercero ha diseñado, primero lo tiene que fabricar, para lo cual tendrá que comprobar los componentes necesarios, construir el diseño y verificar que se ha hecho correctamente. Todo esto tiene un costo.

Arduino es una plataforma de hardware abierto que facilita la programación de un microcontrolador. Los microcontroladores nos rodean en nuestra vida diaria, usan los sensores para escuchar el mundo físico y los actuadores para interactuar con el mundo físico. Los microcontroladores leen sobre los sensores y escriben sobre los actuadores.

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños.

Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación de arduino y el bootloader ejecutado en la placa

Que es Arduino:

Primer Arduino:

Arduino simplifica el trabajo con microcontroladores y ofrece las siguientes ventajas: barato, multiplataforma, entorno de programación sencillo, software libre y extensible mediante librerías en C++ y dar el salto a AVR-C, hardware libre y extensible

Antes de Arduino: Necesarios los programadores de cada MCU, lenguaje de programación ensamblador usando las instrucciones propias de la MCU, caro.

Ejemplos:

Problema del hardware libre, Ejemplo de David Cuartielles: http://david.cuartielles.com/b/2013/08/open-hasta-que-te-comen-la-merienda/

Arduino the Documentary: http://blog.arduino.cc/2011/01/07/arduino-the-documentary-now-online/

Microcontroladores

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 principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

Características de un Microcontrolador:

  • Velocidad del reloj u oscilador
  • Tamaño de palabra
  • Memoria: SRAM, Flash, EEPROM, ROM, etc..
  • I/O Digitales
  • DAC
  • Buses
  • UART

microcontrolador

Microcontrolador: http://es.wikipedia.org/wiki/Microcontrolador

Estructura genérica de un microcontrolador:

microcontrolador2

Existen MCUs genéricas y otros de propósito especial como los DSP, para aplicaciones de voz y video por ejemplo.

Microntroladores AVR: 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 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.

http://es.wikipedia.org/wiki/AVR

RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse.

El tipo de procesador más comúnmente utilizado en equipos de escritorio, el x86, está basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones basadas en CISC x86 a instrucciones más simples basadas en RISC para uso interno antes de su ejecución.

Existen muchos fabricantes de microcontroladores pero los principales son:

http://es.wikipedia.org/wiki/Microcontrolador#Familias_de_microcontroladores

http://es.wikipedia.org/wiki/Anexo:Microcontroladores_comunes

Ejemplo de otro microcontrolador:

http://es.wikipedia.org/wiki/MSP430

Y su software: http://www.ti.com/tool/msp430ware?DCMP=msp430ware&HQS=msp430ware

Lo importante es saber que arduino no es el único microcontrolador ni la única plataforma. Lo mismo que hacemos con arduino se puede hacer con otros microcontroladores.

Un sistema embebido sistema diseñado para realizar una o algunas pocas funciones dedicadas, frecuentemente en un sistema de computación en tiempo real. Al contrario de lo que ocurre con los ordenadores de propósito general que están diseñados para cubrir un amplio rango de necesidades, los sistemas embebidos se diseñan para cubrir necesidades específicas. En un sistema embebido la mayoría de los componentes se encuentran incluidos en la placa base (la tarjeta de vídeo, audio, módem, etc.) Algunos ejemplos de sistemas embebidos podrían ser dispositivos como un termostato, un sistema de control de acceso, la electrónica que controla una máquina expendedora o el sistema de control de una fotocopiadora entre otras múltiples aplicaciones.

El firmware es la programación que lleva dentro y es lo que vamos a aprender a programar.