Arduino

Caso você tenha preguiça de ler o texto todo abaixo (não deveria ter, pois o projeto e voltado para estudo e ganho de conhecimento :D)

Baixando o código do FireGoTo

O download do último código estável está disponivel em:

https://github.com/rangelsardinha/FIREGOTO-firmware/archive/master.zip

As bibliotecas necessárias estão disponíveis em:

https://github.com/rangelsardinha/FIREGOTO-firmware/tree/master/Libs

Baixe do github por esse link:

Primeiros Passos com a Arduino Due

Para conectar a Arduino Due ao seu computador, você precisará de um cabo USB Micro-B. O cabo USB fornece energia e permite programar a placa.

Conecte o lado micro USB do cabo USB à porta de programação do Due (a porta mais próxima do conector de alimentação DC). Para fazer upload de um esboço, escolha Arduino Due (Programming port) no menu Tools > Board no IDE do Arduino e selecione a porta serial correta no menu Tools > Serial Port.

A Due tem um fórum dedicado para discutir a placa.

Você deve usar o Arduino IDE 1.5 ou posterior para programar na Due.

Diferenças com as placas baseadas em ATMEGA

Em geral, você programa e usa a Due como faria com outras placas Arduino. Existem, no entanto, algumas diferenças importantes e extensões funcionais.

A Due tem a mesma footprint que o Mega 2560.

Voltagem

O microcontrolador montado na Arduino Due funciona a 3.3V, isto significa que você pode alimentar seus sensores e dirigir seus atuadores somente com 3.3V. Conectar tensões mais altas, como o 5V comumente usado com as outras placas do Arduino, danificará a Due.

A placa pode tirar energia dos conectores USB ou do plug DC. Se estiver usando o conector DC, forneça uma tensão entre 7V e 12V.

A Arduino Due possui um regulador de tensão de alternância eficiente, compatível com a especificação do host USB. Se a porta USB nativa for usada como host, conectando um dispositivo USB ao conector USB mirco-A, a placa fornecerá energia ao dispositivo. Quando a placa é usada como um host USB, a alimentação externa do conector DC é necessária.

Portas Seriais na Due

A Arduino Due tem duas portas USB disponíveis. A porta USB nativa (que suporta a comunicação serial CDC usando o objeto SerialUSB) está conectada diretamente ao SAM3X MCU. A outra porta USB é a porta de programação. Ela está conectada a um ATMEL 16U2 que atua como um conversor USB-para-Serial. Esta porta de programação é a forma padrão de carregar esboços e comunicar com o Arduino.

O conversor USB-para-serial da porta de programação está conectado ao primeiro UART do SAM3X. É possível comunicar através desta porta usando o objeto Serial na linguagem de programação Arduino.

O conector USB da porta Native está conectado diretamente aos pinos do host USB do SAM3X. Usando a porta nativa, você pode usar a Due como um cliente periférico USB (atuando como um mouse ou teclado conectado ao computador) ou como um dispositivo host USB para que os dispositivos possam ser conectados à Due (como mouse, teclado, ou um telefone Android). Esta porta também pode ser usada como uma porta serial virtual usando o objeto SerialUSB na linguagem de programação Arduino.

Reinício Automático (Software)

O microcontrolador SAM3X difere dos microcontroladores AVR porque a memória flash precisa ser apagada antes de ser reprogramada. Um procedimento manual envolveria segurar o botão de apagar por um segundo, pressionando o botão de upload no IDE, e então o botão de reinicialização.

Como um procedimento manual de apagar flash é repetitivo, isso é gerenciado automaticamente por ambas as portas USB, de duas maneiras diferentes:

Portas nativas

Abrir e fechar a porta “Native” sob taxa de transmissão de 1200bps desencadeia um procedimento de “apagamento suave”: a memória flash é apagada e a placa é reiniciada com o bootloader. Se, por algum motivo, a MCU tiver falhado durante esse processo, é provável que o procedimento de apagamento suave não funcione, já que ele é feito, em software, pelo próprio MCU.

