Arduino - Visão Geral

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

A plataforma Arduino é uma ferramenta simples e fácil de usar mesmo para leigos em programação e eletrônica. Essas características tornaram ela uma plataforma muito utilizada para o desenvolvimento de prototipos. Por se tratar de uma plataforma aberta de hardware e software (open-hard e open-soft), qualquer um pode montar uma plataforma Arduino e criar protótipos com kits Arduino.

Existem diferentes versões da plataforma Arduíno, iremos trabalhar com a Arduino Uno.

Entre outros elementos o Arduino UNo é composto por: um microcontrolador, portas de entrada e saída digitais, portas para comunicação serial, portas de entrada analógicas e de saída PWM (Pulse-Width Modulation), uma conexão USB, um conector de tensão contínua e um botão de reset.


ArduinoUno.jpg


Microcontrolador (tipo ATmega) - gerencia os sinais das portas de entrada e saída e de comunicação. As funções de gerenciamento do microcontrolador são programáveis, no Arduino o microcontrolador está preparado para rodar (executar) um programa em loop, verificando estados das portas e selecionando ações a serem executadas em função desses estados.

Porta Digital - permitem conectar periféricos a placa do Arduino, tais como LEDs, chaves, sensores de temperatura, motores ... Essas portas possuem apenas dois estados elétricos. Estado alto, quando na porta tem uma tensão de 5 V ou estado baixa, quando a tensão é igual a 0 V.

Nos sistemas de telecomunicações atuais a informação enviada de um transmissor para um receptor (ex: da emissora de TV para o aparelho de TV, de um computador para outro, de um celular para outro) é geralmente enviada no formato digital. Isto é, o sinal transmitido só pode assumir uma quantidade finita de valores.


  • Sinal digital é qualquer sinal que assume apenas alguns valores de amplitude, sua variação de amplitude ocorre em degraus, abruptamente.

Sinal digital.gif


As portas digitais podem ser de entrada (in) ou saída (out). As portas de entrada indicam o estado de um periférico (ex: se uma chave esta aberta ou fechada), as portas de saída fornecem a tensão de 5V ou 0V para algum dispositivo periférico.

Porta Analógica - são portas de entrada e fornecem o valor da tensão de um determinado periférico. Uma tensão analógica pode assumir uma infinidade de valores entre seus limites de tensão máxima e mínima.


  • Sinal analógico é qualquer sinal contínuo no tempo que pode assumir infinitos valores de amplitude dentro do seu intervalo de valores máximo e mínimo, sendo que estes podem também ser infinitos. O termo analógico refere-se a que este tipo de sinal é análogo (similar) ao da sua fonte, por exemplo quando uma pessoa fala ao telefone o sinal elétrico analógico da sua voz é análogo a onda sonora que o seu aparelho fonético gera.

Sinal analogico.jpg

As portas analógicas do Arduino Uno podem assumir até 1024 valores diferentes.

Porta PWM - são portas digitais que trabalham com pulsos periódicos de tensão de diferentes larguras. Conforme a largura dos pulsos o valor médio da tensão na porta é alterado. Nas portas PWM do Arduino Uno a largura do pulso pode assumir 256 tamanhos diferentes.


  • Sinal PWM é um sinal formado por uma sequência de pulsos quadrados enviados periodicamente, com a mesma frequência, porém com diferentes frações do tempo do pulso com tensão igual a zero. A fração de tempo do pulso com tensão igual a zero pode variar de 0% a 100%.

Pwm1.gif

Nessas portas de entrada e saída é possível conectar botões, sensores, LEDs ou quaisquer outros dispositivos elétricos, tornando inúmeras as possibilidades de uso para essa plataforma.

Portas Tx e Rx - são portas de comunicação entre o Arduino e outros dispositivos. Tx é a porta de transmissão e Rx a porta de recepção.

Portas GND, 3,3 e 5 V - a porta GND é a porta que dá acesso ao terra da placa. As portas de 3,3 e 5V fornecem tensões contínuas com esses respectivos valores.

USB - permite a alimentação do Arduino e a comunicação serial com outros dispositivos.

conector de alimentação- serve para conectar uma bateria ou fonte contínua para alimentar o Arduíno. A tensão de alimentação deve ficar entre 7 e 12V

Módulos de expansão

A expansão das funcionalidades da plataforma Arduino é possível através da conexão de diversos shields e módulos de comunicação encontrados no mercado.

Para a conexão com o dispositivo Android, por exemplo, pode ser usado o módulo bluetooth HC-06. Similar ao da figura abaixo.


HC06.png

bluetooth- é uma especificação industrial para áreas de redes pessoais sem fio (Wireless Personal Área Networks – PANs) consideradas do tipo PAN ou mesmo WPAN. As redes bluetooth permitem a conexão e comunicação sem fio entre equipamentos afastados em curtas distâncias.

Utilizaremos a tecnologia bluetooth para interligar o Arduino servidor ao celular que estiver rodando o Aplicativo de Irrigação.


XBee- é a marca da Digi International para uma família de módulos de rádio comunicação. Esses rádios operam usando o protocolo ZigBee, utilizado para aplicações que exigem baixas taxas de transmissão de dados e baixo consumo de energia.


Xbee Pro2 g.jpg


Rádio comunicação - sistema de comunicação sem fios.

Shield - são placas que podem ser acopladas ao Arduino para expandir suas funcionalidades. Existem diferentes tipos de Shields com diferentes funcionalidades.

Arduinounowithshield.jpgShield arduino.jpg


Protocolo de comunicação

Para enviar a comunicação de um Transmissor (Tx) para um receptor (Rx) é necessário definir um conjunto de regras.

Quais os símbolos a serem utilizados? Como identificar que a comunicação começou e que terminou? Como corrigir possíveis erros? etc, etc, etc.

Para as duas tecnologias de comunicação a serem utilizadas no projeto foram definidos protocolos. O protocolo do bluetooth e do Xbee serão transparentes para nós, vamos abstraí-los. Porém a forma como enviaremos as informações terão que seguir um conjunto de regras rígidas, isto é terão que seguir um protocolo.


subsistemas do programa do servidor Arduino para domótica

O programa para o Servidor é dividido em subsistemas. Cada um desses subsistemas e suas funcionalidades são mostrados na figura abaixo.

SubsitemaServidor.png