¿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.
¿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.
Respuestas:
Por lo general, se encuentra en una PC de escritorio o 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 solo lectura en el chip; en cambio, hay un chip externo en la placa base donde se encuentra el código de arranque 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 además del código de arranque inicial. El código de arranque comienza haciendo una Autocomprobación de encendido (POST) y luego mira para ver dónde cargar la siguiente etapa del código de arranque: desde un disco duro, CD (o en días antiguos) un disquete. Este arranque de segundo nivel carga el sistema operativo. (Incluso puede haber tres niveles de código de arranque en algunos sistemas).
Algunos microprocesadores (generalmente aquellos destinados a teléfonos inteligentes y tabletas, que tienen opciones de arranque limitadas) tienen una pequeña cantidad de memoria de solo lectura que contiene el código de arranque inicial.
Me refiero al código de arranque como de solo lectura; En realidad, en algunos sistemas, se puede actualizar. Sin embargo, esto es bastante arriesgado; Si algo sale mal, el sistema ya no puede arrancar.
A diferencia de los microcontroladores, que ejecutan sus programas desde la memoria de solo lectura, después de arrancar, los microprocesadores cargan sus programas en la RAM externa y la ejecutan desde allí.
Por otro lado, hay un IC de chip único independiente que contiene una CPU, memoria de solo lectura para almacenar el programa, RAM para almacenar 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 ser 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 (arranque) 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, querrá usar un microcontrolador, no un microprocesador. Para usar un microcontrolador, deberá diseñar su propia placa o comprar algún tipo de placa de desarrollo.
es una placa de este tipo y contiene un microcontrolador, típico de un AVR de 8 bits, como ATmega8, ATmega168, ATmega328, ATmega1280 y ATmega2560, además de fuentes de alimentación, cristal y encabezados hembra para interactuar con varias placas periféricas.
Estas placas periféricas se llaman escudos , y están diseñadas para apilarse una encima de la otra (hay pines macho en la parte inferior de los tableros para conectarse al Arduino u otro escudo, y encabezados hembra en la parte superior para aceptar los pines macho de un escudo apilado encima).
Los blindajes de ejemplo son tableros de control de motores, tableros generales de E / S, tableros de relés, tableros Ethernet y LCD, generalmente con una pantalla táctil. Sin embargo, no conozco ninguna pantalla táctil resistiva que se use solo para 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, tal 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: solo se necesitan definir dos funciones (llamadas por el sistema) para hacer un programa que repita continuamente (que generalmente es 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 puede usarse para operaciones comunes de entrada / salida.
Un Arduino es un PCB que contiene un microcontrolador Atmel AVR y generalmente proporciona un conjunto de conectores en un patrón estándar. El microcontrolador generalmente 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 en serie TTY (o conexión en serie virtual a través de USB) desde una PC.
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 utilizarse sin ninguna memoria externa.
Los microprocesadores no pueden almacenar programas internamente y, por lo tanto, generalmente cargan el software cuando se enciende, esto generalmente implica un complejo proceso de "arranque" en varias etapas donde el "firmware" se carga desde una ROM externa y, finalmente, un sistema operativo se carga desde otros medios de almacenamiento (por ejemplo, un disco duro )
Por lo general, se encuentra en una computadora personal.
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 soldarse a una PCB o se pueden programar utilizando conectores de programación en el sistema (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 electrodomésticos simples como lavadoras básicas.
"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 placas utilizan microcontroladores Atmel AVR.
Arduino es una plataforma basada en microcontroladores (ATMEGA 328 para la ONU). 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 convertidores analógico a digital (ADC) para detectar voltajes y también tienen salidas PWM y E / S 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 de soporte y bibliotecas.
Una pantalla táctil resistiva se comporta como potenciómetros; uno para xy otro para y. Entonces puede ponerlos en las entradas analógicas de Arduino. Ver aquí para más detalles .
Otra opción es convertir a SPI o I2C con algo como esto , y leer con Arduino.
De cualquier manera, creo que Arduino es una buena opción.
El Arduino consiste en un microcontrolador (el ATmega328 en la versión UNO). Entonces, el Arduino es un PCB con los pines del microcontrolador muy bien separados, un poweruply, un cristal y el FTDI para la conexión USB con un firmware incorporado para que pueda programarlo fácilmente con su propio IDE. Aquí hay una lista sobre los componentes de arduino: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq