Mensagem

"Sonhar mais um sonho impossível, lutar quando é fácil ceder, vencer o inimigo invencível, negar quando a regra é vender."
Miguel de Cervantes.

"Os microprocessadores RISC funcionam a partir do princípio genial de se encarregar das coisas mais fáceis e deixar todas as partes difíceis para outras pessoas resolverem."
Douglas Adams.

Gravando o Bootloader do Arduino no ATmega328

Para substituir o ATmega do Arduino é necessário gravar nele o Boot loader. Isso é feito externamente com um gravador In-System (conectado no Arduino na barra de pinos ICSP). Nesse caso, é necessário o uso de um gravador. Caso se deseje utilizar o Arduino para gravar um ATmega isso também é possível (existem explicações na internet). Não é possível substituir o ATmega original do Arduino por outro que não contenha o chamado programa de Boot loader (ver explicação abaixo).

Boot loader é um pequeno programa escrito no final da memória de programa e serve para que o microcontrolador gerencie a gravação de sua memória. Para tal, é necessário uma interface de comunicação externa com o software de desenvolvimento. Isso é feito através da USART, por isso os pinos RX e TX do ATmega328 (pinos 0 e 1 no Arduino, respectivamente) são conectados ao conversor Serial/USB (da placa do Arduino) para comunicação com o computador. Obs.: é possível utilizar o conversor Serial/USB do Arduino para outra atividade, basta retirar o ATmega328 do soquete ou configurar os pinos 0 e 1 para serem entradas (alta impedância). Dessa forma, os pinos RX e TX do conversor podem ser acessados externamente (pinos 0 e 1).

Para gravar o Boot loader no ATmega328 é necessário seguir os seguintes passos (é necessário saber o que isso significa e ter um programa adequado para a gravação, ver marcador Gravação Arduino): 

1 - gravar os Fuses: 
   EXTENDED BYTE = 0xFD
   HIGH BYTE = 0xDE
   LOW BYTE = 0xFF 

2 - gravar a memória flash (programa de boot loader *.hex), encontrado, por exemplo, em:
C:\arduino-1.0.1\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex 
Válido para o Arduino UNO

3 - gravar os LOCK BITS (valor 0xCF)

Mini Curso de Arduino com Bluetooth

Este mini curso trata do uso da comunicação sem fio Bluetooth pelo Arduino. Explico como utilizar um modelo de Bluetooth Shield, incluindo sua configuração como Mestre/Escravo e o emprego para a comunicação com um computador ou dispositivo portátil com Android (tablet ou celular). Este mini curso  foi ministrado na semana comemorativa dos 25 anos do Dept. de Eletrônica do IFSC.


Aqui alguns programas auxiliares.

Mini Curso de Arduino Básico

Este mini curso destina-se ao público leigo no Arduino, trata do acionamento de LEDs, leitura de botões, comunicação serial e leitura de grandezas analógicas. Foi ministrado na semana comemorativa dos 25 anos do Dept. de Eletrônica do IFSC.


Instalando o Arduino no Atmel Studio

É possível gravar e programar diretamente o Arduino no Atmel Studio. A configuração do Atmel Studio é uma tarefa árdua, com inúmeros passos, mas vale a pena poder gravar diretamente o Arduino sem depender de um programa externo, não  há a necessidade de procurar o arquivo *.hex, tudo é feito automaticamente.



Abaixo a forma simplificada e mais eficiente:
http://omarfrancisco.com/arduino-programing-using-atmel-studio-6-0/

Nestes dois vídeos um processo mais longo:
http://www.youtube.com/watch?v=F74khQnh9pM
http://www.youtube.com/watch?v=qEcWR5EUNdk

Como eu não sou expert no assunto, se precisares de ajuda será necessário consultar algum dos autores dos  posts supracitados.

Estruturação e Criação de um Projeto no Atmel Studio

Quando se programa é fundamental dar manutenção e portabilidade ao programa. Isso é feito ao se estruturar o código de programação através de arquivos de programação separados por funcionalidade, os *.h (arquivos de cabeçalho) e respectivos *c (arquivo com as funções). No vídeo abaixo eu explico como fazer isso, aplicado aos arquivos da pasta de PROGRAMAS do livro AVR e Arduino: Técnicas de Projeto.
Também, como utilizar o arquivo *.hex para simulaçao no Proteus.

Exemplo da estruturação de um suposto projeto fonte_digital (livro AVR e Arduino: Técnicas de projeto).




ENGENHARIA ELETRÔNICA NO IFSC!!!

Agora é oficial, teremos Engenharia Eletrônica no Dept. de Eletrônica do Campus Florianópolis do IFSC a partir de 2013/1.
Com um corpo docente altamente capacitado e adaptável às mudanças tecnológicas, sem dúvida, a engenharia eletrônica do IFSC será uma das melhores do país!