Abrir e fechar a porta nativa em um baudrate diferente de 1200bps não redefinirá o SAM3X. Para usar o monitor serial e ver o que o seu esboço faz desde o início, você precisará adicionar algumas linhas de código dentro do setup(). Isso garantirá que o SAM3X aguardará a abertura da porta SerialUSB antes de executar o esboço:

while (!Serial);

Pressionar o botão Reset na Due causa a reinicialização do SAM3X, bem como a comunicação USB. Essa interrupção significa que, se o monitor serial estiver aberto, é necessário fechá-lo e reabri-lo para reiniciar a comunicação.

Porta de Programação

A porta de programação usa um chip USB-para-serial conectado ao primeiro UART do MCU (RX0 e TX0). O chip USB-para-serial tem dois pinos conectados aos pinos Reset e Erase do SAM3X. Quando você abre essa porta serial, o USB-to-Serial ativa a seqüência Apagar-e-Reiniciar antes de começar a se comunicar com o UART do SAM3X. Esse procedimento é muito mais confiável e deve funcionar mesmo se o MCU principal tiver falhado.

Para se comunicar em série com a porta de programação, use o objeto Serial no IDE. Todos os esboços já existentes que usam comunicação serial baseada na placa Uno devem funcionar da mesma forma. A porta de programação comporta-se como a porta serial da Uno no sentido de que o chip USB-para-Serial reinicia a placa sempre que você abre o monitor serial (ou qualquer outra comunicação serial).

Pressionar o botão Reset durante a comunicação através da porta de programação não fecha uma conexão USB com o computador, porque somente o SAM3X é redefinido.

Host USB

A Due tem a capacidade de funcionar como um host (anfitrião) USB para periféricos conectados à porta SerialUSB. Para obter informações e exemplos adicionais, consulte a página de referência do host USB.

Ao usar a Due como um host, ela estará fornecendo energia para o dispositivo conectado. Recomenda-se vivamente que utilize o conector de alimentação DC quando agir como um host.

Resoluções ADC e PWM

O Due tem a capacidade de alterar suas resoluções de leitura e gravação analógicas padrão (10 bits e 8 bits, respectivamente). Pode suportar até resoluções ADC e PWM de 12-bit. Consulte as páginas de resolução de gravação analógica e resolução de leitura analógica para obter informações.

Funcionalidade SPI expandida

O Due tem funcionalidade expandida em seu barramento SPI, útil para se comunicar com vários dispositivos que falam em velocidades diferentes. Consulte a página de uso da biblioteca do Due extended SPI para obter mais detalhes.

Instalando os Drivers para a Due

OSX
  • Nenhuma instalação de driver é necessária no OSX. Dependendo da versão do sistema operacional em execução, você poderá obter uma caixa de diálogo perguntando se deseja abrir as “Preferências de Rede”. Clique no botão “Preferências de Rede…” e, em seguida, clique em “Aplicar”. O Due aparecerá como “Não Configurado”, mas ainda está funcionando. Você pode encerrar as Preferências do Sistema.
Windows (testado no XP e no 7)
  • Baixe a versão Windows do software do Arduino. Quando o download for concluído, descompacte o arquivo baixado. Certifique-se de preservar a estrutura de pastas.
  • Ligue a Due ao seu computador com um cabo USB através da porta de programação.
  • O Windows deve iniciar o processo de instalação de driver uma vez que a placa esteja conectada, mas não será capaz de encontrar o driver por conta própria. Você terá que dizer onde está o driver.
  • Clique no menu Iniciar e abra o Painel de Controle.
  • Navegue até “Sistema e Segurança”. Clique em Sistema e abra o Gerenciador de Dispositivos.
  • Procure o item de nome “Portas (COM & LPT)”. Você deve ver uma porta aberta chamada “Arduino Due Prog. Port”.
  • Clique com o botão direito sobre a opção “Arduino Due Prog. Port” e escolha “Atualizar Software do Driver”.
