A IDE Arduino é fantástica. Sua simplicidade, abstração e facilidade de uso permitem que pessoas com pouco ou nenhum conhecimento em programação de microcontroladores possam criar aplicações e fazer a gravação das placas Arduino, sem se preocuparem com configuração de toolchain e ferramenta de gravação. Porém, para os desenvolvedores que precisam de mais recursos e produtividade, um bom ambiente de desenvolvimento integrado facilita a criação e manutenção de projetos.
Neste artigo vou apresentar como usar o Atmel Studio 7 para a programação da placa Franzininho.
Materiais
- Franzininho ou Arduino Gemma
Programas
Programando a Franzininho no Atmel Studio em linguagem C
Para criar um novo projeto no Atmel Studio acesse File > New > Project, conforme exibido na figura 1:
Será aberta uma janela para configuração do projeto. Nela é possível escolher o compilador, além do nome e do caminho da pasta onde o projeto será armazenado, conforme exibido na figura 2:
A seguir será apresentada uma janela para escolha do microcontrolador alvo. Neste caso foi escolhido o ATtiny85, microcontrolador usado na Franzininho:
Pronto, o projeto foi criado! Além disso também foi criado o código fonte com a função main() já inserida, pronto para digitar o código da aplicação, conforme exibido na figura 4:
Para testar, vamos piscar o LED no pino PB1 do ATtiny85, conforme exibido do esquemático da placa a seguir:
O código abaixo configura o pino PB1 como saída e no loop infinito faz a inversão do estado do LED em intervalos de 500 ms. Digite o código a seguir, no arquivo main.c:
#define F_CPU 8000000UL //clock em 8 MHz
#include <avr/io.h>
#include "util/delay.h"
int main(void)
{
DDRB = 0b00000010; //configura PB1 como saída
/* Replace with your application code */
while (1)
{
PORTB ^=(1<<PB1);
_delay_ms(500);
}
}
Para compilar o projeto, você pode acessar Build > Build Solution, ou pressionar F7:
Após a compilação, vamos fazer o upload usando o AVRDUDE.
Configurando o AVRDUDE no Atmel Studio
Vamos configurar o AVRDUDE no Atmel Studio como ferramenta externa para upload do .hex para a placa. Acesse Tools > External Tool…, conforme exibido na figura 7:
Será aberta uma janela para configuração de uma ferramenta externa. Configure o AVRDUDE, conforme exibido na figura 8:
Note que eu já tenho uma ferramenta configurada para a programação do Arduino UNO. A configuração da ferramenta para programação do Arduino UNO foi feita seguindo os passos desse artigo: Primeiros passos com Atmel Studio
Para configurar uma nova ferramenta para a programação da Franzininho, clique em Add:
Faça a configuração da ferramenta:
Title: Programador Franzininho
Command:
C:\arduino-1.8.2\hardware\tools\avr/bin/avrdude.exe
Arguments:
-CC:\arduino-1.8.2\hardware\arduino\avr/bootloaders/gemma/avrdude.conf -v -pattiny85 -carduinogemma -Uflash:w:"$(TargetDir)$(TargetName).hex":i
Obs.: Verifique o endereço da pasta Arduino no seu computador e ajuste se for necessário.
Após a configuração, a ferramenta estará disponível no menu Tools. Para iniciar o processo de gravação basta acessar o menu Tools e clicar no nome dado à ferramenta de programação. Para a programação da Franzininho é necessário pressionar o botão de Reset da placa para entrar no modo bootloader e em seguida clicar na ferramenta no menu tools, conforme exibido na figura 9:
O status da programação aparecerá na janela de saída e caso ocorra com sucesso aparecerá a mensagem exibida na figura 10:
Após esse processo, o LED da placa Franzininho começará a piscar em intervalos de 0,5 s.
Bônus: Programação da Franzininho usando bibliotecas Arduino.
Crie um novo projeto. Acesse File > New > Project, conforme exibido na figura 1:
Configure o projeto conforme a figura 2:
Configure o projeto com os endereços para a IDE Arduino e placa. Para a programação da Franzininho, vamos escolher a Arduino Gemma:
O projeto será criado com exemplo blink:
O processo de compilação e upload do código seguem os mesmos passos apresentados neste artigo.




















Bom dia!!!
Eu tentei iniciar um projeto, porém obtive o error: “Atmel.VsIde.AvrStudio.Utils.MemoryPressureReliever’ threw an exception”
Poderiam me ajudar?
Poderia me ajudar eu preciso de uma placa que amplifique o sinal de um sensor tipo eletrodo impresso para detecção de chumbo (Pb2+). preciso amplificar os sionais do sensor para o arduino. Tens algo semelhante que possa me ajudar!Grato!
Josias