sábado, 21 de abril de 2012

Fotos do Computador - resultado do casemod

Fazia tempo que eu estava devendo essas fotos, mas é que sempre acabava esquecendo de bater as fotos do PC, bom, tudo começou com essa postagem em Julho do ano passado onde começei a desenvolver o sistema que iria possibilitar a alteração da cor da iluminação interna do gabinete do PC bem como o controle dos coolers de arrefecimento.
Na parte 2 da postagem, publicada em Agosto, eu mostrei como havia ficado a frente do painel (as imagens não estão muito boas, pois a camerâ tinha começado a dar problemas) e em Outubro eu fiz a postagem da parte 3, que foram os primeiros testes com o sistema instalado dentro do gabinete, ainda sem a lateral de acrilico. 
Algum tempo depois e em Dezembro eu comprei um kit para fazer a lateral em acrilico no PC, comprei nesse link no Mercado Livre, as compras chegaram tudo normal, mas esqueci de um detalhe.... eu estava sem lâminas de cortes para a microretífica, resultado: o projeto parou novamente.
Então em Janeiro comprei atravéz desse link também do Mercado Livre um kit de acessórios para trabalhar com micro-retíficas. Quando o Kit chegou já botei a mão na massa e começei a riscar a lateral do gabinete escolhendo o formato do corte que desde o começo eu tinha decidido que seria um corte em "L" mas com a "ponta" do L indo para a parte traseira do gabinete, fiz o corte, polimento, furos dos parafusos e depois de uns 4 dias trabalhando na estrutura, terminei tudo. 
Depois disso viajei para a praia, voltei e começei a correr com a inscrição pro mestrado e acabei esquecendo de postar o resultado, então, após essa retrospectiva, deixo com vocês algumas fotos do gabinete (não dá para ver 100% a cor, pois as fotos foram tiradas durante o dia).
1) "Modo Smurf" acionado:
De alguma forma inexplicavél eu gosto mais da cor azul no gabinete, então acaba ficando a maior parte do tempo assim...
2) "Modo Hulk" acionado
3) "Modo Iron Man" acionado:
Como a iluminação é feita por LEDs RGB eu posso colocar qualquer cor dentro do gabinete, como rosa, amarelo, roxo etc mas para demonstração deixei apenas as cores primárias.
4) "O bebê":
 Esse é o "bebê" responsável pelas imagens dos jogos e "escondido" na parte superior do gabinete está minha fonte BFG de 550W reais, eu mostrei as fotos dos brinquedos nesse post em Setembro do ano passado.
Por hoje é isso pessoal, até a próxima.

quarta-feira, 11 de abril de 2012

Ping da Morte

A postagem de hoje é na área de informática, sobre o "ping da morte", comando que era utilizado antigamente para "derrubar" máquinas na rede, essa postagem é mais para conhecimento dos leitores, pois o ping da morte não funciona mais, ele funcionava em máquinas com Windows98 e Windows95, atualmente todos os computadores e servidores possuem proteção contra esse tipo de "ataque", de qualquer forma vou mostrá-lo como fazer para você conhecer um pouco. 
Os comandos aqui mostrados são executados no Prompt de Comando do Windows, para chegar até ele pressione no teclado "Windows + r" e digite "cmd" e depois pressione "enter"
1º) O que é o ping? O comando ping ajuda a verificar a conectividade no nível IP, o ping envia solicitações de eco ICMP para um host de destino (definido através de um nome ou endereço IP) para verificar se a máquina em que se executou o comando pode conectar-se à rede e a recursos de rede TCP/IP. 
A tela a seguir mostra o uso do comando ping para testar a conexão com a internet, nessa imagem o ping está sendo executado para o Google:
 Para executar esse teste ping basta digitar "ping www.google.com" e depois pressionar "enter".
2º) O que é o ping da morte? Por padrão o ping é executado 4 vezes com pacotes de 32bytes de dados, o ping da morte consiste em solicitações ping com um tamanho de pacote muito elevado (geralmente de 65500 bytes) e numa freqüência também alta (milhares de vezes por segundo).Devido à grande taxa de transmissão, existe a sobrecarga do micro de destino (podendo até chegar a travá-lo, como no caso do Windows 95) e a sobrecarga da rede.
3º) Como fazer o ping da morte? Para efetuar um ping da morte digite no prompt:
ping -i 1 -l 65500 (host) -t onde:
-> ping - o comando propriamente dito
-> -i 1 - o intervalo entre cada ping. Nesse caso, 1 ms.
-> -l 65500 - o tamanho do pacote, em bytes
-> host destino
-> -t enviar a requisição por tempo indeterminado até o usuário cancelar pressionando CONTROL + C.
Veja a tela:
Nessa tela o comando ping foi executado apenas 10 vezes para mostrar seu funcionamento, mas para um "ataque" com o ping da morte você deveria fazer ele em várias instâncias do prompt ao mesmo tempo e também vários computadores ao mesmo tempo executando o mesmo comando, todos tendo um único host como alvo.
Como dito, atualmente todos os computadores e servidores já estão "imunes" ao ping da morte, o máximo que pode ocorrer ao executar tantas vezes é existir perda de alguns pacotes devido ao grande tráfego na rede gerado, mas a máquina dificilmente irá parar de responder e travar, como ocorria antigamente.
Por hoje é isso pessoal, um abraço e até a próxima.

sexta-feira, 6 de abril de 2012

Programando um Attiny85 usando o Arduino como ISP

