quinta-feira, 4 de dezembro de 2014

PSG Arduino Shield - Parte 2

Um pouco depois que fiz a primeira publicação sobre ligar o chip de som PSG no Arduino, ainda em março de 2014, levei o projeto adiante, passando a montagem do protótipo em protoboard para um módulo em placa padrão... Faltou publicar fotos do resultado.

Mas antes tarde do nunca, ai vão fotos da segunda etapa e de como o projeto ainda está (dezembro/2014) em termos de hardware (todas as fotos do andamento do projeto podem ser vistas no álbum que coloquei no Picasa):
O estágio de clock e seu esquema.

TOC usando placa padrão (sem fios "saltando").

Testando o estágio de clock depois de fazer as demais conexões.

Voilà!

Testando o 74HCT595.

Novo sucesso.

O circuito completo, já com o estágio de amplificação de áudio.

E o TOC se manteve até o final.

E uma geral da bagunça ao final de algumas horas.

terça-feira, 13 de maio de 2014

Presentaço - Livros!

Há mais ou menos um ano, ganhei esse presentão de um desconhecido que estava doando parte de sua biblioteca. Fui buscar 4 edições da revista Mactech e voltei com essas preciosidades sobre Mac OS clássico (pré Mac OS X)...

Fico-lhe muito grato, sr. Suzuki.

domingo, 4 de maio de 2014

Mudança de nome e endereço.

Retificando um velho erro aqui do meu blog: O nome e o respectivo endereço. Apesar do meu #ogroStyle, meu estilo de vida tende sempre a #nerd, mas jamais a geek, afinal não sou descolado.

Cyberpunk e tecnologia.

Revendo algum material sobre literatura cyberpunk, parei para refletir sobre a descrição "low life, high tech" (vida pobre, alta tecnologia) e, de repente, me dei conta de que a concepção esta equivocada. O certo é "low life, outdated tech" (vida pobre, tecnologia ultrapassada) que, apesar de perder o mote dos adjetivos antônimos, descreve melhor esses contos.

Explico: Como são contos futuristas, a tecnologia sempre parece alta para os leitores, mas os personagens cyberpunks centrais, que vivem vida distópica e são marginais sociais e tecnológicos, convivem apenas com tecnologia baixa (e barata), ultrapassada e/ou pirateada para seu tempo presente. Nada de grife, nada de ponta, nada caro.
(imagem: do site da Editora Aleph)

sexta-feira, 4 de abril de 2014

Documentário sobre mercado de jogos no Brasil.


Achei muito interessante esse documentário (um TCC da PUC-SP de 2010) sobre a indústria de jogos brasileira...

Atenção para o link no final do vídeo para um outro vídeo chamado "mapa". Este outro vídeo "linka" os demais vídeos do trabalho/documentário.

Algumas observações minhas:

1. Pena que a Viacom censurou/bloqueou um dos episódios (Cultivando Notas);

2. Gostei muito da opinião do dr. Roger Tavares, que me pareceu embasada, prática, comedida e com a visão que o aluno deve ir além do conteúdo da grade do curso (enquanto alguns dos entrevistados - mais jovens - acham que o curso deve fazer o milagre de ensinar o tudo e o todo);

3. Tendo sido apresentado em 2010, infelizmente não abordou iniciativas como o Jogo Justo e a AciGames;

4. As opiniões dos entrevistados mais jovens são, infelizmente, mais pessimistas, derrotistas e fatalistas.

terça-feira, 1 de abril de 2014

Arduino Severino - Fase 3

Em meados de 2011 montei quatro Arduinos do modelo Severino para usar em uma palestra na faculdade onde eu estudava. Neste álbum de fotos pode ser vista a bagunça enquanto eu confeccionava as placas. Foi a "fase 1" dos Severinos.

Em 2012, dei um melhor acabamento nas placas (serrar as placas no tamanho adequado, trocar alguns componentes, estanhar todas as trilhas etc), no que eu chamei de "fase 2". Pena que não fotografei nem fiz uma publicação aqui no blog para documentar.

No experimento de fazer meus próprios Arduinos, entre erros e acertos, cometi o engano de economizar comprando os microcontroladores AVR mais baratos que encontrei e acabei com alguns modelos difíceis de serem usados por não serem padrão no Arduino, especificamente do modelo Atmega88, que exige edições de arquivos de configuração do ambiente de desenvolvimento sempre que este é instalado ou atualizado.

Aproveitando que no ano passado eu comprei alguns microcontroladores Atmega328P-PU, usado na maioria dos Arduinos, resolvi atualizar as placas (atividade que já estava na lista de afazeres há tempos).

Usei um Arduino (um clone chinês do Duemilanove, da marca Aroboto Studio) para gravar o bootloader nos novos microcontroladores, seguindo as instruções do site do Arduino.

Para ter variedade de placas, com o objetivo de poder fazer testes, deixei um Severino com um Atmega8 (que foi usado nos primeiros modelos de Arduino) e bootloader do Arduino NG. Em outro Severino, com o Atmega328, coloquei o bootloader do Diecimila / Duemilanove e, no terceiro Severino, coloquei o bootloader do Arduino Uno, chamado de Optiboot:

Fiz o teste mais básico, carregando o sketch "blink" nos Severinos e, de cara, achei interessante observar os comportamentos extremos. Enquanto o Severino com Optiboot carrega a 112kbps e executa o sketch quase instantaneamente, o Severino com bootloader do NG, além de carregar a apenas 19,2kbps, tem uma pausa de alguns segundos antes de começar a execução do sketch.

Há também as diferenças de tamanho do bootloader, bem menor na versão Optiboot, deixando mais espaço para o sketch.

Apesar de haver versão não oficial do Optiboot para ser usado com Atmega8, preferi deixar a versão do Arduino NG, reduzindo a possibilidade de incompatibilidades não previstas e/ou pouco experimentadas (e pouco documentadas).

O quarto Arduino Severino, que já estava com Atmega328, ficou atrelado ao projeto da matriz de LEDs e foi para o professor Abner, em 2012.

quarta-feira, 19 de março de 2014

Arduino versus Raspberry Pi

Há uma semana recebi o mini-PC (ou SBC - Single Board Computer) Raspberry Pi, uma placa criada há 2 anos na Inglaterra, com o objetivo de trazer de volta a facilidade de aprendizado da computação que existia nos anos 80.

Depois de passar um mês pesquisando sobre a RaspPi (demorou um pouco pra chegar) e pensando sobre a proposta dela, minha conclusão é que esse objetivo foi realmente alcançado por outra placa que aniversaria 10 anos agora no final de março, o Arduino.

Apesar do conceito completamente diferente de ambas (e, ambas, completamente diferentes da microcomputação pessoal dos anos 80), minha experiência como usuário e como professor me diz que o Arduino é, efetivamente, a melhor porta de entrada para leigos tanto para a eletrônica, quanto para a programação. Mas essa é só minha opinião... #nerd

(foto: deste artigo no site raspberrypi.org)

segunda-feira, 10 de março de 2014

PSG Arduino Shield - Parte 1

Introdução:

Esse é um projeto que me veio a mente há pouco mais de 1 ano e ficou engavetado por diversos motivos e desvios de percurso. Retomado o que eu não deveria ter parado, foram dados os passos da segunda etapa: Montar o protótipo em protoboard (a primeira parte foi de pesquisa e elaboração de objetivos):
Eu poderia ter usado um protoboard maior e feito tudo em um só, mas quis usar o protoshield que eu fiz e, como não cabia tudo, usei mais dois bloquinhos de protoboard pra colocar o amplificador de áudio e o circuito de clock para o PSG. As fotos comentadas podem ser vistas neste álbum.

