FLISOL-DF 2012

O evento deste ano aconteceu durante o dia 28 de abril na faculdade Anhanguera de Taguatinga. Muita gente inscrita , diversas apresentaçoes interessantes e a grande novidade deste ano foi uma sala praticamente dedicada ao Open Hardware.

Os integrantes dos grupos de discussão open-hardware-brasilia e arduino-brasilia apresentaram o conceito de open-hardware, arduino , climaduino , novas formas de comunicação e o projeto seminal Monitora Cerrado , pai de todos os projetos de monitoramento climático que estão em execução aqui no centro-oeste.  A sala esteve cheia em todas as apresentações com muita gente interessada e que saiu de lá pronta para comprar ou montar o seu primeiro Arduino.

O evento deste ano foi de especial emoção para este blogueiro que lhes escreve: há uns cinco anos atrás quando comecei a fazer apresentações sobre o assunto , as salas normalmente tinham cinco , seis pessoas dos quais a metade era de amigos. Depois de uns 10 minutos chegavam algumas pessoas perdidas que entravam na sala e iam ficando até o final. Este ano as apresentações  já começavam em média com 100 pessoas sentadas e que tinham uma noção básica do que se tratava. Foi excelente a receptividade.

Parabens Professor Ronald e equipe Flisol-DF !

Parabens Isaias e Webert pelas apresentações , agradecimentos ao Luiz Ferreira e ao Fabio pelo suporte e em especial ao amigo Alessandro Leite , um cara que fala pouco e que escreve muito ( principalmente Java) pela participação nas apresentações de Open Hardware nas edições do FLISOL-DF.

Links:

FLISOL-DF 2012 : http://flisoldf.blog.br/2012/

Posts Relacionados:

BlogdoJe no Flisol 2008

BlogdoJe leva Arduino e Beagleboard ao FLISOL-DF 2010

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

Arduino Shield List

Foi criada uma iniciativa interessante : a Arduino Shield List. O site Shieldlist.org catalogou dados de todas extensões (shields) conhecidas para o Arduino e as reuniu em uma base para consulta. No lado direito da pagina principal, estão listados os fabricantes e quantidade de shields que criaram. Ao clicar no link do fabricante são listados os shields fabricados e finalmente clicando no link do shield, vemos a foto da placa e a informação de quais pinos são utilizados pelo shield.

O trabalho é muito bom. Ainda não está completo ( e talvez nunca esteja …) mas já dá para ser usado como referencia. O criador aceita sugestões de novos shields para serem adicionados a base de dados. Faltam alguns melhoramentos , principalmente uma função de busca.

Link:

Arduino Shield List

Arduino 0019 liberada

A nova versão do Arduino , a 0019 , acaba de sair do forno.

Principais modificações :
* Biblioteca SPI.
* Refatoração da bilioteca Ethernet para usar a nova biblioteca SPI. Será necessário alterar os sketches já criados.
* Inclusão da classe StringString class
* A0, A1, etc. Aliases para os pinos de entrada analógicos
* Função shiftIn()
* Inclusão das placas Arduino Pro 5V and Arduino Fio ao menu de placas
* Inclusão de controle sobre o scrolling automatico e finalizadores de linha no monitor serial

Release notes da versão 0019:

[core / libraries]
* Revised Ethernet library (by Christian Maglie).  This depends on the new SPI library,
  so existing sketches will need: #include <SPI.h> added to the top of their code.
* Added an SPI library (by Christian Maglie).
  http://code.google.com/p/arduino/issues/detail?id=240
* Added aliases for the analog input pins: A0, A1, etc.
  http://code.google.com/p/arduino/issues/detail?id=244
* Added a String class.
* Added a shiftIn() function (from Wiring).
  http://code.google.com/p/arduino/issues/detail?id=280
* Updated version of Firmata supports Mega and capability querying.
* More accurate delay() function from BenF.
  http://code.google.com/p/arduino/issues/detail?id=237
* Re-enabling PWM after tone() ends.
  http://code.google.com/p/arduino/issues/detail?id=228
* Added Serial.peek() method.
  http://code.google.com/p/arduino/issues/detail?id=270
