Acendedor de leds pela porta paralela
Publicado por Angelito Monteiro Goulart (última atualização em 11/03/2010)
[ Hits: 18.508 ]
Homepage: http://angelitomg.com
Download 1267842472.led.c (versão 2)
Programa com um simples menu onde o usuário pode escolher entre acender ou apagar os leds conectados à porta paralela. Nos comentários do programa segue a dica de como montar o circuito.
Versão 2 - Enviado por Marcelo Paiva em 05/03/2010
Changelog: Segue pequena alteração para carregar numero decimal e acender leds, vai pedir numero em decimal, apos segue sequencia do programa original com menus 1,2, e 3, se digitar 5 vai acender metade dos leds 15 é igual a 0F em hexa e é igual a 00001111 em binario acendendo leds conforme sequencia binaria, vou tentar mandar fotos, tenho pouco tempo e não sei usar ainda ferramentas do site, enfim o mais importante é que a base do programa é 10 e funciona, consegui sucesso no Mandriva 2009 com Gnome e pacotes essential, agora as fotos que vou tentar mandar são no ubuntu9.10 com buid-essential.
/*
* Acendedor de leds pela porta paralela
* Angelito M. Goulart
* Setembro/2009
*
* Esquema Eletrico
*
* Pino2 -> 470R -> LED1
* Pino3 -> 470R -> LED2
*
* Pode-se usar do pino 2 ate o pino 9 para ligar os LEDs
* GND -> Do pino 18 ao pino 25
*
*/
#include
#include
int main(void)
{
int opcao;
int altdec; //variavel adicionada para armazenar numero decimal a ser enviado para porta
ioperm(0x378,3,1); //inicializa a porta paralela
outb(0x00, 0x378);
do
{
printf ("\n=====Entre número em decimal=====\n");
scanf ("%d", &altdec); //carrega decimal
printf ("\n=====Acendedor de Leds=====\n");
printf (" 1.Acender Leds\n");
printf (" 2.Apagar Leds\n");
printf (" 3.Sair\n\n");
printf (" Selecione uma opcao: ");
scanf ("%d", &opcao);
if (opcao == 1)
{
//seta porta com decimal carregado em altdec
outb(altdec, 0x378); //caso a opcao seja 1, acende todos os leds,alterado para altdec
}
if (opcao == 2)
{
outb(0x00, 0x378); //caso a opcao seja 2, apaga todos os leds
}
}while (opcao != 3);
outb(0x00, 0x378);
return (0);
}
Marcelo Paiva
/* * Acendedor de leds pela porta paralela * Angelito M. Goulart * Setembro/2009 * * Esquema Eletrico * * Pino2 -> 470R -> LED1 * Pino3 -> 470R -> LED2 * * Pode-se usar do pino 2 ate o pino 9 para ligar os LEDs * GND -> Do pino 18 ao pino 25 * */ #include <stdio.h> #include <sys/io.h> int main(void) { int opcao; ioperm(0x378,3,1); //inicializa a porta paralela outb(0x00, 0x378); do { printf ("\n=====Acendedor de Leds=====\n"); printf (" 1.Acender Leds\n"); printf (" 2.Apagar Leds\n"); printf (" 3.Sair\n\n"); printf (" Selecione uma opcao: "); scanf ("%d", &opcao); if (opcao == 1) { outb(0xFF, 0x378); //caso a opcao seja 1, acende todos os leds } if (opcao == 2) { outb(0x00, 0x378); //caso a opcao seja 2, apaga todos os leds } }while (opcao != 3); outb(0x00, 0x378); return (0); }
Parte 7 (Pesquisa) - Sessão de estudo sobre MATRIZES.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Quero saber sobre os melhores aplicativos de office para usar em 2024 ... (3)
Queria saber se existe alguma forma de desistalar programa no ubuntu s... (3)
Toda vez que tento atualizar o clamav me deparo com erros ao atualizar... (0)