Olá pessoal. Enquanto não preparo o material das aulas, estou deixando aqui o que eu achei no datasheet do ATtiny85.
Nas opções de clock do ATtiny85 há a possibilidade de usar um PLL em conjunto com o oscilador interno fazendo com que o ATtiny85 rode a 16 MHz. Só o que é preciso fazer é regravar os fuses do ATtiny85.
Pra quem já sabe programar pelo avrdude, basta inserir a sequinte linha de comando: "-U lfuse:w:0xf1:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m" (sem as aspas).
Para quem usa o ATtiny85 no Arduino 1.0.1 terá que alterar um arquivo no diretório do arduino. Primeiro abra a pasta onde estão os arquivos do arduino, abra a pasta hardware, abra a pasta attiny85, e abra o arquivo boards.txt.
Vá no final desse arquivo e cole o seguinte código:
attiny85-16.name=ATtiny85 (internal 16 MHz clock)
attiny85-16.bootloader.low_fuses=0xf1
attiny85-16.bootloader.high_fuses=0xdf
attiny85-16.bootloader.extended_fuses=0xff
attiny85-16.upload.maximum_size=8192
attiny85-16.build.mcu=attiny85
attiny85-16.build.f_cpu=16000000L
attiny85-16.build.core=arduino:arduino
attiny85-16.build.variant=tiny8
aqui no meu, eu coloquei entre as configurações de 8 e 20 MHz para ficar mais organizado.
Se a IDE do Arduino estiver aberta, feche-a e a abra novamente. Faça o upload do sketch arduinoISP para a placa do Arduino e monte o ATtiny85 para ser reprogramado. Vá no menu "Tools", depois em "boards" e procure pela opção "ATtiny85 (internal 16 MHz clock)". Em seguida vá no menu "Tools", depois em "Programmer" e selecione "Arduino as ISP". Vá mais uma vez no menu "Tools", e selecione "Burn Bootloader" e espere terminar a gravação. Pronto, seu attiny agora está rodando à 16MHz.
Agora é só aproveitar a velocidade extra para fazer aplicações mais avançadas.
Obs: Para quem não consegue gravar o attiny na IDE 1.0, eu estou deixando a pasta "attiny85" no link abaixo. É só descompactá-lo na pasta "hardware" do diretório do arduino.
attiny85.zip
quinta-feira, 27 de dezembro de 2012
terça-feira, 25 de dezembro de 2012
Cronograma do Curso
Fiz um cronograma básico do que pretendo abordar neste blog em relação à programação do AVR.
Entre cada módulo pretendo postar também, outros materiais como por exemplo de como criar gravadores HVPP e HVSP para fazer o reset de fuses para os microcontroladores, assim como outros circuitos que possam ajudar no aprendizado.
Espero também receber a colaboração de vocês com sujestões e críticas para que possamos crescer juntos nesse processo de aprendizagem.
Até o próximo post...
* Programando o AVR
Tipos de programadores
O Arduino como programador
* O AVR Studio 6
Criar um programa no AVR Studio
Configurando o AVR Studio
Introdução à simulação com o Proteus
* Configuração de pinos
Ports
Registradores e números hexadecimais
Output, input e input com pullup
* Criando o primeiro programa
Blink
Configurando o Clock de Operação
Operações bit a bit
Fazendo o upload do programa
* Leitura de estado dos pinos
Adicionando um botão
Entendendo o Debounce
* Variáveis
Declarando uma variável
Tipos de dados
* Laços de repetição e Controle de Execução
if
if else
for
while
do while
switch case
goto
* Funções
Criando uma função
Passando parâmetros à uma função
Retornando valores
* Timers
Fazendo o blink sem delay
* Interrupções
Interrupção Externa
Interrupção de periféricos
* Criando Bibliotecas
Interfaceando um LCD
Imprimindo uma strimg
Imprimindo um número
* Indrodução ao ADC
Potenciômetros e divisores de voltagem
Lendo valores de 10 bits no ADC
Usando a velocidade máxima do ADC
Interrupção do ADC
* Introdução ao PWM
Modos de PWM
Controlando um Servo
Controlando vários Servos
* Comunicação Serial - UART
Configurando o módulo UART
Crirando uma biblioteca Serial
* Comunicação I2C
Configurando o módulo I2C
Criando uma biblioteca para o I2C
O expansor de portas PCF8574
* Comunicação SPI
Vantagens e desvantagens da SPI
Configurando o módulo SPI
Criando uma biblioteca
O shift register 74HC595
O expansor MCP23S17
* Iniciação à programação C++
Vantagens da programação C++ em relação à C
Criando objetos
Sobrecarga de Funções
Migrando bibliotecas C para o C++
Entre cada módulo pretendo postar também, outros materiais como por exemplo de como criar gravadores HVPP e HVSP para fazer o reset de fuses para os microcontroladores, assim como outros circuitos que possam ajudar no aprendizado.
Espero também receber a colaboração de vocês com sujestões e críticas para que possamos crescer juntos nesse processo de aprendizagem.
Até o próximo post...
* Programando o AVR
Tipos de programadores
O Arduino como programador
* O AVR Studio 6
Criar um programa no AVR Studio
Configurando o AVR Studio
Introdução à simulação com o Proteus
* Configuração de pinos
Ports
Registradores e números hexadecimais
Output, input e input com pullup
* Criando o primeiro programa
Blink
Configurando o Clock de Operação
Operações bit a bit
Fazendo o upload do programa
* Leitura de estado dos pinos
Adicionando um botão
Entendendo o Debounce
* Variáveis
Declarando uma variável
Tipos de dados
* Laços de repetição e Controle de Execução
if
if else
for
while
do while
switch case
goto
* Funções
Criando uma função
Passando parâmetros à uma função
Retornando valores
* Timers
Fazendo o blink sem delay
* Interrupções
Interrupção Externa
Interrupção de periféricos
* Criando Bibliotecas
Interfaceando um LCD
Imprimindo uma strimg
Imprimindo um número
* Indrodução ao ADC
Potenciômetros e divisores de voltagem
Lendo valores de 10 bits no ADC
Usando a velocidade máxima do ADC
Interrupção do ADC
* Introdução ao PWM
Modos de PWM
Controlando um Servo
Controlando vários Servos
* Comunicação Serial - UART
Configurando o módulo UART
Crirando uma biblioteca Serial
* Comunicação I2C
Configurando o módulo I2C
Criando uma biblioteca para o I2C
O expansor de portas PCF8574
* Comunicação SPI
Vantagens e desvantagens da SPI
Configurando o módulo SPI
Criando uma biblioteca
O shift register 74HC595
O expansor MCP23S17
* Iniciação à programação C++
Vantagens da programação C++ em relação à C
Criando objetos
Sobrecarga de Funções
Migrando bibliotecas C para o C++
Introdução
Olá à todos. Hoje estou iniciando este blog para compartilhar minhas aventuras nesse fantástico mundo da eletrônica. Vou tentar trazer aqui, vários materiais relacionados à eletrônica mas meu foco principal será programação de microcontroladores, em especial, os AVR da ATMEL. Escolhi os AVR porque eles possuem uma boa relação custo/benefício, são rápidos e possuem uma poderosa IDE de desenvolvimento, o AVR Studio 6, que é gratuito e pode ser baixado no site da ATMEL. A princípio, vou me focar no ATmega328, que por ser usado no arduíno, se tornou muito popular. Esse microcontrolador possui vários periféricos tais como SPI, UART, I2C entre outros, o que o torna bem completo e perfeito para iniciar o aprendizado. Conforme for avançando, irei migrando de microcontroladores, tanto para microcontroladores mais robustos, quanto para alguns mais simples. Por hoje foi só essa introdução mas em breve voltarei com alguns tutoriais.
Assinar:
Postagens (Atom)