Você está na página 1de 19

Funcionamento do circuito:

Para o funcionamento do circuito foram utilizados 13 LED’s de diversas cores, 8


push button e 13 resistores de 1 KΩ. Cada ​push button t​ em o seu LED equivalente
no qual se o primeiro ​push button for acionado o LED vermelho irá acender e assim
sucessivamente. Para cada operação tem sua saída com os LED’s de cor vermelha
no lado direito. Se a operação for 0100+0110=1010 os LED’s a serem acionados
serão de cores laranja, verde e amarelo no qual no lado direito irão acender os
LED’s 1 e 3. O LED que está recuado é o LED de overflow.
Somador 4 bits no Logsim;

Executando a soma de 0011+0011 = 0110;


Circuito Esquemático;
Explicação do Código;

No primeiro momento foi definido os números dos pinos e em seguida as variáveis.


No ​void setup foram definidas as configurações dos LED’s e ​push buttons​. Quando
o botão do número é acionado o LED é acionado e após a operação outros LED’s
são acionados. Esse código é um somador de 4 bits no qual pudendo fazer as
seguintes combinações: 1000+0000, 11000 +0000, 1110+0000, 1111+0000,
1111+1000, 1111+1100, 1111+1110, 1111+1111, 0100+0000, 1100+0000,
1110+000, 1111+0000, 1111+1000, 1111+1100, 1111+1100, 1111+1110,
0000+1000, 0000+1100, 0000+1110, 0000+1111, 0001+1111, 0011+1111,
0011+1111, 0111+1111, 0010+0100, 0010+0011, 0011+0011. Em algumas das
combinações haverá overflow no qual só será acionado um LED.
Código;
const int BUTTON1 = 13;

const int BUTTON2 = 12;

const int BUTTON3 = 11 ;

const int BUTTON4 =9 ;

const int BUTTON5 = 8;

const int BUTTON6 = 7 ;


const int BUTTON7 = 6 ;

const int BUTTON8 =5 ;

const int a1 = 4 ;

const int a2 = 3 ;

const int a3 = 14 ;

const int a4 = 15;

const int b5 = 16;

const int b6 = 17 ;

const int b7 = 18 ;

const int b8 = 19;

const int LED9 = 0;

const int LED10 = 1 ;

const int LED11 = 2 ;

const int LED12 = 4 ;

const int LED13 = 20 ;

int BUTTONstate1 = 0 ;

int BUTTONstate2 = 0 ;

int BUTTONstate3 = 0 ;
int BUTTONstate4 = 0 ;

int BUTTONstate5 = 0 ;

int BUTTONstate6 = 0 ;

int BUTTONstate7 = 0 ;

int BUTTONstate8 = 0 ;

void setup ()

pinMode ( BUTTON1 , INPUT );

pinMode ( BUTTON2 , INPUT );

pinMode ( BUTTON3 , INPUT );

pinMode ( BUTTON4 , INPUT );

pinMode ( BUTTON5 , INPUT );

pinMode ( BUTTON6 , INPUT );

pinMode ( BUTTON7 , INPUT );

pinMode ( BUTTON8 , INPUT );

pinMode ( a1 , OUTPUT );

pinMode ( a2 , OUTPUT );

pinMode ( a3 , OUTPUT );

pinMode ( a4 , OUTPUT );

pinMode ( b5 , OUTPUT );

pinMode ( b6 , OUTPUT );

pinMode ( b7 , OUTPUT );

pinMode ( b8 , OUTPUT );

pinMode ( LED9 , OUTPUT );

pinMode ( LED10 , OUTPUT );

pinMode ( LED11 , OUTPUT );


pinMode ( LED12 , OUTPUT );

pinMode ( LED13 , OUTPUT );

void loop ()

BUTTONstate1 = digitalRead ( BUTTON1 );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == LOW &&

BUTTONstate3 == LOW && BUTTONstate4 == LOW&&

BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( LED9 , HIGH );

// digitalWrite ( LED13 , HIGH );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == LOW && BUTTONstate4 == LOW&&

BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

// digitalWrite ( LED13 , HIGH );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == LOW&&


BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

// digitalWrite ( LED13 , HIGH );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH&&

BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

digitalWrite ( LED12 , HIGH );

// digitalWrite ( LED13 , HIGH );

}
if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH&&

BUTTONstate5 == HIGH && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( LED13 , HIGH );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH&&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED11 , HIGH );

