quarta-feira, 19 de maio de 2010

Trocando o o Bom e Velho Max232 por circuitos alternativos

Pessoal,

Posto esta preciosidade aqui mais como curiosidade e não como algo que eu recomende ... (e parafraseando meu amigo Cabelo lá da piclistbr no googlegroups) Alguém gritou lá no fundo: - Trocando o certo pelo duvidoso!

Mas vale a pena!

A origem destes circuitos está no onipresente e fantástico site eletronica.org... pra quem quiser conferir o Original, vai lá: http://www2.eletronica.org/hack-s-dicas/alternativas-de-baixo-custo-ao-max-232/

Bom... vamos aos intrépidos RS-232 Drivers:

Primeiro segue o já tradicional esquema com Max232 com o requinte dos leds de RX/TX:


O que as vezes incomoda neste tradicional circuito são os capacitores... mas já montei tantos que já faço de olho fechado praticamente!

PS: Daqui pra frente segue o texto original do artigo lá do eletronica.org!

O MAX 232 é um circuito integrado conversor de nível, que converte sinais TTL em RS232 e virse-versa. Ele fornece uma ótima rejeição de ruído e é mais robusto à descargas e curtos. Se o seu projeto for mais avançado, você deve utilizar um CI especializado para esta tarefa. No entanto, soluções especializadas são mais caras que as outras.

Este é um exemplo de circuito com transistor para executar a tarefa de conversão:
interface_schematic.gif
Os transistores podem ser todos de uso geral. Este circuito é muito simples e trabalha sem problemas. É a solução mais barata, pois requer apenas um par de transistor e quatro resistores. Os dois transistores executam um truque para ter a tensão negativa necessária por alguns PCs. Quando o PC não transmite dados, seu pino TX está com uma tensão negativa. A tensão negativa presente é então trazida através do resistor R3 ao pino RD (recepção) do PC.

Alternativamente, RS232 pode ser conseguido utilizando portas lógicas. Isto é acessível quando sua aplicação já está utilizando elementos lógicos e há portas sobreando em algum CI. Como alguns PCs trabalhar bem apenas com tensões positivas, tudo que nós precisamos é inverter a lógica do sinal e para isso utilizamos as portas lógicas. Por exemplo, utilizando o CI CMOS CD4066B:

interface_4066.gif
E, é claro, utilizando circuitos NAND e NOR:
interface_4001.gif
interface_4011.gif

E não se esqueça de alimentar os CI's com 5V.

Enjoy!

domingo, 2 de maio de 2010

Tablado Final do Chute em Gol

Pessoal,

Para comemorar o dia do trabalho! Fomos todos aqui do 5VCC trabalhar arduamente no tablado do chute em GOL! ;-)



Primeiro um ajuste na organização dos cabinhos dos sensores...



Um detalhe de como ficou tudo montado pelo lado de trás! Olha a placa da Renesas lá na ponta!



Agora um ajuste no recorte das gramas ao redor dos sensores para reduzir os falsos chutes por conta do reflexo da própria grama.



Aparência final do tablado!



Aparência final dos sensores no tablado!



Tablado já ligado na CPU.



Finalmente a recompensa! let's play!



Um pouco de descanso após o árduo trabalho de um sábado à tarde no escritório do papai...



Um pouquinho da organização do Papai! ahuahuauhahu



E no final para o nosso amigo do TabajaraLabs (Essa é pra vc taba!) ...

- "Esse ficou bão patrão!"

No final das contas, temos:

- Chute em Gol funcionando!
- Renderização das seqüencias de defesa no Maya;
- Software embarcado de controle dos sensores no R8C/1A da Renesas;
- Software no PC em C#.NET;

E mais 87 destes pra entregar até o início da Copa do Mundo!

Valeu aí pessoal que acompanhou o desenvolvimento desde o início!

quinta-feira, 15 de abril de 2010

GPS LEA-5H e GSM LEON-G200 da uBlox