Confira o Planejamento Pedagógico do Curso e a sua Grade Curricular. Inscrições no site ingresso.ifsc.edu.br. Para maiores informações envie um e-mail para eng.eletronica@ifsc.edu.br




Depuração de um programa Assembly no Atmel Studio

Para a compreensão do funcionamento do ATmega é primordial  utilizar a depuração do ambiente de programação. Para exemplificar isso, em um vídeo apresento a analise de um programa Assembly simples para ligar e desligar um LED quando um botão é pressionado. Utilizo o Atmel Studio 6, mas poderia ser o AVR Studio 5.


Livro - AVR e ARDUINO: TÉCNICAS DE PROJETO

IT´S TIME TO ROCK THE MICROCONTROLLER TEACHING!


Esta obra foi desenvolvida como referência para projetistas de sistemas microcontrolados e como livro texto para áreas afins.

Apresenta:

* Um grande conjunto de técnicas de projetos eletrônicos e de programação para o emprego com microcontroladores. Dentre os assuntos abordados, destacam-se:
*  displays de 7 segmentos;
*  LCDs alfanuméricos (16x2) e gráfico (128x64);
*  teclado matricial;
*  geração de sinais PWM;
*  módulo de ultrassom;
*  motores DC de baixa potência para eletrônica digital;
*  conversores CC-CC e CC-CA;
*  cartão SD;
*  RTOS;
*  técnicas de multiplexação;
*  matriz e cubo de LEDs;
*  I2C como máquina de estados;
*  comunicação serial com computador;
*  comunicação sem fio (RF básico e Bluetooth);
*  técnicas para uso com o conversor AD;
*  técnicas para a conversão DA simples;
*  programação C com assembly;
*  técnicas para o desenho de placas de circuito impresso.

* Detalhes do ATmega328 para trabalho com a plataforma Arduino, permitindo explorar suas características (facilidade de uso,  aquisição e disponibilidade de inúmeros módulos de expansão).
*  Um software para simulação de circuitos microcontrolados.
*  Amplo conjunto de exercícios.
-----------------------------------------------------------
DOWNLOAD: Sumário, Programas (5/11/15), Figuras e Exercícios.

VERSÃO COMPLETA em PDF aqui !!!
-----------------------------------------------------------

P/ + detalhes ou compra clique na figura abaixo
(também vendido aqui).


 NOT DESIGNED FOR DUMMIES
C Programming for AVR Studio.

-----------------------------------------------------------

ERRATAS OU COMENTÁRIOS:

-----------------------------------------------------------

Nos programas, se for utilizado o Atmel Studio 6 ou AVR Studio 5.1 e houver erro de compilação, quando aparecer prog_char é necessário substituí-lo por PROGMEM const char.

---------------------------------------------------------
Na pg. 158 a Tab. 6.1 esta errada, a correta possui endereçamento duas vezes maior, consequentemente as referências aos endereços das interrupções estão incorretas, favor consultar o datasheet do ATmega328.
---------------------------------------------------------
Na Fig. 6.1 (pg. 162) existe duplicidade da chave para o TWI, uma deve ser do ADC. Aqui a figura corrigida com o reajuste das chaves. 
---------------------------------------------------------
Na Fig. 9.12 (pg. 224) o sinal de 60 Hz deve estar conectado ao pino PD5 (T1) e não PD3. Aqui a figura corrigida. 
-----------------------------------------------------
No Capítulo 6 a Tab. 6.1 (pg. 158) e pg. 160 contém os endereços  de interrupção do ATmega88 e não do ATmega328, os endereços crescem de dois em dois e não de um em um. 

RESUMO DOS REGISTRADORES DE I/O DO ATMEGA328

Para o programador do ATmega328 é muito importante ter um resumo dos registradores de I/O, permitindo a programação das características desejadas de forma rápida e precisa.
Dessa forma, aqui disponibilizo o documento para os aventureiros e profissionais da área.

How to read one 220V switch with a uController?


This is a interesting circuit  to read one switch on AC power. Also can be used to read the frequency of an AC signal (a schmitt trigger can be needed). It´s based on an optoacopler IC to isolate and to convert the AC signal into a DC signal.

 

Identificando Resistores SMD

Neste caso, uma imagem vale mais que mil palavras.

Identificando Resistores PTH

A identificação de resistores PTH (Plated-Through-Hole) é feita de acordo com as faixas de cores que o mesmo possui, as quais definirão o valor do resistor e sua tolerância, conforme demonstrado pela figura abaixo e exemplo (aqui).


Quando se emprega resistores é necessário utilizar algum valor comercial, dado pela diferente série a qual ele pertence. Uma das mais comuns é a E24, conforme apresentado abaixo.
Dependendo do projeto será necessário resistores de precisão, tanto para o seu valor quanto para variações deste com a temperatura. As séries servem para indicar os valores que o projetista irá encontrar sem necessitar associar resistores.
Os resistores poderão ter valores múltiplos de 10 das séries comerciais, como por exemplo:
Série E24: 1.2 Ohm, 12 Ohm, 120 Ohm, 1k2 Ohm, 12k Ohm, 120k Ohm, 1M2 Ohm, 12M Ohm e 120M Ohm.