Mas, enfim, do que se trata isso? É basicamente um shield de Arduino para gerar áudio com o circuito integrado PSG (Programmable Sound Generator) AY-3-8912, típico de microcomputadores das décadas de 70 e 80, como MSX, ZX-Spectrum, ZX81, Apple II etc, e que pode ser usado para chiptune ou qualquer outra coisa que sua imaginação permitir.

Diversos projetos já foram feitos com esse intuito como o que está no site arduino.cc ou este do 986-Studio, entre diversos outros.

O mais promissor, mas que aparentemente morreu no parto, foi o MIDIarcAYde, que chegou a ter um shield completo com o PSG e conexão MIDI, mas não houve divulgação do código fonte, do esquemático do projeto, nem nada. Provavelmente foi um trabalho de conclusão de curso e ficou nisso mesmo. O vídeo linkado no blog do projeto, com a placa em funcionamento, é interessante.

Apesar de haverem poucas diferenças entre todos os projetos, tomei como base o desenvolvimento demonstrado no blog do DQ (partes um, dois, três, quatro e cinco), participante ativo do Garoa Hacker Clube (ele fez uma página no wiki do Garoa sobre o projeto dele).

Apesar de ser muito didático, o projeto do DQ peca, IMO, no mesmo ponto que os outros: Falta uma biblioteca de software pro acionamento do circuito / shield, que permita um uso menos técnico e mais criativo, com mais liberdade, pra quem efetivamente quer fazer música (o tal chiptune) com o circuito.

Software inicial:

A princípio, criar uma biblioteca (lib - de library) para facilitar o uso do PSG de forma semelhante a linguagem BASIC dos microcomputadores MSX, com funções equivalentes aos comandos SOUND e PLAY, este último, com os macro comandos de controle de notas, duração, volume etc.

A partir desse ponto, criar biblioteca de ruídos pré definidos (tiro, motor etc), acessíveis a partir de uma função simples.

Com isso disponível, programadores menos experientes podem colocar suas músicas no Arduino com programação básica, sem precisar conhecer os meandros de funcionamento do PSG.

Expandindo a usabilidade:

E se o PSG puder tocar músicas armazenadas em um cartão SD, selecionadas num shield com botões e LCD?

E se o PSG puder ser acessado a partir de uma conexão MIDI (como demonstrado no projeto MIDIarcAYde), pela USB (como fez o DQ), ou mesmo por TCP/IP, RS-485, I2C ou seja lá qual conexão estiver feita com o Arduino que hospeda o PSG shield?

E se mais de um Arduino, cada um com seu PSG shield, estiver tocando a mesma música, com mais canais de áudio e ruído, disponíveis simultaneamente?

Mas isso será assunto para as próximas publicações...

domingo, 19 de janeiro de 2014

Projetando um computador 8-bit - A ideia.

Há alguns anos eu me interesso por computadores home built, construídos com componentes discretos, como são os casos do Home-Built TTL CPU e do Apollo181, mas, no momento, essa categoria de projeto é muito ambiciosa pra mim.

Então passei 2013 paquerando ideias de projetos com microprocessadores de 8 e 16-bit como, entre outros, o ASAP-3, o Kiwi, o Veronica, o N8VEM e os projetos do site S100 Computers.

Inicialmente planejei construir um conjunto baseado no barramento S100, que também se mostrou ambicioso demais. Depois passei pra ideia dos SBCs (Single Board Computers - computadores de placa simples - ou única), como o Kiwi e o ASAP-3, mas a falta de modularidade atrapalha meus objetivos.

Os conceitos do N8VEM e, principalmente, do Veronica, são mais compatíveis com meus objetivos, mas diferente de seus autores, eu pretendo brincar com mais processadores, começando pelo Intel 8080 ou, talvez, o 8085.


Devo passar os próximos meses documento o projeto em um novo blog, mas ainda não decidi por um nome que possa transmitir toda a ambição do projeto. O problema é que já tenho uma grande quantidade de ideias e informações que precisam ser documentadas com urgência. Enquanto isso, as publicações vão rolando aqui neste blog, mesmo!