Qual é a diferença entre um Arduino, um microprocessador e um microcontrolador? Estou tentando determinar o que é melhor para operar uma tela de toque resistiva barata.
Qual é a diferença entre um Arduino, um microprocessador e um microcontrolador? Estou tentando determinar o que é melhor para operar uma tela de toque resistiva barata.
Respostas:
normalmente é encontrado em um PC ou laptop de mesa e contém uma CPU e uma interface de memória externa, além de vários barramentos de E / S para conectar-se ao mundo externo, como SPI, I2C, UART, USB, LCD e outros. Os microprocessadores também terão um cristal externo para fornecer um relógio.
A maioria dos microprocessadores não possui memória somente leitura no chip; em vez disso, há um chip externo na placa-mãe onde o código de inicialização inicial está localizado. Nos PCs baseados em Intel, isso é chamado de BIOS ( Basic Input / Output System ) e também contém rotinas de E / S, além do código de inicialização inicial. O código de inicialização começa com um POST ( Power-On Self Test ) e, em seguida, procura ver onde carregar o próximo estágio do código de inicialização - a partir de um disco rígido, CD (ou antigamente) um disquete. Essa inicialização de segundo nível carrega o sistema operacional. (Pode haver até três níveis de código de inicialização em alguns sistemas.)
Alguns microprocessadores (geralmente aqueles destinados a smartphones e tablets, que têm opções limitadas de inicialização) possuem uma pequena quantidade de memória somente leitura que contém o código de inicialização inicial.
Refiro-me ao código de inicialização como somente leitura; na verdade, em alguns sistemas, ele pode ser atualizado. No entanto, isso é bastante arriscado; se algo der errado, o sistema não poderá mais ser inicializado.
Ao contrário dos microcontroladores, que executam seus programas a partir da memória somente leitura, após a inicialização dos microprocessadores, carregam seus programas na RAM externa e executam a partir daí.
por outro lado, é um IC autônomo de chip único que contém uma CPU, memória somente leitura para armazenar o programa, RAM para armazenar variáveis usadas na execução do programa e vários barramentos de E / S para conectar-se ao mundo externo, como como SPI, I2C, UART e outros. Por si só, ele não pode executar nenhum programa sem ser programado através de uma interface externa para um PC. Um microcontrolador também pode precisar de um cristal externo para fornecer um relógio, no entanto, alguns têm um relógio interno.
Alguns microcontroladores (como o PIC32 da Microchip) possuem duas seções de memória flash; um para armazenar o código de inicialização (inicialização) e outro para armazenar o aplicativo. Isso facilita a atualização do código do aplicativo no local.
Para seu propósito, você desejaria usar um microcontrolador, não um microprocessador. Para usar um microcontrolador, você teria que criar sua própria placa ou comprar algum tipo de placa de desenvolvimento.
é uma placa desse tipo e contém um microcontrolador, típico de um AVR de 8 bits, como o ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560, além de fontes de alimentação, cristal e cabeçalhos femininos para interagir com várias placas periféricas.
Essas placas periféricas são chamadas de escudos e são projetadas para serem empilhadas umas sobre as outras (existem pinos masculinos na parte inferior das placas para se conectar ao próprio Arduino ou outro escudo, e cabeçalhos femininos na parte superior para aceitar os pinos masculinos da um escudo empilhado em cima dele).
Blindagens de exemplo são placas de controle de motores, placas de E / S gerais, placas de relé, placas Ethernet e LCDs, normalmente com uma tela de toque. No entanto, não conheço telas sensíveis ao toque resistivas que seriam usadas apenas para detecção (sem um LCD).
Além do hardware descrito acima, o Arduino também vem com um IDE (Integrated Development Environment) de plataforma cruzada, escrito em Java. Ele foi projetado para introduzir programação a artistas e outros iniciantes, assim como a linguagem BASIC fez 50 anos atrás. Um programa para Arduino é chamado de esboço .
Os programas do Arduino são escritos em C ou C ++, no entanto, muitos detalhes estão ocultos do usuário: apenas duas funções (chamadas pelo sistema) precisam ser definidas para criar um programa que circula continuamente (normalmente para programas incorporados)
setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off
O IDE vem com uma biblioteca de software chamada "Fiação", que pode ser usada para operações comuns de entrada / saída.
Um Arduino é um PCB que contém um microcontrolador Atmel AVR e geralmente fornece um conjunto de conectores em um padrão padrão. O microcontrolador normalmente é pré-programado com um programa "carregador de inicialização" que permite que um programa (chamado de "esboço") seja carregado no microcontrolador por uma conexão serial TTY (ou serial virtual por conexão USB) a partir de um PC.
Um microprocessador é um IC que contém apenas uma unidade central de processamento (CPU). O IC não contém RAM, ROM ou outros periféricos. O IC pode conter memória cache, mas não foi projetado para ser utilizado sem nenhuma memória externa.
Os microprocessadores não podem armazenar programas internamente e, portanto, normalmente carregam software quando ligados, isso geralmente envolve um processo de "inicialização" complexo em vários estágios, em que "firmware" é carregado a partir da ROM externa e, eventualmente, um sistema operacional é carregado a partir de outra mídia de armazenamento (por exemplo, disco rígido). )
Geralmente é encontrado em um computador pessoal.
Um microcontrolador é um IC que contém uma CPU, além de certa quantidade ou RAM, ROM e outros periféricos. Microcontroladores podem funcionar sem memória ou armazenamento externo.
Normalmente, os microcontroladores são programados antes de serem soldados a uma placa de circuito impresso ou programáveis usando conectores de programação no sistema (ISP ou ICSP) por meio de um dispositivo "programador" especial conectado a um computador pessoal.
Os microcontroladores típicos são muito mais simples e lentos que os microprocessadores típicos, mas acredito que a distinção é principalmente de escala e aplicação.
Pode ser encontrado, por exemplo, em aparelhos simples, como máquinas de lavar básicas.
"Arduino" é um ambiente de desenvolvimento de software e qualquer uma das várias placas de microcontroladores para as quais o ambiente de software pode desenvolver programas. A maioria das placas usa microcontroladores Atmel AVR.
O Arduino é uma plataforma baseada em microcontrolador (ATMEGA 328 para a ONU). Em geral, um microcontrolador é mais adequado que um microprocessador para qualquer coisa que exija detecção de entradas. Isso ocorre porque microcontroladores como o ATMEGA 328 possuem conversores analógico para digital (ADCs) para detectar tensões e também possuem saídas PWM e E / S digitais.
Com o Arduino, você também possui o sistema Arduino Dev, que é mais fácil de programar para iniciantes e tem uma boa comunidade de suporte e bibliotecas.
Uma tela de toque resistiva se comporta como potenciômetros; um para x e um para y. Assim, você pode inseri-las nas entradas analógicas do Arduino. Veja aqui para detalhes .
Outra opção é converter para SPI ou I2C com algo parecido com isto e ler com o Arduino.
De qualquer maneira, acho que o Arduino é uma boa escolha.
O Arduino consiste em um microcontrolador (o ATmega328 na versão UNO). Portanto, o Arduino é um PCB com os pinos do microcontrolador bem separados, uma fonte de alimentação, um cristal e o FTDI para a conexão USB com um firmware integrado, para que você possa programá-lo facilmente com seu próprio IDE. Aqui está uma lista sobre os componentes do arduino: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq