CrossPack for AVR® Development

Para quem está procurando um ambiente de desenvolvimento em C/C++ para AVR no Mac , o Crosspack for AVR é uma boa opção gratuita.

O Crosspack for AVR vem com todos os programas necessários para compilar e gravar a memoria flash do microcontrolador, na linha do finado WinAVr. Voce pode fazer tudo via linha de comando ou pode usa-lo integrado ao XCode, o ambiente de desenvolvimento oficial do Mac OSX. O pacote tem tido atualizações anuais e a ultima é de fevereiro de 2012. O pacote possibilita a geração de código executável para todos os tipos de AVR 8 bits incluindo os XMega.

Uma funcionalidade interessante é o comando “avr-project”  , usado para gerar um template de projeto , contendo um arquivo main.c , um Makefile inicial e as definições de um projeto Xcode. O Makefile gerado é bem completo ,  contendo o necessário para a geraçao do código hex e bem comentado, com as opções de modificação.

Para quem está no Mac e não está querendo instalar uma maquina virtual windows só para rodar o AVR Studio 5 ou 6 ( MS Visual Studio for AVR) , o Crosspack for AVR é uma opção muito interessante.

Link:

CrossPack for AVR : http://www.obdev.at/products/crosspack/index.html

Artigos sobre programação em C para AVR

Dean Carrera é um cara famoso no mundo dos AVRs, foi estagiário e é hoje engenheiro contratado da  na ATMEL Noruega e durante a sua graduação, criou o projeto LUFA que teve sucesso na criação de um stack USB para controladores AVR dotados de interface USB no proprio chip. Este projeto foi usabo como base em diversos dispositivos e foi recentemente portado para os ARMs da NXP.

O que interessa para este post é que recentemente ele disponibilizou em seu site uma série de artigos sobre programação em C para AVRs focando em caracteristicas do hardware, muito interessantes para quem está querendo conhecer mais sobre o desenvolvimento para esta arquitetura.

Links:

Artigos sobre C no AVR: http://fourwalledcubicle.com/AVRArticles.php

LUFA: http://fourwalledcubicle.com/LUFA.php

The Heart of Cortex

A NXP e a distribuidora alemã EBV Elektronik, estão patrocinando um concurso de projetos baseados em controladores ARM-Cortex. Para os participantes estão sendo oferecidos kits grátis contendo uma amostra de um chip Cortex-M0, um LPCXpresso LPC1114 e mais alguns componentes para avaliação.  Inscreva o seu projeto e concorra a uma bicicleta elétrica e cupons de desconto para produtos da Apple.

Boa Sorte !!

Link:

NXP & EBV: The Heart of Cortex : http://www.ebv.com/index.php?id=1479

Posts Relacionados:

Embedded, I’m Bad , mBed

Software Defined Radio de baixo custo

Desde fevereiro ,está acontecendo uma movimentação interessante no hardware para os  SDRs (Software Defined Radios): descobriram que os dados enviados pelos receptores de TV com interface USB de baixo custo , com chipset Realtek RTL2832U , podem ser usados como receptores genéricos de ondas de rádio na faixa de 64 MHZ até 1.7GHZ. Os dados crus recebidos pelo receptor são enviados para o computador e podem ser tratados digitalmente pelo software GNU-Radio.

Desta forma é possivel criar analisadores de espectro , receptores que podem receber e tratar dados de celulares GSM , estacoes AM , FM , relogios , alarmes e sensores . So não é muito molezinha de fazer, é preciso conhecer DSP e calculo mas existem diversos tutoriais e exemplos na internet para ajudar. A grande novidade é que os hardwares que existiam para isso custavam na faixa de 1000 dolares e uma TV USB custa 20 dolares nos distribuidores chineses.

Links:

Definição de SDR na Wikipedia: http://en.wikipedia.org/wiki/Software_radio

GNU Radio : http://gnuradio.org/redmine/projects/gnuradio/wiki

Osmocom SDR , criadora do driver rtl-sdr: http://sdr.osmocom.org/trac/wiki/rtl-sdr

PDF explicando o que é SDR : http://www.flex-radio.com/Data/Doc/qex1.pdf

Arduino minimo sem cristal

