domingo, 4 de janeiro de 2015

Programando Attinys com USBasp - Parte 2

Finalmente a parte 2...
Agora vamos  conectar o USBasp ao attiny e  depois colocar o avrdude da arduino ide num modo de programação lento para que ele possa grava bootloaders e sketchs com o USBasp em microcontroladores com clocks menores que 4 MHZ .

Conectando USBasp ao Attiny

attiny25/45/85 pinout
USBasp 10 pin header

Agora é tudo bem simples, devemos apenas seguir as devidas pinagens e conectar VCC, GND, MOSI, MISO, SCK e RESET do USBasp com o do Attiny85.


  Pino 1 Attiny --> Pino 5 USBasp  
  Pino 4 Attiny --> Pino 10 USBasp
Pino 5 Attiny --> Pino 1 USBasp

Pino 6 Attiny --> Pino 9 USBasp

Pino 7 Attiny --> Pino 7 USBasp

Pino 8 Attiny --> Pino 2 USBasp


Deve ficar assim :

Pronto!!!!! Agora é só lembrar de escolher USBasp no menu Tools > Programmer.

Se por algum caso você não conseguir gravar bootloader ou sketches em chips virgens ( clock de 1 MHz ) você terá que ir na sua pasta arduino\hardware\tools\avr\etc\avrdude.conf e mudar a linha 319 para default_bitlock = 10
Com isso o avrdude usará uma velocidade mais baixa de comunicação e conseguira gravar bootloader a sketches em microcontroladores de clock baixo.

quarta-feira, 24 de dezembro de 2014

Programando Attinys com USBasp - Parte 1

Drivers e Atualizando

Tenho usado o attiny85 há algum. Ele é ideal pra pequenos projetos, onde se precisa de poucas GPIOs ( o attiny85 possui 5 ! ). O problema é que sempre que eu precisava programar um attiny eu tinha que  usar um Arduino como programador (ArduinoISP) e depois fazer as devidas ligações do UNO pro attiny numa protoboard. Como está na imagem abaixo.

ArduinoISP
Como dá pra perceber, esse método não é nada prático. Muitas vezes eu deixava de utilizar o attiny por preguiça de fazer essas ligações todas... Então fui atrás de um programador barato.

Eis que me deparo com o USBasp, programador baseado no atmega8/48/88 , suportado pelo avrdude e pela Arduino IDE.

       
USBasp
Pode ser encontrado por menos de U$ 4 na aliexpress. Eu comprei um de 10 pinos do seguinte link : USBasp.
Entretanto aconselho procurar os de 6 pinos, que é a pinagem mais ultilizada e encontrada nos arduinos ( Header ICSP).

O USBasp chegou em perfeito estado, porém não era reconhecido pelo windows....

  • Instalado Os Drivers

Achei um programinha num tutorial do freetronics(link) que torna a instalação dos drivers do usbasp bem tranquila. vamos ao passo-a-passo:
  1. Desconecte o USBasp do computador
  2. Baixe o Zadig no link: http://zadig.akeo.ie/
  3. Execute o Zadig com permissões de administrador e plugue o USBasp no computador.
  4. Coloque as opcões como na imagem abaixo e clique em instalar!!


Drivers instalados!! Porém quando tentava fazer upload de algum sketch , a arduino ide me retornava o seguinte erro:

avrdude: warning:cannot set sck period.please check for usbasp firmware update.

Pois é.... infelizmente os usbaps são enviados com firmware antigo, mas foi barato né haha vale a pena o esforço.
Para realizar a atualização é necessário soldar um jumper no USBasp que permite atualizações. No modelo que eu comprei os pads se encontrão próximos ao pino MOSI :
jumper de auto-programação

