Postagens

Mostrando postagens de abril, 2014

Utilizando a interface GPIO do Raspberry Pi

Imagem
Primeiro, descobri que após desligar o RPi, ele fica em um estado stand by. Caso queira ligar ele novamente sem retirar e recolocar o cabo usb, basta fechar um curto rápido nos pinos 5 e 6 da GPIO. Após os testes iniciais , parti para o que realmente me interessa que é a interface GPIO. A programação da interface é feita em Python, e para isso é necessário instalar a biblioteca RPi.GPIO. Ela funciona de forma bem parecida com a programação em C do Arduino. Para a instalação use os comandos: sudo apt-get update sudo apt-get install python-dev sudo apt-get install python-rpi.gpio

Primeiros testes com o Raspberry Pi

Imagem
Nos primeiros testes com o Raspberry Pi, fiz a instalação do Raspbian seguindo os passos da pagina oficial , tudo bem simples. A primeira dificuldade que tive foi de não encontrar nas configurações do mesmo, com o comando raspi-config, a configuração do teclado brasileiro ABNT2, então achei a dica no Garoa Hacker Clube . Outro problema é a interface grafica não vir por padrão com o controle de volume, facilmente adicionado clicando com o botão direito na barra de tarefas e em "Adicionar/Remover itens do painel".

Plaquinha para trabalhar com ATtiny13

Imagem
Um problema para quem quer executar testes em um ATtiny13, é ele usar encapsulamento SOIC (SMD). Para ajudar nos teste com Arduino , resolvi fazer uma plaquinha com placa universal de ilha, para se encaixar fácil da protoboard.   Posted with Blogsy

Reset automático no Arduino com serial PL2303

Imagem
Quando fui montar minha placa para ser usada no robô Monty, percebi que a interface serial que eu tinha comprado , que roda em um CI PL2303, não tinha a saida DTR, necessária para o reset automático do Arduino. Este reset automático é usado quando mandamos o upload de um sketch para o Arduino, ele detecta que está trafegando dados na serial e reseta automaticamente o Arduino, para o mesmo poder receber o upload. Sem o reset automático, é necessário o usuário apertar o botão de reset pouco antes de mandar o upload. Após consultar o datasheet do PL2303, verifiquei que o pino 2 do CI era o DTR, então extrai um jumper e usei o mesmo para interligação de um capacitor de 100nF entre este pino e o pino 1 ( reset) do ATMEGA, conforme abaixo:

Rodando optiboot em um ATMEGA8

Imagem
É possível rodar Arduino em uma certa variedade de microcontroladores, e um deles é o ATMEGA8 . Porém com ATMEGA8 de forma oficial seu bootloader é muito lento, fazendo com que o microcontrolador demore até 10s para inicializar. Para contornar o problema pode ser usado um optiboot , que é um bootloader otimizado para ser mais rápido e que inclusive é usado no Arduino Uno, que roda em ATMEGA328p. Resolvi montar uma placa usando um ATMEGA8 para deixar definitivo no robô Monty . E neste ATMEGA decidi usar o optiboot, para isso são necessários algumas modificaçoes na IDE do Arduino.

Ótimo app para postar no Blogger e Wordpress com iPad

Imagem
Quem tem um iPad sabe que é péssimo postar no Blogger ou Wordpress com ele, mesmo usando os respectivos aplicativos que são bem limitados. Mas descobri um aplicativo que me fez deixar de usar o PC para postagens, o Blogsy . O principal recurso dele é uma barra lateral que te da acesso a fotos e vídeos local ou dos principais sites (Picasa, Flickr, Instagram, Facebook, Youtube, Vimeo) de forma muito fácil, bastando arrastar. Vale a pena assistir alguns vídeos do desenvolvedor para conhecer melhor o aplicativo. O aplicativo também da acesso para postagens a várias outras plataformas de blogs, além do Blogger e WP. https://itunes.apple.com/br/app/...   Posted with Blogsy

Trabalhando com AVR via makefile em Linux

Imagem
A pouco tempo estou começando a aprender a programar microcontroladores ATMEGA em AVR. Apesar de poder usar a IDE Arduino na opção "Upload Using Programmer", aprendi também a compilar (com avr-gcc), gerar o HEX (com avr-objcopy) e gravar no microcontrolador (com avrdude). Tudo "na mão", via linha de comando e em Linux. Os comandos são bem simples, no caso por exemplo, tenho o código no arquivo main.c, então rodo: Para compilar: avr-gcc -mmcu=atmega328p main.c -o main.cpp Para gerar o HEX: avr-objcopy -O ihex main.cpp main.hex Para gravar o HEX no microcontrolador: avrdude -c usbasp -b 19200 -p m328p -P /dev/ttyACM0 -U flash:w:main.hex:i No caso, tudo para um microcontrolador ATmega328. Porém sabia que tinha uma forma mais rápida e fácil, que é gerando um makefile. O makefile é um script que facilita todo o processo. Então achei este arquivo pronto, onde alterando poucos parâmetros o makefile fica sempre disponível para rodar qualquer arquivo.