Durante o 1o. Encontro Open Hardware de Brasilia, O Isaias Coelho fez uma apresentação sobre as suas experiencias com o Arduino Minimo Standalone, basicamente um microcontrolador atmega8/168 ou 328 montado em um breadboard, possibilitando começar a brincar com o arduino por um custo minimo. Gostei muito da apresentação mas fiquei pensando se não poderia usar menos componentes. Sabia que os ATMEGAs possuem um gerador de clock interno ao microcontrolador , que podem gerar clocks de 1,4 e 8 Mhz e que o kit Lilypad ja tinha ido por essa linha de desenvolvimento há algum tempo atrás.

Configurar o atmega é tranquilo , é só alterar os fuses , o maior trabalho é gerar o bootloader e configurar a ide do arduino para trabalhar corretamente com o novo Arduino. Comecei a pesquisar sobre o assunto, achei diversas referencias na internet sobre o assunto e usei principalmente os experimentos do blog ( muito interessante !!) do todbot que já realizou esta implementação em 2009. Coloco aqui o resumo da implementação do meu Arduino minimo sem cristal.

O circuito.

O circuito é praticamente apenas o microcontrolador ATMEGA 8. Adicionei um resistor de 10k do pino de reset para o VCC , um resistor de 330 ohms e um led para ligar ao pino pb.5 que equivale ao pino digital 13 do Arduino para testar o funcionamento do arduino com o programa Blink. Para alimentar o circuito usei uma bateria CR2032 de 3 Volts, destas usadas em relógios, já que o ATMEGA 8 comum precisa de uma alimentação minima de 2.7 volts.

Os fuses.

Os fuses do ATMEGA 8 devem ser setados como: HighFuses = OXC4 , LowFuses=0XE4. Esta configuração garante principalmente a velocidade de 8MHz e que um bootloader estará presente neste ATMEGA 8

O bootloader.

Usei o bootloader antigo do Arduino usado nas versões com ATMEGA 8. Neste bootloader foram alterados a velocidade de funcionamento para 8 Mhz. Os arquivos para download estão no meu github nos links no final do post.  Para gravar o bootloader usei o programa Avr Studio 4 da Atmel e um kit STK500 mas existem diversas outras formas de grava-lo das mais simples com um cabo ligado a porta paralela até programadores mais sofisticados. Apos gravar o bootloader é so montar  na breadboard. O blog do Daniel Quadros fez uma serie de posts sobre os programadores mais usados, links no final deste post.

A IDE Arduino.

A IDE foi modificada com a colocação da configuração do novo tipo de Arduino no arquivo boards.txt. Os parâmetros configurados indicam qual é o chip usado , sua freqüência de funcionamento, qual a velocidade de comunicação para a gravação dos sketches , etc. O código a ser adicionado está também no github. Nas versões da IDE Arduino para Windows e Linux é só acessar o arquivo boards.txt no diretório arduino00xx/hardware/boards.txt. No MAC OS X, o arquivo boards.txt fica dentro do Arduino.app . É necessario acionar o Finder , posicionar-se no diretório de Aplicativos e  abrir o Arduino.app com a opção “Mostrar o conteudo do pacote” ,  abrir o arquivo boards.txt no diretório Arduino.app/Contents/Resources/Java/ hardware/arduino e edita-lo.

Como transmitir o sketch  o Arduino.

Este Arduino minimo não tem USB, como conversar com ele ? A opção mais simples é usar uma placa arduino ng, duemilanove ou outra com interface USB que voce ja tenha: tire o chip Atmega da placa e ligue da seguinte forma:

  • pino 2 do ATMEGA8 (RXD)  na saída D0 do Arduino
  • pino 3 do ATMEGA8 (TXD) na saída D1 do Arduino
  • pino 7 do ATMEGA8 (VCC) na saída 5V do Arduino
  • pino 8 do ATMEGA8 (GND) na saída 0V do Arduino

Os testes.

Para testar usei o famoso sketch Blink. Para gravar o programa é preciso um certo macete ja que esta versão do bootloader não tem suporte para o reset, via ide dos Arduinos mais novos . Assim que voce mandar fazer o upload do código compilado, dê um reset no arduino , desligando e religando ou dando um curto rapido do pino 1 com o terra causando um reset no atmega. Depois de um curto tempo a comunicacao do ATMEGA8 com o pc se inicia, e a carga do programa é concluida com sucesso.

Conclusões.