Bem vamos atualiza-lo então! Será nescessário um arduino pra realizar a atualização do usbasp.

  • Atualizando Firmware

  1. Programar seu arduino como isp.
    . Processo bem simples de realizar:
    . Conecte seu Arduino no pc
    . Dos Examples( Menu File). Selecione ArduinoISP e de upload
  2. Baixar o Firmware mais recente do site do usbasp: http://www.fischl.de/usbasp/
    . Se o seu USBasp ultilizar um atmega8 (MUITO provável) pode baixar direto do meu dropbox no link: https://www.dropbox.com/s/3tpjyefkzxphb3m/usbasp.atmega8.2011-05-28.hex?dl=0
  3. Coloque o arquivo do firmware correspondente ao microcontrolador do seu USBasp no diretório hardware\tools\avr\bin da sua parta arduino.
    . No meu computador foi : C:\Program Files (x86)\Arduino\hardware\tools\avr\bin
  4. Certifique-se de que o jumper de auto programação está devidamente conectado ( como na imagem ali de cima).
  5. Deconecte o USBasp e o Arduino do computador e conecte os seguintes pinos do arduino aos pinos de programacao do USBasp:
  6. Conecte o Arduino no pc e aba uma command pront (cmd)  no mesmo diretório que você decompactou o firmware  ( hardware\tools\avr\bin ).
  7. Rode o seguinte comando pra verificar que o avrdude consegue conectar com o USBasp:
    . avrdude -C ../etc/avrdude.conf  -c arduino -P COM3 -b 19200 -p m8 -v
    . nota: se seu arduino não estiver na COM3 você deve colocar qual a COM a Arduino IDE estava.
  8. Se tudo estiver ok o avrdude deve retornar uma mensagem mais ou menos assim : 
    avrdude se comunicando com usbasp através do arduinoisp.
  9. Chegou a hora de atualizar o firmware! Rode o seguinte comando:
    avrdude  -C ../etc/avrdude.conf -c arduino -P COM3 -b 19200 -p m8 -U flash:w:c:\usbasp.atmega8.2011-05-28.hex
  10. PROOOOONTO!! Seu USBasp agora está atualizado e funcional! Desconecte ele do arduino e desconecte o jumper de auto-programação.
Agora você pode programar seus arduinos,atmegas,attinys... Tudo isso por U$3!! UHUUUU!!!!!!
Só se lembre de selecionar o USBasp como programmer no menu tools.

Na parte 2 vou mostrar como conectar o attiny ao usbasp e como utiliza-lo para grava bootloader caso o microcontrolador esteja com clock de 1MHZ.

domingo, 21 de dezembro de 2014

Algumas dicas

Como primeiro post real do blog vou fazer um compilado de sites,canais no youtube e softwares que acesso regularmente.
Depois vou criar um link direto pra esse post na barra lateral e vou manter ele sempre atualizado.

Youtube:
português:

inglês:
Great Scott: eletronica,arduino.  Os projetos dele são sempre interessantes e bem documentados.
https://www.youtube.com/user/greatscottlab
EEVblog: eletronica
https://www.youtube.com/user/EEVblog
Julian llet: eletronica,arduino. Adoro ver os videos postbag, onde ele mostras as bungigangas que tem comprado heheh. https://www.youtube.com/user/julius256
David J Watts: eletronica, arduino.
https://www.youtube.com/user/MrDavidJWatts
Kevin Darrah: eletronica, arduino. Esse cara manja bastante.
https://www.youtube.com/user/kdarrah1234
Make Magazine: eletronica, arduino. Os videos da serie Weekend Project traz semanalmente projetos bem legais.  https://www.youtube.com/user/makemagazine
Derek Banas: programacao. O canal do derek possui otimos tutoriais de diversas linguagens de programacao.  https://www.youtube.com/user/derekbanas

Links:
O site do epico Newton Braga, possui explicacaoes excelentes de diversos topicos da eletronica.

Alem da loja que é de extrema qualidade , a adafruit possui uma parte dedicada ao ensino do uso do arduino,raspberry pi, beaglebone black e inumeros componentes,modulos e shields. https://learn.adafruit.com/

Estilo da adafruit, loja  e diversos tutoriais . https://learn.sparkfun.com/tutorials

Esse blog tem muuuuuitos tutoriais. Melhor tutorial de arduino que ja vi na net até hoje. Super recomenadado : http://tronixstuff.com/tutorials/

