
{circuit.blocs.length ? 'Os blocos da paleta contêm aquele em que você está: um bloco não pode conter a si mesmo.' : 'Nenhum bloco por enquanto. Selecione portas (Shift + arrastar no fundo as enquadra) e depois "Agrupar em bloco": o bloco vai aparecer aqui, pronto para ser colocado quantas vezes você quiser.'}
{posesOuverte > 1 ? 'Você vê os valores deste bloco. O que você muda aqui muda os ' + posesOuverte + ' blocos "' + filAriane[filAriane.length - 1].nom + '".' : 'Você vê os valores do bloco em funcionamento. O que você muda aqui muda o próprio bloco.'}
{detailsComposant.texte}
{ligne}
{texteEnLAir}
| {lettresEntrees[i]} | S |
|---|---|
| {v} | {ligne.s} |
{infoBloc.contenu + ' ' + infoBloc.poses}
| {nomColonne(c)} | {nomColonne(c)} |
|---|---|
| {v} | {texteSortieTable(infoBloc.table.sorties[i], v)} |
{infoBloc.sansTable}
{texteFil.texte}
Mova-os juntos, ou agrupe-os num bloco reutilizável: os fios que entram no pedaço viram as suas entradas, os que saem, as suas saídas. Os interruptores, as lâmpadas e os displays ficam do lado de fora.
Clique num componente para configurá-lo e ver o que ele faz. Para ligar dois componentes, puxe um fio de um pino até outro; com o dedo, toque num pino e depois no outro. Shift + arrastar no fundo seleciona vários componentes, que "Agrupar em bloco" junta num só; arrastar o fundo move a vista.
Todas as combinações das entradas, e o que as saídas mostram. Clique numa linha: as entradas recebem os seus valores.
{texteDoublons}
| {nomColonne(c)} | {nomColonne(c)} |
|---|---|
| {v} | {texteSortieTable(tableCircuit.sorties[i], v)} |
{raisonSansTable}
Um 0 numa expressão vem de uma entrada solta, contada como 0.
Uma barra em cima quer dizer NÃO, "·" quer dizer E, "+" quer dizer OU e "⊕" OU exclusivo.
Cada coluna é um instante: uma entrada que muda, um pulso de clock, ou um passo no modo passo a passo. Nele se lê a ordem dos eventos, e os pulsos curtos que uma porta atrasada deixa passar.
Acrescente interruptores, um clock, lâmpadas ou displays: eles aparecem aqui.
{defiActif.consigne}
{portesDuDefi}
{defiActif.indice}
{resultatDefi.message}
Um desafio coloca os interruptores e as lâmpadas: cabe a você montar as portas entre eles. "Verificar" testa todas as combinações das entradas e diz qual não está certa.
| Circuito | Componentes | Expressões das saídas | Nota |
| {y} |