Pintou um projeto aqui e tive a necessidade de usar um módulo GPS juntamente com um módulo GSM ...
Por padrão sempre usei módulos GSM da Cinterion (Antiga Siemens) e sempre me antenderam muito bem! no entanto conversando com o pessoal da Smartcore (vai lá http://www.smartcore.com.br/ ) me apresentaram uma solução muito interessante que até então não havia testado... os equipamentos da Austríaca uBlox!
A minha percepção inicial, avaliando através de um StarterKit deles foi F A N T Á S T I C A !
O GSM me pareceu muito estável. Com comandos AT comuns compatível na maioria com o que existe no mercado para SMS, GPRS e CSD ... e o mais legal ... uma interface onde você liga o GPS via SPI/I2C com o GSM e via comandos AT recupera posições do GPS ... em outras palavras.. com um MCU de uma uart só dá pra comunicar com os dois aparelhos simultaneamente!
Segue algumas fotos do starter kit:


Esta é a maleta onde vem o KIT...

A maleta aberta, tá... eu já tinha tirado tudo de dentre então não vale muito...

Um CD com o Software dos Drivers (FTDI + Softwares para verificar funcionamento do GPS!)

Esta é a placa do KIT... vemos menor logo acima o LEA e abaixo um pouco maior o LEON, um chip da vivo inserido do SIMCARD HOLDER, uma barra de pinos. E eu liguei ela no PC via USB ...
Notem que temos duas saídas USB, uma delas para acesso ao GSM e outra para o GPS... sendo que se ligarmos via GSM, temos acesso via comandos AT ao GPS...

Detalhe (desfocado) do LEON, e logo acima o LEA ... ao lado do LEON a barra de pinos para prototipagem ...

Um overview da placa só pra ver um pouco mais de detalhes ...

E aqui o software uCenter da uBlox, acessando o GPS, mostrando o SkyView em primeiro plano e ao lado outros parâmetros que o GPS retorna! MUITO LEGAL!

A sensibilidade da antena que vem com o KIT em conjunto com o GPS é muito boa... sincronizando e encontrando satélites, e já triangulando em ambiente sem visada, por volta de 9 minutos... e em ambientes com visada praticamente instantêneo! ou cerca de 30 segundos a 3 minutos dependendo do tempo que o GPS ficou desligado!

O próximo trabalho agora é ligar os módulos via interface num R8C e começar a pegar os dados... quando acontecer, já coloco um post novo por aqui!

Enjoy!

sábado, 3 de abril de 2010

Apresentação do R8C/2B no DevMonkey















O site DevMonkey mostra muitas coisas legais, vários kits e ferramentas interessantes. Não poderia deixar de mostrar o que tem de melhor dos Renesas é claro!

Este link mostra um vídeo desmonstrando o RSK (Renesas Starter Kit) do R8C/2B

http://www.developmentmonkey.com/videos/index.php?bcpid=1358313811&bclid=1358639275&bctid=1453516465

Nice JoB Guys! ;-)

Enjoy!

sexta-feira, 2 de abril de 2010

Demos e Afins

Este é um Demo muito legal ... era bem impressionante na época quando literalmente programadores tiravam leite de pedra dos computadores até então na maioria de 16Bits, migrando para 32Bits ... o SO da época ainda era o DOS e algumas pessoas já usavam Windows 3.11, OS2 da IBM, muito próximo da época do Windows95... que saudades dessa época.

O pessoal da Future Crew eram um grupo de programadores Assembly... dê uma olhada ...



Curiosamente na época, os amantes dos 8Bits (C64, MSX, AppleII (gs, e, c), dentre outros) não aceitavam o inevitável... seu computadores estava já obsoletos... com isso alguns pegavam demos dos PCs que era os computadores mais "porretas" da época e recriavam os mesmos para suas máquinas... vejam a versão de second reality par ao C64 ... muito show!



No final das contas, a melhor plataforma para gráficos na época era o Amiga da Commodore, com seu famoso modelos Amiga 500. Babem no que os caras faziam com míseros 7MHz ...



E o Making of do video acima!



Outros demos legais





Este já foi feito/executado num Amiga com placa aceleradora usando o MEGA PORRADA 68060 ! De fazer inveja a qualquer MAC da época que usavam no máximo um 68040!!;-) Não entendeu nada? Cai na net pra estudar ... huahuahuaahu



Um pouco de Amiga 1200





quinta-feira, 1 de abril de 2010

Bits & Bytes

Eu assistia este programa quando passava na TV cultura... não perdia 1... meu sonho era ter uma sala como a do velhinho que tinha um monte de computadores maneiros... eheheh

Aí vai um pouco de seção nostalgia pra vcs!

Enjoy!











Alguns comerciais e demos legais...

























Por hoje é isso!!!

quinta-feira, 25 de março de 2010

LED Scope com R8C/1A