RESISTORES DE 4 FAIXAS

Série E6:
1.0, 1.5, 2.2, 3.3, 4.7, 6.8

Série E12:
 1.0, 1.2, 1.5, 1.8, 2.2, 2.7, 3.3, 3.9, 4.7, 5.6, 6.8, 8.2

Série E24 (tolerância +- 5%):
 1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.3, 4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, 9.1

RESISTORES DE 5 FAIXAS

Série E48:
1.00, 1.05, 1.10 ,1.15, 1.21, 1.27, 1.33, 1.40, 1.47, 1.54, 1.62, 1.69, 1.78, 1.87, 1.96, 2.05, 2.15, 2.26, 2.37, 2.49, 2.61, 2.74, 2.87, 3.01, 3.16, 3.32, 3.48, 3.65, 3.83, 4.02, 4.22, 4.42, 4.64, 4.87, 5.11, 5.36, 5.62, 5.90, 6.19, 6.49, 6.81, 7.15, 7.50, 7.87, 8.25, 8.66, 9.09, 9.53

Série E96 (tolerância +- 1%):
1.00, 1.02, 1.05, 1.07, 1.10, 1.13, 1.15, 1.18, 1.21, 1.24, 1.27, 1.30, 1.33, 1.37, 1.40, 1.43, 1.47, 1.50, 1.54, 1.58, 1.62, 1.65, 1.69, 1.74, 1.78, 1.82, 1.87, 1.91, 1.96, 2.00, 2.05, 2.10, 2.15, 2.21, 2.26, 2.32, 2.37, 2.43, 2.49, 2.55, 2.61, 2.67, 2.74, 2.80, 2.87, 2.94, 3.01, 3.09, 3.16, 3.24, 3.32, 3.40, 3.48, 3.57, 3.65, 3.74, 3.83, 3.92, 4.02, 4.12, 4.22, 4.32, 4.42, 4.53, 4.64, 4.75, 4.87, 4.99, 5.11, 5.23, 5.36, 5.49, 5.62, 5.76, 5.90, 6.04, 6.19, 6.34, 6.49, 6.65, 6.81, 6.98, 7.15, 7.32, 7.50, 7.68, 7.87, 8.06, 8.25, 8.45, 8.66, 8.87, 9.09, 9.31, 9.53, 9.76

Série E192:
1.00, 1.01, 1.02, 1.04, 1.05, 1.06, 1.07, 1.09, 1.10, 1.11, 1.13, 1.14, 1.15, 1.17, 1.18, 1.20, 1.21, 1.23, 1.24, 1.26, 1.27, 1.29, 1.30, 1.32, 1.33, 1.35, 1.37, 1.38, 1.40, 1.42, 1.43, 1.45, 1.47, 1.49, 1.50, 1.52, 1.54, 1.56, 1.58, 1.60, 1.62, 1.64, 1.65, 1.67, 1.69, 1.72, 1.74, 1.76, 1.78, 1.80, 1.82, 1.84, 1.87, 1.89, 1.91, 1.93, 1.96, 1.98, 2.00, 2.03, 2.05, 2.08, 2.10, 2.13, 2.15, 2.18, 2.21, 2.23, 2.26, 2.29, 2.32, 2.34, 2.37, 2.40, 2.43, 2.46, 2.49, 2.52, 2.55, 2.58, 2.61, 2.64, 2.67, 2.71, 2.74, 2.77, 2.80, 2.84, 2.87, 2.91, 2.94, 2.98, 3.01, 3.05, 3.09, 3.12, 3.16, 3.20, 3.24, 3.28, 3.32, 3.36, 3.40, 3.44, 3.48, 3.52, 3.57, 3.61, 3.65, 3.70, 3.74, 3.79, 3.83, 3.88, 3.92, 3.97, 4.02, 4.07, 4.12, 4.17, 4.22, 4.27, 4.32, 4.37, 4.42, 4.48, 4.53, 4.59, 4.64, 4.70, 4.75, 4.81, 4.87, 4.93, 4.99, 5.05, 5.11, 5.17, 5.23, 5.30, 5.36, 5.42, 5.49, 5.56, 5.62, 5.69, 5.76, 5.83, 5.90, 5.97, 6.04, 6.12, 6.19, 6.26, 6.34, 6.42, 6.49, 6.57, 6.65, 6.73, 6.81, 6.90, 6.98, 7.06, 7.15, 7.23, 7.32, 7.41, 7.50, 7.59, 7.68, 7.77, 7.87, 7.96, 8.06, 8.16, 8.25, 8.35, 8.45, 8.56, 8.66, 8.76, 8.87, 8.98, 9.09, 9.19, 9.31, 9.42, 9.53, 9.65, 9.76, 9.88.