Simulador de circuitos lógicos: montar, simular, entender
Este simulador não garante o resultado. Ele é fornecido a título indicativo e didático: confira os resultados importantes antes de usá-los, principalmente numa montagem real.
Este simulador de circuitos lógicos funciona como uma bancada: colocam-se interruptores, portas lógicas, lâmpadas, flip-flops ou bytes, ligam-se tudo com fios, e o circuito funciona na hora. Ele foi pensado para aprender: cada componente explica o que faz, a tabela-verdade e a expressão de cada saída se calculam sozinhas, e desafios corrigidos permitem praticar.
Para começar bem, sem saber nada:
- A página abre com uma porta E: clique nos interruptores A e B e olhe a lâmpada. Os fios em 1 ficam laranja.
- Arraste outra porta da paleta e depois puxe um fio de um pino (os pequenos círculos na ponta das pernas) até outro. Com o dedo: toque num pino e depois no outro.
- Clique num componente: as suas configurações e a sua explicação aparecem abaixo do esquema, com a sua tabela quando é uma porta.
- Ative ⚡ Tensão e corrente para ver as tensões dos fios, e depois experimente um desafio.
Os componentes
A paleta os organiza em seis famílias. Cada componente pode ser configurado depois de selecionado: o seu nome, o seu número de entradas, o seu número de bits…
| Família | Componentes | Para que servem |
|---|---|---|
| Entradas | interruptor, botão de pressão, constante 0 ou 1, clock, número de vários bits | dar os valores de partida, à mão ou no ritmo do clock |
| Portas | E, OU, NÃO, OU exclusivo, NÃO-E, NÃO-OU, NÃO-OU exclusivo, buffer | calcular: de 2 a 8 entradas, num bit ou bit a bit num byte |
| Bytes | separador, criador de byte, mostrador de número, somador | passar dos bits aos números, e calcular com números |
| Saídas | lâmpada, display de 7 segmentos, display hexadecimal, nota | ver o resultado; a nota serve para anotar o esquema |
| Memória | flip-flops D, JK e T, contador | guardar um valor, contar os pulsos de clock |
| Blocos | os pedaços de circuito que você agrupou | reutilizar um circuito sob um único símbolo, quantas vezes quiser |
As portas são desenhadas com os símbolos americanos (ANSI, de formas arredondadas) ou europeus (IEC 60617, retângulos marcados &, ≥1, =1 ou 1). O botão Símbolos ANSI passa de um para o outro.
Ligar os componentes: pinos, fios e barramentos
- Um pino é a ponta de uma perna: à esquerda as entradas, à direita as saídas. Um pino ainda livre é marcado com um pequeno círculo.
- Um fio vai de uma saída até uma entrada. Uma saída pode alimentar quantas entradas quiser; um ponto preto marca o lugar onde o fio se divide. Dois fios que se cruzam sem ponto não se tocam.
- Uma entrada só recebe um fio. Puxar um segundo substitui o primeiro. Duas saídas nunca se ligam: cada uma impõe a sua tensão, e elas se contradiriam. Numa montagem de verdade, seria um curto-circuito.
- Uma entrada solta, ligada a nada, fica circulada de rosa. O simulador a conta como 0, mas num circuito de verdade ela não vale nem 0 nem 1: ela capta ruído e o circuito se comporta ao acaso. Ligue-a, se preciso a uma constante.
- Um barramento é um fio grosso que leva vários bits de uma vez, e o seu valor aparece na saída dele. Um fio só liga dois pinos da mesma largura: 8 bits com 8 bits, 1 bit com 1 bit.
O traçado dos fios é automático, em ângulo reto. Para mover uma dobra, selecione o fio e puxe a sua alça quadrada.
Os bytes: separar e agrupar os bits
Um byte são 8 bits que formam um número de 0 a 255. Cada bit tem um peso: o bit 0 vale 1, o bit 1 vale 2, o bit 2 vale 4… até o bit 7, que vale 128. O número 42 se escreve 0010 1010: 32 + 8 + 2.
- O criador de byte junta fios de um bit num único barramento. O exemplo “Criar um byte, bit por bit” liga 8 interruptores a um mostrador.
- O separador faz o contrário: ele põe cada bit de um barramento no seu próprio fio. O bit mais significativo fica em cima.
- O mostrador de número lê um barramento em binário, decimal e hexadecimal. Ajustado “com sinal”, ele o lê em complemento de dois: em 8 bits, 255 vira −1, como num processador.
- Uma porta pode trabalhar com um byte: ajustada para 8 bits, uma porta E combina as suas entradas bit a bit. É o princípio de uma máscara, como as máscaras de sub-rede em redes de computadores.
- O somador soma dois números e um vai-um. O seu vai-um de saída acende quando o resultado não cabe mais no número de bits: 200 + 100 não cabe num byte.
Para passar de uma base para outra sem circuito, veja o conversor decimal, binário e hexadecimal.
Tensão e corrente: o que acontece nos fios
Num circuito eletrônico, um 1 e um 0 são tensões. O botão ⚡ Tensão e corrente as mostra:
- Um fio em 1 está na tensão da alimentação, muitas vezes 5 V ou 3,3 V: diz-se que ele está em nível alto. Um fio em 0 está em 0 V, ligado ao terra.
- Uma entrada não precisa de uma tensão exata: um circuito da família 74HC lê um 0 abaixo de 30% da tensão de alimentação, e um 1 acima de 70%. Entre os dois, a sua resposta não é garantida.
- A corrente só circula de fato para o que consome. Uma entrada de porta CMOS quase não consome: é a tensão que leva a informação. Os tracejados animados só aparecem, portanto, nos fios que alimentam uma lâmpada.
- Uma lâmpada é, na realidade, um LED com um resistor que limita a sua corrente. Um LED vermelho tem uma queda de cerca de 2 V: em 5 V com 330 Ω, passam (5 − 2) / 330 ≈ 9 mA. O simulador mostra isso ao lado de cada lâmpada acesa.
Para calcular uma resistência ou uma corrente, veja as ferramentas tensão, corrente, resistência e potência e código de cores dos resistores.
A memória: flip-flops, clock e contadores
Uma porta não guarda nada: a sua saída só depende das suas entradas do momento. Um flip-flop guarda um valor, e o muda na borda de subida do seu clock, o instante em que ele passa de 0 a 1.
- O flip-flop D copia D na borda de subida, e o guarda até a seguinte. Ajustado para 8 bits, é um registrador: a memória de um byte.
- O flip-flop JK vai para 1 com J, para 0 com K, e se inverte quando J e K valem 1 juntos.
- O flip-flop T se inverte a cada borda quando T vale 1. Ele divide a frequência por dois: em cadeia, eles contam em binário (exemplo “Contar em binário com flip-flops T”).
- O contador faz a mesma coisa num só componente, e é zerado pela sua entrada CLR.
Duas portas NÃO-OU que se sustentam uma à outra já formam uma memória: é o latch RS do exemplo de mesmo nome. O clock é ligado com ▶, ou avança meio ciclo com Alternar clock. O diagrama de tempo traça a história de cada entrada e de cada saída, coluna por coluna: é a melhor maneira de acompanhar um circuito com memória.
O passo a passo: o tempo de propagação de uma porta
Uma porta de verdade não responde na hora: ela precisa de alguns nanossegundos. No modo Passo a passo, cada clique em Próximo passo avança o tempo de uma porta, e os componentes que esperam a vez ficam enquadrados. Vê-se então o sinal atravessar o circuito, porta depois de porta.
Também se descobrem os glitches: ligue A a uma porta E, diretamente e através de uma porta NÃO. Em teoria, A·Ā vale sempre 0. Mas quando A passa para 1, a porta NÃO leva um passo para reagir, e a porta E vê por um instante dois 1: um pulso curto parasita aparece no diagrama de tempo. É por isso que os circuitos com memória esperam a borda do clock para ler as suas entradas.
O exemplo “Três NÃO em laço” nunca se estabiliza: cada porta inverte a seguinte, sem fim. O simulador avisa; no passo a passo, dá para vê-lo oscilar.
Tabela-verdade e expressão do circuito
O painel Tabela-verdade testa todas as combinações das entradas e anota o que cada saída mostra, até 6 bits de entrada (64 linhas). Um clique numa linha ajusta os interruptores como ela. Para cada lâmpada, a ferramenta também lê a expressão do circuito, porta por porta, na notação da álgebra de Boole.
O link Simplificar na álgebra de Boole abre essas expressões na calculadora de álgebra de Boole: ela as simplifica regra por regra, desenha o seu mapa de Karnaugh e conta as portas economizadas. Um circuito com memória não tem tabela-verdade: as suas saídas também dependem do passado.
Os blocos: agrupar um pedaço de circuito para reutilizá-lo
Um circuito que cresce se lê melhor por pedaços. Um bloco junta um pedaço de circuito sob um único símbolo, como um chip: as suas entradas à esquerda, as suas saídas à direita, e o seu nome na faixa de cima.
- Criar um bloco: selecione as portas a agrupar (Shift + arrastar no fundo as enquadra) e depois Agrupar em bloco. Os fios que entravam no pedaço viram as entradas do bloco, os que saíam, as suas saídas. Os interruptores, as lâmpadas e os displays ficam do lado de fora, e dão o seu nome aos pinos.
- Reutilizá-lo: o bloco vai para a paleta, aba Blocos. Coloque quantos quiser, até dentro de outro bloco: o exemplo “Somar dois números de 2 bits” coloca dois somadores completos, feitos cada um de dois meios-somadores. A paleta acompanha você de um exemplo ou de um desafio para o outro.
- Olhar dentro: um clique duplo num bloco, ou Ver o interior, o abre em funcionamento, com os valores daquele bloco. Lá dentro, os interruptores são as entradas do bloco e as lâmpadas, as suas saídas. O que você muda ali muda todos os blocos de mesmo nome, e Esc sobe um nível.
- Desfazê-lo: Desagrupar devolve o seu conteúdo ao esquema, ligado como antes.
Um bloco não muda nada no cálculo: a tabela-verdade e a expressão de cada lâmpada se leem através dele, e no passo a passo o sinal atravessa as suas portas como se estivessem do lado de fora. Selecionado, um bloco também mostra a sua própria tabela-verdade. É assim que se projetam os circuitos de verdade, com tijolos montados: oito somadores completos em sequência, cada um passando o seu vai-um para o seguinte, somam dois bytes.
Os desafios
Cada desafio coloca interruptores e lâmpadas e dá uma instrução: cabe a você montar as portas entre eles. O botão Verificar testa todas as combinações das entradas e diz exatamente qual não dá o resultado certo. Alguns impõem um só tipo de porta: dá para construir qualquer circuito só com portas NÃO-E, e o desafio “O OU exclusivo com quatro NÃO-E” mostra isso. Há uma dica se você travar, e os desafios concluídos continuam marcados de uma visita para a outra.
Perguntas frequentes
- O simulador se comporta como um circuito de verdade?
- Para a lógica, sim: as portas, os flip-flops e os bytes dão os mesmos 0 e 1. Mas ele não simula as tensões intermediárias, nem os atrasos reais (cada porta conta como um passo), nem o número de entradas que uma saída pode alimentar, nem o consumo. Antes de montar, confira a folha de dados dos componentes.
- Por que o meu flip-flop não muda quando eu mudo D?
- Porque ele só escuta D na borda de subida do seu clock. Mude D e depois faça o clock passar de 0 a 1, com Alternar clock (duas vezes se ele já estiver em 1) ou ligando-o.
- Como somar dois números de 8 bits?
- Carregue o exemplo “Somar dois bytes”: dois números de 8 bits entram num somador, e um mostrador lê o resultado. Para ver o que há dentro, carregue “O somador completo”: é o circuito de um só bit, que o somador repete oito vezes passando o vai-um de um bit para o seguinte.
- Por que a ferramenta se recusa a ligar duas saídas?
- Uma saída impõe a sua tensão. Se uma está em 5 V e a outra em 0 V, elas brigam: numa montagem de verdade, uma corrente forte passa de uma para a outra e pode destruir o circuito. Para juntar dois sinais, é preciso uma porta, por exemplo um OU.
- Como reutilizar um pedaço de circuito?
- Agrupe-o em bloco: selecione as suas portas e depois Agrupar em bloco. O bloco vai para a paleta, aba Blocos, e pode ser colocado quantas vezes quiser, inclusive dentro de outro bloco. Um clique duplo o abre para ver o seu interior em funcionamento.
- O meu circuito fica guardado se eu fechar a página?
- Sim, neste navegador: o último circuito volta na visita seguinte. Para guardá-lo em outro lugar, ou passá-lo para alguém, use Salvar o arquivo ou Link para compartilhar.
Salvar, compartilhar, retomar
O circuito atual fica guardado no seu navegador, nada é enviado ao site. Salvar o arquivo o baixa como arquivo .json, que Abrir um arquivo carrega de novo, em qualquer aparelho. Link para compartilhar põe o circuito inteiro num endereço: quem o abre encontra o mesmo esquema. Salvar imagem gera uma imagem PNG do esquema, com fundo claro, com a expressão de cada lâmpada: dá para colocá-la num relatório de aula prática. O botão Salvar acrescenta uma linha ao histórico, abaixo do esquema, com a composição do circuito e as expressões das suas saídas. O arquivo também guarda todos os blocos da paleta; o link, os que o circuito usa.
Atalhos de teclado
Depois de um clique no esquema, e fora dos campos de digitação:
Del ⇝ Excluir a seleção
Ctrl + Z ⇝ Desfazer; Ctrl + Y ⇝ Refazer
Ctrl + C, X, V ⇝ Copiar, recortar, colar; Ctrl + D ⇝ Duplicar
Ctrl + A ⇝ Selecionar tudo; as setas movem a seleção (com Shift, cinco vezes mais longe)
Ctrl + G ⇝ Agrupar a seleção num bloco; clique duplo num bloco ⇝ Abri-lo
Ctrl + roda do mouse ⇝ Zoom; Esc ⇝ Cancelar um fio em andamento, sair de um bloco aberto ou sair da tela cheia