Bem meus caros visitantes, eu estava precisando de um scope light para medir algumas coisas em campo e tive a idéia de montar um protótipo simplificado ... ou um Draft de um Scope usando uma matriz de leds e um R8C/1A ... deu certo... apesar de ter ainda que fazer um monte de ajustes ...
Bom aí vai um passo-a-passo do brinquedo:

Primeiro selecionamos os LEDs de 3mm, como eu não tinha 100 leds de uma cor só eu misturei verdes e vermelhos....


Começando a soldagem dos componentes...



Notem a forma de amarração da matriz de leds pelo lado de traz ...


Aqui a matriz já quase completa...


A matriz completa ...


Soldando um soquete e um 4017 para chavear as colunas....


Conferindo as pontes e as ligações em busca de imperfeições ...



Fixando a placa do R8C/1A na placa da matriz de leds...



Fazendo as primeiras ligações para os Positivos dos Leds, ligando do 4017 para os transistores, que estão ligados a 5V...


Uma Visão dos transistores... Usei o já famoso BC548B ... tem de penca na gaveta! ;-)


Feitas todas as ligações dos pinos do 4017 para os transistores, ligamos também as linhas do 5V e do GND...


E finalmente a ligação das linhas negativas da Matriz para os pinos correspondentes do R8C/1A ...
Com esta configuração, nível lógico 0 acende o led e nível lógico 1 apaga o mesmo...


Ligando agora o fio amarelo que faz o clock do R8C para o 4017...




Tudo ligado ... pronto ... conectando o E8 para fazermos o programa ...



Primeiro ligando todos os leds... tiveram 2 que falharam e foram substituidos ...


E agora o programa rodando com um audio na entrada AD do R8C ...


Vejam também o vídeo ...


E por fim... segue o código fonte:

==========================
#include "sfr_r81b.h"

void main(void);

char sample[10];

void initializeCPU(void) {
int t;
asm("FCLR I");                           //Interrupt disable
prc0=1;                                  //Protect off
//**************************************
// CPU Clock Setting
//**************************************
//Note: Include asm("nop")for oscillator's stabilization period after clock setting is done.
//User may set on-chip oscillator to off when Main Clock is selected.(cm14=1)
cm05=0;cm13=1;cm14=0;                    //Main Clock selected(cm0 bit 5, cm1 bit 3 and 4, ocd bit 2)
for(t=0; t<10; t++);
cm15=1;                                  //High Drive Capacity selected(CM1 bit 5)
ocd2=0;                                  //Main Clock selected(ocd bit 2)
cm16=0;cm17=0;cm06=0;                    //No division selected(cm0 bit 6,cm1 bit 6 and 7)
prc0=0;                                  //Protect on
asm("FSET I");           //Interrupt enabled
}

void initializeIO(void) {
// Column OUT LEDs
pd3_4 = 1;
pd3_3 = 1;
pd1_0 = 1;
pd1_1 = 1;
pd1_2 = 1;
pd1_4 = 1;
pd1_5 = 1;
pd1_6 = 1;
pd1_7 = 1;
pd4_5 = 1;
// Setting Initial Logic levels
p3_4 = 0;
p3_3 = 0;
p1_0 = 0;
p1_1 = 0;
p1_2 = 0;
p1_4 = 0;
p1_5 = 0;
p1_6 = 0;
p1_7 = 0;
p4_5 = 0;
// Clock for 4017
pd3_5 = 1;
}

void initializeAD(void) {
//**************************************
// ADC Setting
//**************************************
//When using the repeat mode, use the undivided XIN clock as the CPU clock
//Note:For 8-bit resolution, when conversion finished, read AD result at AD register(00C0H).
//Note:For 10-bit resolution, when conversion finished, read AD result at AD register(00C0H,00C1H).
//Set AN11 pin to input port direction
vcut=1;adgsel0=1;ch0=1;ch1=1;ch2=1;      //Port P1 group: AN11 is selected(adcon0 bit 0-3)
md=0;                                    //One-shot mode selected(adcon0 bit 3)
cks1=0; cks0=0;                          //f4 selected(adcon1 bit 4 and adcon0 bit 7)
bits=1;                                  //10-bit mode selected(adcon1 bit 3)
smp=1;                                   //With sample and hold selected(adcon2 bit 0)
adst=1;                                  //A/D conversion starts(adcon0 bit 6)
adic=0x00;                               //Set interrupt piority level 0(adic)
}