Utilize o Gerenciador de Dispositivos para atualizar o driver
  • Selecione a opção “Procurar driver em meu computador”.
Escolha a opção de escolher o driver em seu computador
  • Navegue até a pasta com o IDE do Arduino que você baixou e descompactou anteriormente. Localize e selecione a pasta “Drivers” na pasta principal do Arduino (não o subdiretório “Drivers USB FTDI”). Pressione “OK” e “Avançar” para prosseguir.
  • Se aparecer uma caixa de diálogo de aviso sobre não passar no teste de logotipo do Windows, clique em “Continuar mesmo assim”.
  • O Windows agora assumirá a instalação do driver.

Pronto, você instalou o driver em seu computador. No Gerenciador de Dispositivos, você deve ver agora uma listagem de portas semelhante à “Arduino Due Programming Port (COM4)”.

Linux

Não há necessidade de instalar drivers para o Linux.

Instalando o núcleo Arduino Sam Boards

Se você estiver usando o Arduino IDE versão 1.6.2 ou mais recente, você precisa instalar o núcleo que suporta o Arduino Due. Siga este guia para instalar o novo núcleo.

Baixando o código do FireGoTo

O download do último código estável está disponivel em:

https://github.com/rangelsardinha/FIREGOTO-firmware/archive/master.zip

As bibliotecas necessárias estão disponíveis em:

https://github.com/rangelsardinha/FIREGOTO-firmware/tree/master/Libs

Instalando Bibliotecas Adicionais do Arduino

Uma vez que você esteja confortável com o software Arduino e usando as funções internas, pode surgir a vontade de estender a capacidade de seu Arduino, adicionando bibliotecas.

O que são Bibliotecas?

As bibliotecas são coleções de códigos que facilitam a conexão a um sensor, a uma tela, a um módulo, etc. Por exemplo, a biblioteca LiquidCrystal facilita o uso de visores LCD de caracteres. Há centenas de bibliotecas adicionais disponíveis para download na Internet. As bibliotecas internas e algumas dessas bibliotecas adicionais são listadas na referência do Arduino. Para usar as bibliotecas adicionais, você precisará instalá-las.

Como Instalar a Bibilioteca?

Usando o Library Manager (Gerenciador de Bibliotecas)

Para instalar uma nova biblioteca em seu IDE Arduino, você pode usar o Library Manager (Gerenciador de Bibliotecas, disponível a partir da versão 1.6.2 do IDE). Abra o IDE e clique no menu Sketch e, em seguida, Include Library > Manage Libraries.

Include Library > Manage Libraries

Em seguida, o gerenciador de bibliotecas será aberto e você verá lista de bibliotecas que já estão instaladas ou prontas para instalação. Neste exemplo, instalaremos a biblioteca Bridge. Percorra a lista para localizá-la e, em seguida, selecione a versão da biblioteca que deseja instalar. Às vezes, apenas uma versão da biblioteca está disponível. Se o menu de seleção de versão não aparecer, não se preocupe: é normal.

Escolha de versão através de menu dropdown

Por fim, clique em instalar e aguarde até que o IDE instale a nova biblioteca. O download pode levar algum tempo, dependendo da velocidade da sua conexão. Quando terminar, uma tag INSTALLED deve aparecer ao lado da biblioteca Bridge. Você pode fechar o gerenciador de biblioteca.

Tag INSTALLED

Agora você pode encontrar a nova biblioteca disponível no menu Include Library. Se você quiser adicionar sua própria biblioteca, abria um novo issue no github.

Importando uma Biblioteca .zip

Muitas vezes, bibliotecas são distribuídas como um arquivo .zip ou pasta. O nome da pasta é o nome da biblioteca. Dentro da pasta haverá um arquivo .cpp, um arquivo .h e, muitas vezes, um arquivo keywords.txt, pasta de exemplos e outros arquivos necessários para a biblioteca. A partir da versão 1.0.5, você pode instalar bibliotecas de terceiros no IDE. Não descompacte a biblioteca baixada, deixe-a como está.