Esta, eu acredito que é a forma mais barata de ter um Arduino para testar em protótipos. Esta opção é interessante para montagem em workshops para iniciantes, já que diminui o numero de erros possíveis de acontecer. Outro uso é principalmente para quem fez um upgrade em seu Arduino para Atmega168 ou 328 e ficou com o ATMEGA8 de bobeira em casa . Esta versão também pode servir como base para projetos definitivos de dispositivos onde o timing da aplicação não seja critico e a facilidade de programação proporcionada pela IDE Arduino seja um diferencial para o projeto. Eu estou experimentando esta versão em um controlador de automação residencial e os resultados são muito interessantes. Esta mesma situação pode ser adaptada para uso com ATMEGAs 168 e 328 , ajustando os devidos fuses para os chips, tendo como conseqüência uma area de memoria maior para os sketches.

Divirtam-se !!
Links :
Posts relacionados:
Downloads:

Novo Arduino com Ethernet Incorporada

Arduino com Ethernet
Arduino com Ethernet

Adafruit lançou um novo Arduino, resultado da junção do UNO com um shield ethernet. A nova placa incorpora uma interface ethernet baseada no Wiznet W5100, mesmo chip do shield ethernet “oficial” e de brinde acrescentou um socket para memorias SD.  Este novo Arduino não possui USB e precisa de um cabo USB-TTL para ser programado.

Por 65 obamas, está mais caro que um mBed ( kit ARM da NXP com lpc1768, ethernet, 2 usb, 3 seriais , …)   mas não deixa de ser interessante pelo tamanho compacto.

Links:
Arduino Uno Ethernet

Post Relacionado:
Embedded, I’m Bad , mBed

Hardware Livre no Flisol 2011 Rio de Janeiro

l

No próximo dia 9 de abril vai acontecer na UNIRIO – URCA a edição carioca do maior evento de divulgação de software livre da América Latina: o FLISOL (Festival Latino Americano de Instalação de Software Livre). O FLISOL2011 RJ é organizado pelo SoftwareLivre-RJ.org, trazendo voluntários para realizar instalações de Software Livre nos computadores dos visitantes do FLISOL2011. A participação no FLISOL2011 é totalmente gratuita e aberta à comunidade.

As comunidades de Hardware Livre do Rio de Janeiro, ArduInRio e BeagleBoardInRio estarão presentes com workshops e palestras. Destaques para a palestra sobre Arduino, apresentada pelo Alvaro “Turicas” Justen de (08:00 as 09:00 na sala A) e o Workshop de Arduino a ser realizado pelo pessoal do ArduInRio .

Não Percam !!

Link:

FLISOL 2011 Rio de Janeiro

Atmel AVR Studio 5

A Atmel (fabricante do AVR32 e do ATMega8/168/328 usado no Arduino) liberou ontem , 01 de março de 2011 , a versão beta 2 do seu studio integrado de desenvolvimento de aplicações, AVR Studio. A nova versão traz muitas novidades , entre elas a integração na mesma ferramenta do desenvolvimento para os AVRs de 8 bits e 32 bits,  a integração do compilador baseado em GNU C/C++ Compiler, simulador e bibliotecas prontas para acesso aos recursos dos microcontroladores. O AVR Studio 5 disponibiliza integração com os diversos programadores existentes para a familia AVR.

Em conjunto com o Atmel AVR Studio 5,  A Atmel está fornecendo o AVR Software Framework, um conjunto de bibliotecas de códigos fonte para os AVR de 8 e 32 bits , com aproximadamente 400 exemplos de utilização dos periféricos internos dos microcontroladores e de componentes externos ligados a eles. Este framework visa acelerar o desenvolvimento de aplicações e dispositivos baseados nos AVR.

Até o momento não existe menção a este ambiente vir a ser vendido e deverá manter a tradição da Atmel de fornecer boas ferramentas de desenvolvimento gratuitas. O arquivo de instalação do software tem tamanho de 548 Mbytes, ocupa aproximadamente 1,5 Gbyte depois de instalado e ontem no dia de lançamento levou 4 horas para descer, em um link de 10 MBps.

A nota destoante é que a ferramenta só foi lançada na versão Windows (ela é dependente do .NET Framework e do Visual Studio Isolated Shell), esquecendo os usuários Mac e Linux, que terão de apelar para o VirtualBox , VMWare e outros para usar o ambiente.

Vamos aproveitar o carnaval ( até parece !!!) vendo o que realmente funciona nesta versão beta.

Links:

Anuncio da versão 5 do Atmel AVR Studio 5

Pagina para download do Atmel AVR Studio 5