* Added Stream base class to Serial object (w/ available(), read() and
  the write(), print(), and println() functions from the Print class).
  http://code.google.com/p/arduino/issues/detail?id=60
* Disabling interrupts while digitalWrite() and pinMode() write to pins.
  http://code.google.com/p/arduino/issues/detail?id=146
* Replacing INTERNAL analog reference with INTERNAL1V1 AND INTERNAL2V56 on
  the Arduino Mega.  http://code.google.com/p/arduino/issues/detail?id=194

[environment]
* Added Arduino Fio to the boards menu.
* Added Arduino Pro and Pro Mini (5V / 16 MHz) to the boards menu.
  http://code.google.com/p/arduino/issues/detail?id=81
* Synchronized with the Processing 1.1 code base, bringing various changes.
* Modified the parsing of avr-gcc / avr-g++ output and error messages.
* Toggling RTS on upload for auto-reset with FTDI cables on Linux.
  http://code.google.com/p/arduino/issues/detail?id=309
* Adding control over scrolling in serial monitor.
  http://code.google.com/p/arduino/issues/detail?id=97
* Added drop-down for selecting line endings to the serial monitor.
  http://code.google.com/p/arduino/issues/detail?id=119
* Fixed problem with tabs of the same name but different extensions.
  http://code.google.com/p/arduino/issues/detail?id=191
* Allowing third-party hardware platforms to reference programmers defined
  in other platforms.  http://code.google.com/p/arduino/issues/detail?id=283

[examples]
* Re-organized and numbered for easier access and better progression.

Links:

Download da versão 0019:
Linux 32 bits: arduino-0019.tgz
Mac OS X: arduino-0019.dmg
Windows : arduino-0019.zip

II Workshop do Grupo Arduino-Brasilia

II Workshop do Grupo Arduino-Brasilia

Ontem , 28/08/2010,participei do segundo encontro do grupo Arduino Brasilia. Apareceram 18 pessoas e foi muito legal ver o interesse do pessoal pela plataforma. Os níveis de conhecimento eram muito variados: ia de primeiro contato com o Arduino até quem já está industrializando produtos com base no Arduino. Para nivelamento do grupo , o encontro de ontem acabou sendo uma introdução ao Arduino, já que a maioria do grupo estava vendo o dito cujo pela primeira vez.

II Workshop do Grupo Arduino-Brasilia

Fiz uma apresentação bem básica sobre a plataforma com uma introdução sucinta sobre eletrônica , a IDE do Arduino e a estrutura do código  e depois o Lucas Fragomeni fez demonstrações de uso de sensores, motores e o famoso led piscante (“Hello World”) do Arduino. Com isso, lá se foram 4 horas de muita troca de informações e aprendizado com uma galera muito motivada e participante. A principio devem ocorrer outros encontros, sempre no ultimo sábado de cada mês. Para ficar informado é só se inscrever na lista: http://groups.google.com.br/group/arduino-brasilia

Para quem sentia falta em Brasilia da movimentação que existe em São Paulo e Rio em torno do Arduino, está aí a oportunidade.

Participe !!

Arduino no CONSEGI 2010 em Brasilia

Acontecerá em Brasilia, no período de 18/08 a 20/08, o III Congresso Internacional de Software Livre e Governo Eletrônico – CONSEGI.

Neste Congresso aconteceram diversas palestras sobre software livre e  tecnologias  abertas e lá no dia 19/08 tem agendada uma palestra sobre “Hardware e Software Livres com Arduino” com o Alvaro Justen. Alvaro, mais conhecido Turicas, inventou o “Hack’n’Beer” no Rio de Janeiro, um encontro onde se troca informações sobre hardware, software sob a influencia etílica da cerveja. A confraternização deve ser ótima.

Não percam !!

Links:
III Consegi
Programação do CONSEGI
Blog do Turicas

Monte um Arduino Severino para chamar de seu

Cada vez que converso com os novos interessados no Arduino, a maioria quer usar um Arduino original , italiano com pedigree e atestado de origem ( invoice) . Mas, como todos ja sabem, é possivel montar o seu proprio Arduino , dá trabalho , exige o aprendizado de uma série de conhecimentos durante a “jornada” de montagem e depuração mas que no final, voce estará pronto paras as novas necessidades que surgirão depois que voce tiver completado o seu Arduino.