void SetAmplitude(char amplitude) {
p3_4 = 1;
p3_3 = 1;
p1_0 = 1;
p1_1 = 1;
p1_2 = 1;
p1_4 = 1;
p1_5 = 1;
p1_6 = 1;
p1_7 = 1;
p4_5 = 1;
switch (amplitude) {
case 0: p3_4 = 0; break;
case 1: p3_3 = 0; break;
case 2: p1_0 = 0; break;
case 3: p1_1 = 0; break;
case 4: p1_2 = 0; break;
case 5: p1_4 = 0; break;
case 6: p1_5 = 0; break;
case 7: p1_6 = 0; break;
case 8: p1_7 = 0; break;
case 9: p4_5 = 0; break;
}
}

void Wait(void) {
int t;
int t2;
for(t2=0; t2<1; t2++) {
for(t=0; t<1; t++) {
asm("nop");
}
}
}

void ClockPulse(void) {
p3_5 = 0;
Wait();
p3_5 = 1;
Wait();
p3_5 = 0;
}

void AddSample(char samp) {
int t;
for(t=1;t<=9;t++) {
sample[t-1]=sample[t];
}
sample[9]=samp;
}

void RenderScreen(void) {
int t;
for(t=0;t<=9;t++) {
SetAmplitude(sample[t]);
ClockPulse();
}
}

void main(void) {
int t=0;
int pulseWidth=80;
int pulseCount=0;
initializeCPU();
initializeIO();
initializeAD();
adst=1;
for(;;) {
adst=1;
while(adst==1);
t=(9*ad)/128;
if(pulseCount==pulseWidth) {
AddSample(t);
pulseCount=0;
}
pulseCount++;
RenderScreen();
}
}

==========================

terça-feira, 23 de março de 2010

Apple IIe como terminal Lixux






Todos sabem que eu acho linux um saco, e toda a ladainha que deixa os defensores de código aberto e toda essa palhaçada de GNU, GPB, PQP não me sobe na cabeça. Já fui LINUXEIRO de carteirinha... hoje sou Microsoft até a medula! Tenho minhas razões... mas deixa isso pra lá!

Quero deixar bem claro que este post é mais pelo Apple IIe, de passagem o melhor computador que eu já tive, em pé de quase igualdade com os lindos MSX, Apple IIgs e TRS-80 Model III da Radio Shack.


O cidadão deste site denominado DataSwamp fez um trabalho de gente e botou um Apzinho pra falar serial com um lixux gentoo, detalhe para o cartão 80 colunas e outras cositas masss...

Vai lá: http://www.dataswamp.net/apple2eserialterm/

Esta notícia eu lí no BrikoGeek, só que eu acho que os caras não entenderam muito bem o que houve, lá eles falaram que o lixux foi instalado no Apzinho...

Vale perder um tempo vendo o que o cara fez! muito bom trabalho!

Olha o vídeo da prova do crime!

segunda-feira, 22 de março de 2010

Making Of - Chute a Gol - Parte 1

Caros amigos interneteiros e principalmente Reneseiros (nossa essa doeu! André vai querer me matar!)... Vou postar algumas fotos do Making Of do trabalhao chute a Gol que estou fazendo para um cliente que ainda não posso dizer... na parte dois eu poderei dizer pois o produto já estará lançado !

Este daí é o protótipo funcional, foi feito pequeno para poder ser transportado!


Este é o lado do curcuito, note a placa do R8C/1A, chaveando os Leds a resposta dos sensores IR.


Trabalho e conceito aprovados pelo cliente, começam a chegar as primeiras peças para produção: Serão 15 tablados:

Olha os Leds aí:









Chegaram também as placas do R8C/1A nestas fotos só sairam 14!



Chegaram também os adaptadores USB-Serial ...


Alguns Sensores IR prontos para serem montados nas plaquinhas ...


Algumas plaquinhas sendo montadas, aplica fluxo, solda, aplica fluxo, solda, aplica fluxo, solda, aplica fluxo, solda, aplica fluxo, solda, aplica fluxo, solda ...


Algumas placas somente o led encaixado/soldado ...


Outras placas com led / sensor  encaixados e soldados ...


Bancada de trabalho ...


e finalmente a tarefa concluída, 130 sensores prontinhos para serem usados!


Aparencia final do sensor ...




Enjoy !!!