No IDE do Arduino, navegue até Skectch > Include Library. Na parte superior da lista dropdown, selecione a opção Add .ZIP Library.

Você será instruído a selecionar a biblioteca que gostaria de adicionar.
Navegue até o local do arquivo .zip e selecione-o.

Retorne ao menu Skectch > Import Library. Agora você deve ver a biblioteca na parte inferior do menu dropdown. Ela está pronta para ser usada em seu esboço. O arquivo .zip terá sido extraído na pasta de bibliotecas do diretório de esboços do Arduino.

Nota: a Biblioteca estará disponível para uso em esboços, mas os exemplos para a biblioteca não serão expostos no menu `File > Examples’ até que o IDE seja reiniciado.

Instalação Manual

Para instalar a biblioteca, primeiro feche a aplicação Arduino. Em seguida, descompacte o arquivo .zip que contém a biblioteca. Por exemplo, se você estiver instalando uma biblioteca chamada “ArduinoParty”, descompacte ArduinoParty.zip, que deverá conter uma pasta chamada ArduinoParty, com arquivos como ArduinoParty.cpp e ArduinoParty.h dentro.

Nota: Se os arquivos .cpp e .h não estiverem em uma pasta, você precisará criar uma. Neste caso, você criaria uma pasta chamada “ArduinoParty” e moveria para ela todos os arquivos que estavam no arquivo .zip, como ArduinoParty.cpp e ArduinoParty.h.

Arraste a pasta ArduinoParty para a sua pasta de bibliotecas. No Windows, ela provavelmente estará em “My Documents\Arduino\libraries”. Para usuários de Mac, provavelmente será “Documents/Arduino/libraries”. No Linux, será a pasta “libraries” em seu sketchbook.

Sua pasta de bibliotecas do Arduino deve ficar assim (no Windows):

  My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.cpp
  My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.h
  My Documents\Arduino\libraries\ArduinoParty\examples
  ...

Ou assim (no Mac e no Linux):

  Documents/Arduino/libraries/ArduinoParty/ArduinoParty.cpp
  Documents/Arduino/libraries/ArduinoParty/ArduinoParty.h
  Documents/Arduino/libraries/ArduinoParty/examples
  ...

Pode haver mais arquivos do que apenas os arquivos .cpp e .h, apenas certifique-se de que eles estão todos lá.

Nota: A biblioteca não funcionará se você colocar os arquivos .cpp e .h diretamente na pasta de bibliotecas ou se eles estiverem aninhados em uma pasta extra. Por exemplo: Documents\Arduino\libraries\ArduinoParty.cpp e Documents\Arduino\libraries\ArduinoParty\ArduinoParty\ArduinoParty.cpp não funcionarão.

Por fim, reinicie o aplicativo Arduino. Certifique-se de que a nova biblioteca aparece no item de menu Sketch > Import Library do IDE. E é isso aí! Você instalou uma biblioteca!


Envie Código para a Due

O processo de upload na Arduino Due funciona da mesma forma que em outras placas do ponto de vista do usuário. Recomenda-se usar a porta de programação para carregar esboços, embora você possa fazer o upload de esboços em qualquer uma das portas USB.

Para fazer o upload através da porta de programação siga estas etapas:

  • Conecte a placa ao computador ligando o cabo USB à porta de programação da Due (a porta mais próxima do conector de alimentação DC).
  • Abra o IDE do Arduino.
  • No menu Tools > Serial Port e selecione a porta serial da Due.
  • No menu Tools > Boards, selecione “Arduino Due (Programming port)”.
  • Agora você está pronto para enviar esboços para a Arduino Due.

Para mais detalhes sobre a Arduino Due, consulte a página de hardware.


Link para a página original: Getting Started Guide – Boards – Due.

Link para a página original: Getting Started Guide – Libraries.


Licença

O texto do guia de iniciação do Arduino está publicado sob a licença Creative Commons Attribution-ShareAlike 3.0. Os exemplos de código do guia são disponibilizados para o domínio público.