sábado, 13 de outubro de 2012

Arduino no Atmel Studio

     Para programar o Arduino não é necessário programar somente no IDE e sim em outros programas. Hoje vou ensinar a configurar o Atmel Studio 6 para programar no Arduino em Wiring (programação própria do IDE)... Para fazer o download do software que é gratuito é só entrar no site do Fabricante Atmel (é necessário fazer um registro para pode fazer o download), para quem não sabe os Atmegas são fabricados pela própria Atmel.


     Aprendi a usar o novo software pelos vídeo 1 e o vídeo 2 do Fernando Nunes. Percebi alguns pontos negativos para programar, para cada Arduino com porta diferente (COM 1, COM 2, etc.) é necessário configurar novamente; Para cada modelo de Arduino (UNO, MEGA, NANO, etc.) é necessário configurar novamente¹; Para cada versão de IDE (as vezes versões novas da erros com IDEs antigos, etc) é necessário configurar novamente²; Para cada programação que for fazer, sempre vai ter que configurar, não igual aos outros e sim direcionando aonde estão as bibliotecas do IDE³.
     Caso faça isso para uso pessoal e que não trabalhe com muitos Arduinos, vale a pena usar o software.

     Para começar iremos instalar uma extensão do Atmel Studio da janela Serial, para que possamos visualizar os valores dos sensores ou fazer controle pelo teclado, como se fosse o Monitor Serial do IDE.
Assim que abrir o programa vai em Tools -> Extension Manager -> Available Dowload (que fica no lado esquerdo da janela) -> Terminal Window.
Para fazer o download será necessário entrar com o seu login e a senha, o mesmo que registrou para fazer o download. Após feito o download e instalado, pronto já podemos ir para próxima etapa.

     Agora nessa etapa vamos configurar o AVR dude (configuração para programar o chip do Arduino). A partir de agora fica um pouco trabalhoso para configurar, isso só irá servir para programar um tipo, modelo de arduino.
     1.0 - Vai em Tools -> External Tools (serve para configurar uma nova ferramenta).
     1.1 - Após abrir uma janela vamos configurar cada item: Title: eu coloquei Upload Arduino UNO COM3 (isso porque era a versão do meu Arduino e a porta que está usando, mas vocês podem colocar outro nome).
     1.2 - Em Command: você vai direcionar o arquivo executável do avrdude, vamos achar nele na posta do Arduino: arduino -> hardware -> tools -> AVR -> bin -> avrdude.exe
     1.3 - Agora vai dar trabalho, em Arguments: 
     Para preencher esse campo vamos abrir o IDE do Arduino e ir em File -> Preference e vamos marca para começar só o upload e deixar desmarcado o compilation
     Após isso pegue uma programação de exemplo como blink e manda fazer o upload, isso sem nenhum arduino está conectado ao computador (lembrando que tem que ser com a porta que o seu arduino usa no computador e o modelo) com o erro você vai copiar a parte da imagem que está marcada e colar em Arguments:
     Após colocar esse endereço nos Arguments... Logo depois do :w: tem que escrever: "$(ProjectDir)Debug\$(ItemFileName).hex":i. Agora sim acabamos com esse item.
     1.4 - Só marcar agora o item Use Output Window e acabamos com essa primeira parte.