Na postagem de hoje vamos ver a progrmação de um Attiny85 utilizando um Arduino Duemilanove como gravador ISP.
Primeira pergunta: O quê é um Attiny85?
Ele é um chip de 8 terminais (igual à um 555) e possui algumas diferenças se comparado com um Atmega328, uma delas é que o Atmega328(128) precisa de bootloader para rodar os códigos, mas ATtiny não precisa, então sua memória total está disponivel para código. Ele possui menor quantidade de pinos I/O e também uma menor quantidade de memória disponivel. Ele apresenta uma arquitetura de 8bits, e possui:
- 8Kb de memória flash (armazenar código);
- 512bytes de EEPROM (armazenar dados);
- 512bytes de memória SRAM (processar informações);
- 2 saídas PWM;
- Funciona com uma alimentação entre 2.7V e 5.5V
Veja a pinagem do attiny:
 Para saber mais sobre o microcontrolador veja nas referêcias o link para o datasheet do attiny.
Segunda pergunta: O quê é ISP?
ISP é a sigla de "In-System Programming", programação "no sistema", é a habilidade de alguns dispositivos lógicos programaveis como microcontroladores e outros chips eletrônicos serem programados enquanto estão instalados em um sistema completo, ao contrário de programar o chip e depois colocá-lo no sistema.
 A programação “in-circuit” via ISP pode ser realizada através de canais seriais do Microcontrolador de duas formas:
- Via RxD e TxD da interface serial RS232: como no Atmega328.
- Via Interface SPI (Serial Peripheral Interface): que será mostrado nesse post;
Perguntas respondidas vamos à prática.. Primeiro você deve baixar a biblioteca do Attiny e adiconar ao Arduino para que ele identifique a placa e possa trabalhar com ela, para isso baixe esse arquivo e descompacte, dentro da pasta "attiny45_85" existe o arquivo "boards" e a pasta "cores" que são os responsaveis pelo funcionamento do Attiny no Arduino, copie a pasta "attiny45_85" para a pasta: "C:\arduino-0023\hardware" onde arduino-0023 é a pasta do seu Arduino, no momento estou usando a versão 23, pois a versão 1.0 trouxe muitos problemas para meus projetos e iria atrasar muito fazer a adaptação dos códigos.
Após colocar a pasta lá, abra a interface do seu Arduino, e veja que agora ele suporta mais placas:
 Bom, antes de começar a gravar os códigos vamos preparar o Arduino Duemilanove para ser o nosso gravador, para isso conecte-o no PC e faça o upload para a placa do código "ArduinoISP", veja onde encontrá-lo:
Esse é o código responsável por fazer a comunicação com o Attiny e gravar os códigos nele. Após carregar o sketch na placa vamos fazer as ligações necessárias para gravar o Attiny, para isso veja a imagem a baixo para ver como ligar corretamente os fios:
 
Onde:
- Pino 1 do attiny deve ser conectado ao pino 10 do arduino;
- Pino 4 do attiny deve ser conectado ao GND, o mesmo pino deve ser conectado ao reset do arduino através de um capacitor eletrolítico de 10uF/16V;
- Entre o pino 1 do attiny e o GND deve ser colocado um botão de pressão para reset do microcontrolador;
- Pino 5 do attiny deve ser conectado na porta 11 do arduino. No mesmo pino 5 você pode colocar um LED e um resistor (da mesma forma que o arduino possui um LED no pino 13, a vantagem é que quando você estiver fazendo o ulpoad de seus códigos para o microcontrolador o led vai piscar indicando transferência de dados).
- Pino 6 do attiny deve ser conectado no pino 12 do arduino;
- Pino 7 do attiny deve ser conectado no pino13 do arduino;
- pino 8 do attiny deve ser conectado ao positivo;
De forma resumida a pinagem do attiny é a seguinte:
Com o circuito montado e conectado a sua placa arduino, para fazer o upload dos códigos você só precisa selecionar a porta COM e depois em "Board" selecionar "Attiny85 (ou 45) (w/ Arduino as ISP) e fazer o upload, para teste vamos fazer o upload do código "blink", a única modificação que precisamos fazer é o número da porta, pois o attiny não possui porta 13, para isso basta mudar no código o 13 por 0 (pino 5 do nosso attiny como mostrado a cima). O código vai ficar assim:
Após o upload do código pode aparecer uma mensagem em vermelho na IDE do Arduino, mas ela não afeta em nada o funcionamento.
Para deixar uma aparência melhor, criei um shield de gravação que encaixo sobre a placa arduino, veja como ele fica:
Basicamente apenas adicionei uma fonte de alimentação na parte superior onde posso desconectar o sheild da placa arduino e conectá-lo em uma protoboard e utilizar normalmente, além disso os pinos do attiny possuem conexão para baixo através dos pinos macho para a protoboard e pinos fêmea na parte de cima para testes.
Aqui uma imagem do shield ao lado da placa:
E aqui a foto da pequena placa que montei para rodar o Attiny85 em modo "standalone":
Essa pequena placa mede 4cm de coprimento por 2cm de largura, e possui 2 saídas no padrão futaba além de pinos fêmea para conexões, o capacitor é necessário para armazenar a carga para alimentar os servos, pois se os mesmos se movimentarem rapidamente consomem uma corrente maior que pode fazer o attiny ser reiniciado (mesmo problema do arduino).
As Funções que o ATtiny suporta com o Arduino são:
Bom pessoal, por hoje é isso, na próxima talvez eu mostre o acionamento de dispositivos AC com relés. Um abraço e até mais.

Fontes:
- Loja onde coprei o kit para a montagem do Attiny;
- Datasheet do Attiny;
- Arduino como programador ISP;
- Programando um Attiny com Arduino 1.0;
- Programando o attiny45 ou attiny85 com arduino;