Conceito
- Interfaces em um âmbito geral pode ser definido como a interação entre usuário e sistema ou entre sistemas. Sempre há uma linguagem que fica responsável pela comunicação entres os meios, sendo uma de entrada e outra de saída. Esta última é dedicada a retornar dados, armazenar ou executar ações de acordo com cada iteração realizada; nesse meio ainda há protocolos tornando possível a comunicação.
Interface Física
- Interface física em caráter básico é um conector ou dispositivo que faz a comunicação entre sistemas. A comunicação pode ser feita através de um sinal analógico ou digital, o primeiro necessita de um conversor A/D (Analógico / Digital). Sensores são os responsáveis pelo grande número de interfaces físicas, pois podem se dividir em sensores com interfaces digitais e analógicas.
Funcionamento
- A função primordial é a transferência de dados entre dispositivos. No caso de sensores a interface fica responsável por "traduzir" um sinal elétrico em sinal digital para que o software possa ler os dados. A interface utilizada neste caso é o conversor A/D; pode se notar que para tal, é utilizado um hardware, que por vezes é embarcado no próprio sensor.
- Hoje contamos com várias tecnologias como a I²C, UART, SPI, CAN, Ethernet, dentre outras que serão exemplificadas abaixo, assim como suas aplicações que variam entre projetos.
Exemplos
- USB(Universal Serial Bus)
Interface criada para a comunicação entre periféricos e computadores, com o objetivo de padronizar a conexão entre vários hardwares. A comunicação é feita por canais lógicos, onde ocorrem as trocas de mensagens. Em microcontroladores existem dois tipos, sendo a USB device voltada para a comunicação que contem videos, áudios, armazenamento em massa, dentre outros. Já o USB "host" é utilizado para interface de controle podendo ser aberta, universal e aprimorada. A velocidade da porta 1.0 é de 12Mbps, já a versão 2.0 pode atingir 480Mbps, atualmente contamos com a USB 3.0 que pode transferir dados a 5Gbps.
- I²C (Inter-Integrated Circuits)
A interface utiliza apenas dois fios para comunicação e é empregada em microcontroladores. A interface conta com o canal SCL(Serial Clock) usado como sinal de referência e o SDA(Serial Data) usado como transmissor e receptor de dados. A referência sempre é enviado pelo mestre, sendo assim possível o acesso ao dispositivo escravo. As velocidades de comunicação podem ser de 100Kbps, 400Kbps ou 1Mbps dependendo da aplicação.
- SPI (Serial Protocol Interface)
Semelhante a comunicação I²C, conta com um sinal de clock e dois sinais de dados, no comportamento Mestre e Escravo. Os pinos MISO(Master Input, Slave Output) e MOSI(Master Output, Slave Input) são utilizados para transferência de dados. Há ainda um quarto sinal para a sincronização chamado SL(Slave Select), sua velocidade pode chegar a 7,5Mbps.
- UART (Universal Asynchronous Receiver Transmitter)
Interface utilizada para comunicação entre microcontroladores e computadores, sendo necessária a escolha de um padrão para comunicação, RS-232, RS-422 ou RS-485. Há necessidade de um hardware para intermediar a comunicação entre PC e o microcontrolador, sua função é pegar os níveis do barramento e deixá-los adequados para o microcontrolador.
Interface Lógica
- Interface lógica é concebida sempre em segundo plano, sendo que nem mesmo os programadores tem acesso a mesma.
Funcionamento
- A sua utilização é essencial para coordenar ações de um determinado equipamento, como a comunicação entre a CPU e a memoria RAM de um computador. Ela existe, mas não é exposta para o usuário, pois sua função é coordenar e gerenciar portas lógicas e dados.
- É utilizada em programação e tem a função de diminuir chances de erros catastróficos. A programação orientada a objetos é um exemplo bem claro, onde torna um software mais dinâmico e menos suscetível a falhas.
- Dependendo do tipo de aplicação a interface pode fazer a interação entre diversos aplicativos em segundo plano, para que se possa mostrar dados. No exemplo abaixo está a API( Interface entre aplicativos e programação).
Exemplos
- API ( Interface entre aplicativos e programação)
É um conjunto de aplicativos e programação que permite o acesso a um software no modelo Web. Os APIs são dinâmicos, pois podem ser alterados pelos usuários para uma melhor interação entre outro aplicativo. Os aplicativos tem a capacidade de se comunicarem entre si, um exemplo é a compra feita online, quando é fornecido o número do cartão de crédito o aplicativo de compra manda as informações para outro aplicativo que processa os dados e retorna se pode ou não ser efetuada a compra. Isso facilita a vida dos programadores, já que não há necessidade de começar um programa do zero, pois podem utilizar ferramentas externas.
Interface Visual
- A interface visual é apresentada diretamente ao usuário, utilizando-se de imagens e ícones, muitas vezes intuitivos que leva a uma ação em conjunto do hardware e software.
Funcionamento
- É responsável por fazer a interação entre interfaces físicas e lógicas. Quando o usuário clica no ícone de um jogo, a interface lógica executa comandos para ativar uma GPU para processamento gráfico e coordenar ela através de um barramento (Interface física).
- Ela uni periférico e software, tornando dinâmica a interação do usuário com a plataforma que ele utiliza. Uma boa interface gráfica pode definir o sucesso ou o fracasso de um sistema, como já ocorreu com algumas versões do Windows(A pior foi a versão 2000).
Exemplos
- Android
O sistema Android por ter sofrido tantas alterações ao longo dos anos exemplifica a importância de uma boa interface gráfica. Se pegarmos uma versão antiga como a Eclair e comparar com a Lollipop podemos notar diferenças absurdas, pois com o passar do tempo as versões foram ficando mais fluidas e dinâmicas, o que agradou e muito os usuários, que muitas vezes correm para obter uma versão mais recente.
- Windows
Apesar de não ser um software livre como o Android o sistema operacional também sofreu alterações bruscas. Partindo do windows 98 e acompanhando a evolução até o windows 10, notamos que a empresa aprendeu com suas falhas e investiu e muito na interface gráfica de seus SOs.
- Hoje
As interfaces gráficas estão evoluindo a cada dia, e está para surgir tecnologias que irão usar o próprio corpo do usuário como interface, ou ainda uma folha de papel onde se pode desenhar um circuito e empregar componentes. As novas interfaces contam com objetos tridimensionais, que o usuário pode interagir diretamente, um exemplo é a tecnologia Circuit Scribe.
Referências Bibliográficas
- Livro: Construção de interfaces homem-computador : o uso de estadogramas na especificação e implementação de controle de interface
- Autor: Fabio Nogueira de Lucena
- Link para download: http://www.bibliotecadigital.unicamp.br/document/?down=000062398
- Livro: Aspectos de implementação da interface dos programas de aplicação para o protocolo MMS e seus padrões associados : gerenciamento de conexão e exemplo de aplicação
- Autor: Jayme Nicolato Correa
- Link para download: http://www.bibliotecadigital.unicamp.br/document/?down=vtls000026458
- Título: O que é uma API?
- Autor: Dave Roos
- Link do hipertexto: http://tecnologia.hsw.uol.com.br/conferencia-api1.htm
- Livro: Plataforma multiware : interface de programação
- Autor: Marcio Maezi
- Link para download: http://www.bibliotecadigital.unicamp.br/document/?code=vtls000094013&fd=y
- Livro: Rede de sensores sem fio de baixo custo para monitoramento ambiental
- Autor: Marcel Salvioni da Silva
- Link para download: http://www.bibliotecadigital.unicamp.br/document/?code=000920924
- Título: 8 novas interfaces gráficas e interações com máquinas que veremos em breve
- Autor: Ana Nemes
- Link do hipertexto: http://www.tecmundo.com.br/interface-grafica/52382-8-novas-interfaces-graficas-e-interacoes-com-maquinas-que-veremos-em-breve.htm