OBS.: Isso só serve para configurar para fazer a compilação de um TIPO e MODELO de Arduino.
Agora vamos configurar a Biblioteca do Arduino:
      2.0 - Primeiramente vamos criar uma pasta chamada de ArduinoCore (dentro vão ser salva a biblioteca dos pinos e de programação do IDE dentro da pasta do Atmel Studio (essa pasta é onde vão ser salvas as programações feitas por ele) que foi criada nos meus documentos logo que você instalou o software.
    2.0.1 - Em arduino -> hardware -> arduino -> cores -> arduino. Copia todos os arquivos com arquivos .h e cola no ArduinoCore, os arquivos C e C++ não copia.
    2.0.2 - Agora vamos salvar o arquivo .h que fala dos pinos do Arduino que fica em arduino -> hardware -> arduino -> variants -> Standard (isso se o seu for o UNO), caso você não saiba você vai na pasta arduino -> hardware -> arduino no arquivo boards.txt (vai aparecer um pouco bagunçado mas nesse arquivo você vai saber qual pasta que esta dentro de variants usar. Sabendo o arquivo você pega o arquivo pins_arduino e cole em ArduinoCore.
     2.0.3 - Agora é o ultimo arquivo para salvar dentro dessa pasta. Agora no IDE em File -> Preference e vamos marca para começar só o compilation e deixar desmarcado o upload e com a programação de exemplo blink mandar fazer a compilação mas sem o arduino conectado ao computador, de novo vai dar erro.
     Essa mensagem é muito grande para agilizar, logo na primeira linha que tem a terminação do core.a seleciona o endereço marcado na imagem e cola no endereço do meu computador.
     Copie o arquivo core.a e cole no ArduinoCore, mas renomeie para libcore.a. Com isso terminamos a nossa pasta com os arquivos de ArduinoCore.

     Agora toda vez que for fazer a programação, terá que configurar a pasta para exibir a biblioteca de programação do wiring (não é a biblioteca como servo, display, etc.) mas para ir adiantando copie a pasta que está dentro do arduino Librares e cole dentro da pasta Atmel Studio junto com o ArduinoCore.

     Quando for criar a programação vamos em: Criar Novo Projeto e selecionaremos o terceiro item que é GCC C++ Executable Project e logo a segui o escolher o chip que usamos, no caso o UNO é o ATmega328p.
    Apos carregado a janela de programação vamos selecionar as bibliotecas em Project -> Nome da programação properties (ALT + F7) -> Toolchain.
     2.1 - Nos itens AVR/GNU C Copiler e AVR/GNU C++ Copiler será feita a mesmas coisas.
     2.1.1 - Em Directores vamos selecionar a pasta ArduinoCore
     Assim que escolher a pasta, ANTES de clicar em ok precisa desmarcar a opção Relative Path isso em todas as vezes que for selecionar a pasta do ArduinoCore.
     2.1.2 - Em Optimization em Optimization Level selecionar a ultima opção e marca o primeiro item... os três primeiros itens vão ficar marcados que nem a imagem a seguir.
     2.2 - Agora em AVR/GNU Linker em Optimization é só marcar a primeira opção (irão ter três, só a primeira que irá ficar marcado).
     2.2.1 - Em Libraries, no primeiro quadro ao adicionar a o item, escrevemos libcore.a e logo em seguida ok. No seguindo quadro vamos adicionar a pasta ArduinoCore e também a pasta das bibliotecas do Arduino como tinha dito para adiantar anteriormente, mas fazendo o mesmo esquema, quando for selecionar a pasta precisa desmarcar a opção Relative Pach.
     Pronto terminamos de configurar tudo, agora e aperta o botão de salvar e voltar para a pagina de programação... Lá você apaga tudo que está escrito e sempre que for fazer a programação você vai escrever:
#define F_CPU 16000000
#define ARDUINO 101
#include "Aduino.h"

     E logo a seguir fazer a programação desejada, no vídeo mostro fazendo a programação do blink e do controle pelo teclado para mostrar também como funciona o Terminal Window.
     Após ter feito a programação para verificar se está funcionando você vai em Build -> Build Solution esse item que fará a verificação da programação, caso não tenha nenhum erro você vai em Tools -> Upload Arduino UNO (ou como você tenha nomeado anteriormente). Você verá que a programação será enviada com sucesso para a sua placa.

     Sempre que você programar, precisa escrever os comando como foi dito antes e logo em seguida escrever a programação normalmente como se fosse no IDE.

Vídeo:
Vídeo sendo editado, logo será exibido, desculpa pela falta do vídeo pessoal

    Espero que tenham entendido, também sou novo com o programa Atmel Studio... Qualquer duvida só falar.

1 comentários:

Cristiano Informatica disse...

Opa!

Cara o meu esta acontecendo o seguinte erro na hora do upload:

avrdude.exe: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\Program"
avrdude.exe: can't open config file "C:\Program": No such file or directory
avrdude.exe: error reading system wide configuration file "C:\Program"

Postar um comentário

 
Blogger Templates