Un microprocesador:
suele encontrarse en un PC de sobremesa o en un portátil y contiene una CPU y una interfaz de memoria externa, además de varios buses de E/S para conectarse al mundo exterior, como SPI, I2C, UART, USB, LCD y otros. Un microprocesador también tendrá un cristal externo para proporcionar un reloj.
La mayoría de los microprocesadores no tienen memoria de sólo lectura en el chip; en su lugar hay un chip externo en la placa base donde se encuentra el código de arranque inicial. En los PC's basados en Intel, esto se llama el Sistema básico de entrada/salida (BIOS) y también contiene rutinas de E/S además del código de arranque inicial. El código de arranque comienza haciendo un Autocomprobación de encendido (POST) y luego busca dónde cargar la siguiente etapa del código de arranque -- desde un disco duro, CD (o en los viejos tiempos) un disquete. Este segundo nivel de arranque carga el sistema operativo. (En algunos sistemas puede haber incluso tres niveles de código de arranque).
Algunos microprocesadores (normalmente los destinados a teléfonos inteligentes y tabletas, que tienen opciones de arranque limitadas) tienen una pequeña cantidad de memoria de sólo lectura que contiene el código de arranque inicial.
Me refiero al código de arranque como de sólo lectura; en realidad, en algunos sistemas, se puede actualizar. Sin embargo esto es bastante arriesgado; si algo va mal el sistema puede dejar de arrancar.
A diferencia de los microcontroladores, que ejecutan sus programas desde la memoria de sólo lectura, tras el arranque los microprocesadores cargan sus programas en la RAM externa y los ejecutan desde allí.
Un microcontrolador:
por otro lado, es un CI independiente de un solo chip que contiene una CPU, una memoria de sólo lectura para almacenar el programa, una RAM para almacenar las variables utilizadas en la ejecución del programa, y varios buses de E/S para conectarse con el mundo exterior, como SPI, I2C, UART y otros. Por sí mismo, no puede ejecutar ningún programa sin ser programado a través de una interfaz externa a un PC. Un microcontrolador también puede necesitar un cristal externo para proporcionar un reloj, aunque algunos tienen un reloj interno.
Algunos microcontroladores (como el PIC32 de Microchip) tienen dos secciones de memoria flash; una para mantener el código de inicialización (arranque) y otra para almacenar la aplicación. Esto facilita la actualización del código de la aplicación en el lugar.
Para tu propósito, deberías usar un microcontrolador, no un microprocesador. Para usar un microcontrolador, tendrías que diseñar tu propia placa o comprar algún tipo de placa de desarrollo.
Un Arduino:
es una placa de este tipo, y contiene un microcontrolador, típicamente un AVR de 8 bits como el ATmega8, ATmega168, ATmega328, ATmega1280 y ATmega2560, además de fuentes de alimentación, cristal y cabezales hembra para interconectar con varias placas periféricas.
Estas tarjetas periféricas se denominan escudos y están diseñadas para apilarse unas sobre otras (hay pines macho en la parte inferior de las placas para conectarse al propio Arduino o a otro shield, y cabezales hembra en la parte superior para aceptar los pines macho de un shield apilado encima).
Algunos ejemplos de escudos son las placas de control de motores, las placas de E/S generales, las placas de relés, las placas Ethernet y los LCD, normalmente con pantalla táctil. Sin embargo, no conozco ninguna pantalla táctil resistiva que se utilice sólo para la detección (sin un LCD).
Además del hardware descrito anteriormente, Arduino también viene con un entorno de desarrollo integrado (IDE) multiplataforma escrito en Java. Fue diseñado para introducir la programación a los artistas y otros principiantes, de forma similar a como lo hizo el lenguaje BASIC hace 50 años. Un programa para Arduino se llama boceto .
Los programas de Arduino se escriben en C o C++, sin embargo muchos de los detalles están ocultos para el usuario: sólo hay que definir dos funciones (llamadas por el sistema) para hacer un programa que haga bucles continuamente (lo que es típico de los programas embebidos)
setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off
El IDE viene con una biblioteca de software llamada "Wiring" que puede ser utilizada para operaciones comunes de entrada/salida.