Explicacao de varios componentes eletronicos e do seu uso. Quer estudar diodos? aqui tem a explicacao de todos eles.  Amp Ops? Circuitos Grampeador, Limitador de Tensao, Multiplicador de Tensao? tem tudo isso explicado de forma didatica e objetiva!

Acesso bastante esse site pra saber das novidades no mundo da eletronica e pra pegar ideias novas pra projetos. http://hackaday.com/

O instructables é um site onde a galera compartilha seus projetos e geralmente o passo a passo de como realiza-los. Ótima fonte de ideias! http://www.instructables.com/tag/type-id/category-technology/


Software:

Processing: http://processing.org/download/
Linguagem de Programação e IDE Open-Source baseada no Java e criada com o intuito de facilitar a programação , tornando-a em algo mais visual.
Voce consegue rapidamente escrever um programa e roda-lo, obtendo rapidamente um feedback visual, o que deixa a experiencia de programa mais divertida e satisfatoria. Serviu de base para criação do Arduino e do Fritzing.
Processing é otimo pra ser usado em conjunto com o arduino, voce consegue rapidamente fazer uma interface nele que controla as GPIOs do arduino por exemplo.

Arduino IDE : http://arduino.cc/en/Main/Software
Acredito que se voce esta acessando meu blog voce sabe pra que serve isso ne hehe, mas nao podia deixar de mencionar.

Fritzing : http://fritzing.org/download/
Software Open-Souce para desenhar circuitos. Uso bem fácil devido interface intutiva!

Eagle : http://www.cadsoftusa.com/download-eagle/
Software pra desing de PCBs, muuuito bom e Free pra uso pesoal.

Atmel Studio: http://www.atmel.com/pt/br/Microsite/atmel_studio6/
Plataforma de desenvovimento pros processadores da Atmel ( ARM e AVR). Próximo passo no aprendizado do uso de microcontroladores, sem as facilidades que o arduino proporciona.

Eclipse : https://www.eclipse.org/downloads/
 IDE para desenvolvimento Java, porém com suporte para inumeras linguagens.

SublimeText : http://www.sublimetext.com/
Editor de texto fodao, inumeras funcionalidades. Uso ele até pra programar o arduino ( com o uso do plug-ing Stino). Não é free, mas da pra usar tranquilamente se você ignorar os avisos de UNREGISTERED ocasionalmente.

Brackets : http://brackets.io/
Editor de texto Open-Source da Adobe ( aquela do  PDF e do Photoshop mesmo) focado em programacao web ( HTML e CSS). O recurso Live Preview é sensacional. Acho o Brackets o melhora pra editar/criar paginas online.

Atom : https://atom.io/
Editor de texto Open-Source e hackable do GitHub. Apesar de ser bem novo, lerdo na inicialização e ainda possuir bugs/limitacoes vale a pena ficar de olho nele. Parece bastante com o SublimeText e ja possui varias de suas funcionalidades,  uma comunidade grande , esta sendo atualizado constantemente e é FREEEEEEE!

Atanua: http://sol.gfxile.net/atanua/features.html
Simulador basico de logica que foi descontinuado recentemente e felizmente virou Free !


Off-Topic: ja que falei de PDF nao posso deixar de aconselhar o Sumatra PDF, um leitor MEGA leve de pdf e que acredito que todos deviam usar no lugar da bosta do Adobe Reader.
Sumatra PDF : http://www.sumatrapdfreader.org/free-pdf-reader.html    ( o instalador so tem 4MB !!!!!)

Primeiro Post !

Hello World,

Bem Vindo !!


A ideia de ter um blog é bem antiga e recorrente na minha cabeça e finalmente criei tempo e vontade de concretizá-la . Estarei postando aqui links interessantes,dicas , as bugingangas que ando comprando, videos, tutoriais, meus projetos, etc... Resumindo : coisas relacionadas a eletrônica, programação e tecnologia no geral.

Bem, é isso ai.  Até o próximo post!