quarta-feira, 1 de abril de 2015

Programando o ATinny 85


    Deixando uma pouco de lado o estudo de MatLab e Arduino, iremos estudar um pouco sobre a família ATtiny, em especial o ATtiny85.
 





Esse ci do tamanho do 555 é uma excelente ferramenta para deixar sua solução com arduino de maneira embarcada. Pois o ATtiny85 possui algumas diferenças se comparado com um ATmega328 (Arduino UNO):

1.1) O ATmega328 (Arduino UNO) precisa de bootloader para rodar os códigos, já o ATtiny85 como é gravado por SPI através do Arduino não precisa, logo toda sua memória está disponível para código.

1.2) O ATtiny85 possui menor quantidade de pinos e também uma menor quantidade de memória disponível. Ele é ideal para projetos onde não é necessário a quantidade de pinos e memória que o ATmega328 possui. Logo, utilizando-o você pode deixar seu projeto mais barato e menor.

1.3) Assim como o ATmega328, ele foi construído com uma arquitetura 8bits e possui:
    - Tensão de operação de 2.7V a 5.5V
    - 8Kb de Flash (Armazenar Código);
    - 512bytes de EEPROM (Armazenar Dados);
    - 512bytes de SRAM (Processar informações);


1.4)Na imagem abaixo você verá a pinagem do ATTiny85:
Figura 1 - Pinagem ATtiny85

MATERIAL 


- Arduino
- ATtiny85
- Capacitor 10uF/16V
- Protoboard
- Fios Jumpers


Comunicação via ISP:


ISP é a sigla de "In-System Programming" (programação "no sistema"), é a propriedade que alguns dispositivos lógicos programáveis como microcontroladores e outros chips eletrônicos possuem de ser programados enquanto estão instalados em um sistema completo. Décadas atrás, para se programar os microcontroladores, era necessário ter uma placa de programação para se programar o chip ai sim depois colocá-lo na placa de controle do sistema já programado.
A programação “in-circuit” via ISP pode ser realizada através de canais seriais do Microcontrolador de duas formas:

2.1) Via Rx e Tx da interface serial RS232: como no Atmega328.

2.2) Via Interface SPI (Serial Peripheral Interface): que será mostrado neste tutorial

Munidos dessa informaçao podemos configurar o arduino para fazer uma comunicação para o ATtiny85 e mandar toda a programação do scketch do arduino para ele.


Configurando o Arduino como ISP

3.1) Faça a montagem conforme o circuito da figura abaixo:
Figura 2 - Circuito para programação do ATiny85

3.2) Execute o software Arduio IDE 1.0.5.
Imagem 2 - Iniciando a Arduino IDE

3.3) Abra o Sketch exemplo ArduinoISP.
Imagem 3 - Selecionando o exemplo ArduinoISP

3.4) Faça o UPLOAD do sketch para o Arduino.
Imagem 4 - UPLOAD do sktech ArduinoISP

3.5) Após o término do UPLOAD, configure a opção programmer para "Arduino as ISP".
Imagem 5 - Configurando o programmer como "Arduino as ISP"


4. Instalando as configurações do ATtiny85 na Arduino IDE

4.1) Faça o download dos arquivos para utilizar as configurações dos ATtiny,clique aqui!!

4.2) Descompacte a pasta attiny dentro da pasta hardware da Arduino ("C:\Arquivos de Programa\Arduino\hardware\attiny").

4.3) Certifique-se que dentro da pasta attiny que foi copiada contenha a pasta variants e o arquivo boards.txt.
Imagem 6 - Pasta attiny

4.4) Agora feche e abra a Arduino IDE 1.0.5.
Imagem 7 - Iniciando a Arduino IDE

4.5) Selecione dentro da configuração Board em Tools a opção ATtiny85 (internal 8MHz clock).
Imagem 8 - Selecionando o chip (ATtiny85)

OBS³: O ATtiny85 já vem de fábrica trabalhando com um clock de 1MHz, se você deseja trabalhar com um clock de 1MHz ao invés de 8MHz, ignore o passo 6 e selecione ATtiny85 (internal 1MHz clock) na opção do passo 5.

4.6) Vá até a aba Tools e clique em Burn Bootloader.
Imagem 9 - Gravando Bootloader

Depois desses passos abra o exemplo do blink.
Mas cuidado pois, no exemplo o led que ira brilhar o pin 13 e o attiny nao possui isso tudo de pinos, entao mude o 13 para 0(zero).




Nenhum comentário:

Postar um comentário