quinta-feira, 18 de junho de 2009

Utilizando o Bootloader do Arduino com Bascom-AVR

Vou explicar como é possível utilizar a placa do Arduino & Bascom-avr via porta USB.

Após ver na internet alguns fóruns falando tão bem do Arduino eu comprei uma placa e comecei a testá-la, é muito interessante o programa é baseado em C e Processing, a placa é muito bem fabricada e é programada via serial ou USB, tem todos os pinos do Atmega168 disponíveis em conectores, tem muitas placas de expansão a venda na internet aumentando a possibilidade de utilizar comercialmente.
Mas devido à demora em dominar o programa eu tive a idéia de utilizar o Bascom, pois já o utilizo com muita frequência, também encontrei o problema de tamanho do programa gerado pelo compilador do Arduino era muito maior que os gerados em Bascom, então após alguns testes eu descobri que o Arduino utilizava o Avrdude para gravar o Atmega ai tudo ficou mais fácil.

Para que a Avrdude grave um Atmega teria que enviar os parâmetros de configuração.
Ex. vrdude.conf -p m168 -b 19200 -c stk500v1 -F –P...........

Mas como fazer o Bascom enviar estes dados? A solução que encontrei foi criar um arquivo .bat que carregasse o Hex criado no Bascom e as configurações para o Avrdude gravar o
Atmega168.

Para criar este arquivo eu fiz um programa em VB, este programa alem de gravar o arquivo bat com as configurações, também seleciona a porta serial destinada ao Arduino e salva na pasta C:/AvrDude/ é super simples de utilizar....

Após algumas explicações vamos ao que interessa...........

Para poder utilizar o Bascom e o Arduino será necessário baixar os arquivos relacionados abaixo.



5 comentários:

  1. Olá Mauricio

    Parabéns pelo EXCELENTE trabalho. Fiz vários testes e funcionou de primeira. Só não fiz teste para o ATmega328p, eu não disponho do arquivo m328pdef.dat. Vc sabe qual versão do Bascom-AVR que te esse arquivo.
    Outra coisa, tomei a liberdade de socializar o seu trabalho com os amigos da www.lusorobotica.com.

    Um forte abraço
    Ailton

    ResponderExcluir
    Respostas
    1. Boa tarde!

      Acabei de ver esse tutorial mas não encontrei os arquivos mencionados. Voce os tem?

      Excluir
  2. Ora viva!
    Excelente trabalho, amigo!
    Já experimentou com o Arduino Mega, ATmega1280?

    Cumprimentos,
    Luís

    ResponderExcluir
  3. Ora viva!
    Andei a testar e vou deixar aqui a configuração para usar o Arduino MEGA! Bastará alterar o script .bat que invoca o AVRDude e tudo o resto mantém-se igual.

    Os pârametros de ligação ao Arduino MEGA são os seguintes:
    - Device: m1280
    - Controller: stk500v1
    - Baud: 57600

    Portanto, fazer o procedimento aqui acima e na parte do ficheiro .bat, colocar:

    C:\avrdude\tools\avr\bin\avrdude -CC:\avrdude\tools\avr\etc\avrdude.conf -pm1280 -cstk500v1 -P\\.\COM8 -b57600 -D -Uflash:w:%1:i

    E pronto... é só testar como demonstrado aqui...

    Abraço!
    Luís Gonsalves

    ResponderExcluir
  4. Achei barbaro! Mas onde estão os arquivos?

    ResponderExcluir