E onde entra o Severino ? O Arduino S3V3 , Severino , muito prazer, é uma versão melhorada do Arduino Single Side Serial desenvolvida pelo Adilson Akashi. Possui trilhas mais largas , bem distribuídas e que incorpora as novidades presentes nas versões USB mais recentes. Voce pode fazer a sua própria placa usando transferência témica por toner mais ferro de passar roupa, comprar os componentes e monta-la voce mesmo . O custo fica baixo . Segundo o Prof. Paulo Gonçalves da Universidade Estadual de Maringá , em seu ultimo levantamento determinou que o custo total do Severino ficaria em torno de R$ 28,00 reais incluindo o microcontrolador ATMEGA8. A planilha com o levantamento dos preços esta no link abaixo. A confecção da placa não é complicada mas voce terá que lidar com ácidos , ferros de passar roupa e furação da placa. É possivel comprar a  placa já pronta no ponto de só fazer a montagem, no mercadolivre aparecem de vez quando placas do severino para vender . De qualquer forma , o manual de montagem do severino apesar de bem básico , traz o desenho das placas, esquema e lista de componentes.

Montem , errem , consertem , o processo é bem simples . No inicio é provável que voce leve um dia para montar e depurar mas depois de uns 20 arduinos montados, voce conseguirá chegar perto das duas horas para coloca-lo em funcionamento.

Divirta-se !!!

Links:
Documentação Arduino Severino no site Arduino.cc
Planilha com preços dos componentes do Severino

Posts Relacionados:
Arduino Single-Sided Serial Board (versão 3) – Severino

Arduino 0019 RC1


Vem ai mais uma versão do ambiente do Arduino. A versão 0019 teve a Release Candidate RC1 liberada ontem.
As novidades até o momento são:

ARDUINO 0019 RC1
[core / libraries]

* Added aliases for the analog input pins: A0, A1, etc.
http://code.google.com/p/arduino/issues/detail?id=244

* Added a String class.

* Added an SPI library (by Christian Maglie).
http://code.google.com/p/arduino/issues/detail?id=240

* Revised Ethernet library (by Christian Maglie).

* Added a shiftIn() function (from Wiring).
http://code.google.com/p/arduino/issues/detail?id=280

* Updated version of Firmata supports Mega and capability querying.

* More accurate delay() function from BenF.
http://code.google.com/p/arduino/issues/detail?id=237

* Re-enabling PWM after tone() ends.
http://code.google.com/p/arduino/issues/detail?id=228

* Added Serial.peek() method.
http://code.google.com/p/arduino/issues/detail?id=270

* Added Stream base class to Serial object (w/ available(), read() and
the write(), print(), and println() functions from the Print class).
http://code.google.com/p/arduino/issues/detail?id=60

* Disabling interrupts while digitalWrite() and pinMode() write to pins.
http://code.google.com/p/arduino/issues/detail?id=146

* Replacing INTERNAL analog reference with INTERNAL1V1 AND INTERNAL2V56 on
the Arduino Mega.  http://code.google.com/p/arduino/issues/detail?id=194

[environment]

* Added Arduino Fio to the boards menu.

* Added Arduino Pro and Pro Mini (5V / 16 MHz) to the boards menu.
http://code.google.com/p/arduino/issues/detail?id=81

* Synchronized with the Processing 1.1 code base, bringing various changes.

* Modified the parsing of avr-gcc / avr-g++ output and error messages.

* Toggling RTS on upload for auto-reset with FTDI cables on Linux.
http://code.google.com/p/arduino/issues/detail?id=309

* Adding control over scrolling in serial monitor.
http://code.google.com/p/arduino/issues/detail?id=97

* Added drop-down for selecting line endings to the serial monitor.
http://code.google.com/p/arduino/issues/detail?id=119

* Fixed problem with tabs of the same name but different extensions.
http://code.google.com/p/arduino/issues/detail?id=191

* Allowing third-party hardware platforms to reference programmers defined
in other platforms.  http://code.google.com/p/arduino/issues/detail?id=283

Links:
Download Arduino 0019 RC1 para Linux, MacOS e Windows