Arduino vs Microprocesador vs Microcontrolador

9

¿Cuál es la diferencia entre un Arduino, un microprocesador y un microcontrolador? Estoy tratando de determinar qué es lo mejor para operar una pantalla táctil resistiva barata.

    
pregunta Martin Marino

5 respuestas

19

Un microprocesador:

Por lo general,

se encuentra en una PC de escritorio o portátil y contiene una CPU y una interfaz de memoria externa más 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 solo lectura en el chip; en su lugar, hay un chip externo en la placa base donde se encuentra el código de inicio inicial. En las PC basadas en Intel, esto se denomina Sistema básico de entrada / salida (BIOS) y también contiene rutinas de E / S en Además del código de arranque inicial. El código de inicio comienza haciendo una Autoprueba de encendido (POST) y luego busca dónde cargue la siguiente etapa del código de arranque: desde un disco duro, un CD (o en días pasados) un disquete. Este arranque de segundo nivel luego carga el sistema operativo. (Incluso puede haber tres niveles de código de inicio en algunos sistemas).

Algunos microprocesadores (generalmente los destinados a teléfonos inteligentes y tabletas, que tienen opciones de inicio limitadas) tienen una pequeña cantidad de memoria de solo lectura que contiene el código de inicio inicial.

Me refiero al código de inicio como de solo lectura; En realidad, en algunos sistemas, se puede actualizar. Sin embargo, esto es bastante arriesgado; si algo sale mal, es posible que el sistema ya no arranque.

A diferencia de los microcontroladores, que ejecutan sus programas fuera de la memoria de solo lectura, después de iniciar los microprocesadores, cargan sus programas en la RAM externa y los ejecutan desde allí.

Un microcontrolador:

Por otra parte,

es un IC de un solo chip independiente que contiene una CPU, memoria de solo lectura para almacenar el programa, RAM para almacenar las variables utilizadas en la ejecución del programa y varios buses de E / S para conectarse al Mundo exterior como SPI, I2C, UART y otros. Por sí solo, no puede ejecutar ningún programa sin haber sido programado a través de una interfaz externa a una PC. Un microcontrolador también puede necesitar un cristal externo para proporcionar un reloj, sin embargo, algunos tienen un reloj interno.

Algunos microcontroladores (como el PIC32 de Microchip) tienen dos secciones de memoria flash; uno para contener el código de inicialización (inicio) y otro para almacenar la aplicación. Esto facilita la actualización del código de la aplicación en el lugar.

Para su propósito, desearía utilizar un microcontrolador, no un microprocesador. Para usar un microcontrolador, deberías 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, un AVR típico de 8 bits como el ATmega8, ATmega168, ATmega328, ATmega1280 y ATmega2560, además de fuentes de alimentación, cristal y cabezales hembra para interactuar con varias placas periféricas.

Estas placas periféricas se denominan escudos y están diseñadas para apilarse una encima de la otra (hay clavijas macho en la parte inferior de las placas para conectarse al Arduino u otro escudo, y una hembra encabezados en la parte superior para aceptar los pasadores masculinos de un escudo apilados encima de él).

Las pantallas de ejemplo son las placas de control del motor, las placas de E / S generales, las tarjetas de relés, las tarjetas Ethernet y las pantallas LCD, generalmente con una pantalla táctil. Sin embargo, no conozco ninguna pantalla táctil resistiva que se use solo para la detección (sin una pantalla 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 presentar la programación a artistas y otros principiantes, como lo hizo el lenguaje BÁSICO hace 50 años. Un programa para Arduino se llama sketch .

Los programas Arduino están escritos en C o C ++, sin embargo, muchos de los detalles están ocultos para el usuario: solo se deben definir dos funciones (llamadas por el sistema) para hacer un programa que se repite continuamente (lo cual es típicamente para programas integrados) )

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 "Cableado" que se puede usar para operaciones comunes de entrada / salida.

    
respondido por el tcrosley
10

Arduino

Un Arduino es un PCB que contiene un microcontrolador AVR de Atmel y generalmente proporciona un conjunto de conectores en un patrón estándar. Normalmente, el microcontrolador está preprogramado con un programa de "cargador de arranque" que permite cargar un programa (llamado "boceto") en el microcontrolador a través de una conexión serie TTY (o una conexión serie a través de USB) desde una PC.

Microprocesador

Un microprocesador es un IC que contiene solo una unidad central de procesamiento (CPU). El IC no contiene RAM, ROM u otros periféricos. El IC puede contener memoria caché, pero no está diseñado para ser utilizado sin memoria externa.

Los microprocesadores no pueden almacenar programas internamente y, por lo tanto, generalmente cargan software cuando están encendidos, esto generalmente implica un proceso complejo de "arranque" de múltiples etapas donde el "firmware" se carga desde una ROM externa y eventualmente se carga un sistema operativo desde otros medios de almacenamiento ( por ejemplo, disco duro).

Normalmente se encuentra en una computadora personal.

Microcontrolador

Un microcontrolador es un IC que contiene una CPU, así como cierta cantidad de RAM, ROM y otros periféricos. Los microcontroladores pueden funcionar sin memoria externa o almacenamiento.

Normalmente, los microcontroladores se programan antes de soldarlos a una PCB o se programan mediante el uso de conectores de Programación In-System (ISP o ICSP) a través de un dispositivo especial "programador" conectado a una computadora personal.

Los microcontroladores típicos son mucho más simples y lentos que los microprocesadores típicos, pero creo que la distinción es principalmente de escala y aplicación.

Se encuentra, por ejemplo, en aparatos simples como lavadoras básicas.

    
respondido por el RedGrittyBrick
2

"Arduino" es un entorno de desarrollo de software y cualquiera de las varias placas de microcontroladores para las que el entorno de software puede desarrollar programas. La mayoría de las tarjetas utilizan microcontroladores AVR de Atmel.

    
respondido por el Peter Bennett
2

Arduino es una plataforma basada en microcontroladores (ATMEGA 328 para la UNO). En general, un microcontrolador es más adecuado que un microprocesador para cualquier cosa que requiera la detección de entradas. Esto se debe a que los microcontroladores como el ATMEGA 328 tienen conversores analógicos a digitales (ADC) para detectar voltajes y también tienen salidas PWM, así como entradas / salidas digitales.

Con Arduino también tiene el sistema Arduino Dev, que es más fácil de programar para principiantes y tiene una buena comunidad para soporte y bibliotecas.

Una pantalla táctil resistiva se comporta como potenciómetros; uno para xy otro para y. Así que puedes ponerlos en entradas analógicas de Arduino. Consulte aquí para obtener detalles .

Otra opción es convertir a SPI o I2C con algo como this , y lea con Arduino.

De cualquier manera, creo que Arduino es una buena opción.

    
respondido por el akellyirl
1

El Arduino consiste en un microcontrolador (el ATmega328 en la versión UNO). Por lo tanto, el Arduino es un PCB con los pines del microcontrolador bien separados, una fuente de alimentación, un cristal y el FTDI para la conexión USB con un firmware integrado para que pueda programarlo fácilmente con su propio IDE. Aquí hay una lista de los componentes de arduino: enlace

    
respondido por el kimliv

Lea otras preguntas en las etiquetas