digitalWrite ( LED12 , HIGH );

}
if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH&&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( b7 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED12 , HIGH );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH&&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == HIGH)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );
digitalWrite ( b7 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH&&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == HIGH)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( b7 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

BUTTONstate2 = digitalRead ( BUTTON2 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == HIGH &&

BUTTONstate3 == LOW && BUTTONstate4 == LOW&&

BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)


{

digitalWrite ( a2 , HIGH );

digitalWrite ( LED10 , HIGH );

BUTTONstate2 = digitalRead ( BUTTON2 );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == LOW && BUTTONstate4 == LOW&&

BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

BUTTONstate2 = digitalRead ( BUTTON2 );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == LOW&&

BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

BUTTONstate2 = digitalRead ( BUTTON2 );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH &&


BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( LED9 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

digitalWrite ( LED12, HIGH );

BUTTONstate2 = digitalRead ( BUTTON2 );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH &&

BUTTONstate5 == HIGH && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( LED13, HIGH );

BUTTONstate2 = digitalRead ( BUTTON2 );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH &&


BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( LED9, HIGH );

digitalWrite ( LED11, HIGH );

digitalWrite ( LED12, HIGH );

BUTTONstate2 = digitalRead ( BUTTON2 );

if ( BUTTONstate1 == HIGH && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH &&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == LOW)

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );
digitalWrite ( b7 , HIGH );

digitalWrite ( LED9, HIGH );

digitalWrite ( LED10, HIGH );

digitalWrite ( LED12, HIGH );

BUTTONstate5 = digitalRead ( BUTTON5 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&

BUTTONstate3 == LOW && BUTTONstate4 == LOW&&

BUTTONstate5 == HIGH && BUTTONstate6 == LOW &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( b5 , HIGH );

digitalWrite ( LED13 , HIGH );

BUTTONstate5 = digitalRead ( BUTTON5 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&

BUTTONstate3 == LOW && BUTTONstate4 == LOW&&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == LOW)

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( b7 , HIGH );

digitalWrite ( LED13 , HIGH );

}
BUTTONstate5 = digitalRead ( BUTTON5 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&

BUTTONstate3 == LOW && BUTTONstate4 == LOW&&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == HIGH)

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( b7 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( LED13, HIGH );

BUTTONstate5 = digitalRead ( BUTTON5 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&

BUTTONstate3 == LOW && BUTTONstate4 == HIGH &&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == HIGH)

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( b7 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( a1 , HIGH );

BUTTONstate5 = digitalRead ( BUTTON5 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&


BUTTONstate3 == HIGH && BUTTONstate4 == HIGH &&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == HIGH)

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( b7 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );

digitalWrite ( LED11 , HIGH );

BUTTONstate5 = digitalRead ( BUTTON5 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == HIGH &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH &&

BUTTONstate5 == HIGH && BUTTONstate6 == HIGH &&

BUTTONstate7 == HIGH && BUTTONstate8 == HIGH)

digitalWrite ( b5 , HIGH );

digitalWrite ( b6 , HIGH );

digitalWrite ( b7 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( a1 , HIGH );

digitalWrite ( a2 , HIGH );
digitalWrite ( a3 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

BUTTONstate6 = digitalRead ( BUTTON6 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&

BUTTONstate3 == HIGH && BUTTONstate4 == LOW&&

BUTTONstate5 == LOW && BUTTONstate6 == HIGH &&

BUTTONstate7 == LOW && BUTTONstate8 == LOW)

digitalWrite ( b6 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

BUTTONstate6 = digitalRead ( BUTTON6 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&

BUTTONstate3 == HIGH && BUTTONstate4 == LOW&&

BUTTONstate5 == LOW && BUTTONstate6 == HIGH &&

BUTTONstate7 == LOW && BUTTONstate8 == HIGH)

digitalWrite ( b6 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( LED10 , HIGH );


digitalWrite ( LED11 , HIGH );

digitalWrite ( LED12 , HIGH );

BUTTONstate7 = digitalRead ( BUTTON7 );

if ( BUTTONstate1 == LOW && BUTTONstate2 == LOW &&

BUTTONstate3 == HIGH && BUTTONstate4 == HIGH&&

BUTTONstate5 == LOW && BUTTONstate6 == LOW &&

BUTTONstate7 == HIGH && BUTTONstate8 == HIGH)

digitalWrite ( b7 , HIGH );

digitalWrite ( b8 , HIGH );

digitalWrite ( a3 , HIGH );

digitalWrite ( a4 , HIGH );

digitalWrite ( LED10 , HIGH );

digitalWrite ( LED11 , HIGH );

Você também pode gostar