Com este exemplo você irá aprender um pouco sobre o funcionamento do transistor como chave, e como demonstração, montará um circuito que funciona como as portas lógicas E e OU de duas entradas. O Arduino controlará as entradas dos dois circuitos e através do serial monitor você poderá acompanhar instantaneamente o estado da tabela da verdade.
Dificuldade:
Montagem:
Programação:
Material Utilizado:
A Montagem
O Sketch
#define A_AND 12 //Define A_AND como 12
#define B_AND 11 //Define B_AND como 11
#define A_OR 3 //Define A_OR como 3
#define B_OR 2 //Define B_OR como 2
void setup()
{
pinMode(A_AND, OUTPUT); //Configura pino 12 como saída
pinMode(B_AND, OUTPUT); //Configura pino 11 como saída
pinMode(A_OR, OUTPUT); //Configura pino 3 como saída
pinMode(B_OR, OUTPUT); //Configura pino 2 como saída
Serial.begin(9600); //Inicia a serial com um baud rate de 9600
}
void loop()
{
Serial.println("| AND | OR |"); //Imprime na serial "| AND | OR |"
Serial.println("| A | B | A | B |"); //Imprime na serial "| A | B | A | B |"
//A B
//0 0
Serial.println("| 0 | 0 | 0 | 0 |"); //Imprime na serial "| 0 | 0 | 0 | 0 |"
digitalWrite(A_AND, LOW); //Desliga LED do pino 12
digitalWrite(B_AND, LOW); //Desliga LED do pino 11
digitalWrite(A_OR, LOW); //Desliga LED do pino 3
digitalWrite(B_OR, LOW); //Desliga LED do pino 2
delay(2000); //Aguarda 1 segundo
//A B
//0 1
Serial.println("| 0 | 1 | 0 | 1 |"); //Imprime na serial "| 0 | 1 | 0 | 1 |"
digitalWrite(A_AND, LOW); //Desliga LED do pino 12
digitalWrite(B_AND, HIGH); //Liga LED do pino 11
digitalWrite(A_OR, LOW); //Desliga LED do pino 3
digitalWrite(B_OR, HIGH); //Liga LED do pino 2
delay(2000); //Aguarda 1 segundo
//A B
//1 0
Serial.println("| 1 | 0 | 1 | 0 |"); //Imprime na serial "| 1 | 0 | 1 | 0 |"
digitalWrite(A_AND, HIGH); //Liga LED do pino 12
digitalWrite(B_AND, LOW); //Desliga LED do pino 11
digitalWrite(A_OR, HIGH); //Liga LED do pino 3
digitalWrite(B_OR, LOW); //Desliga LED do pino 2
delay(2000); //Aguarda 1 segundo
//A B
//1 1
Serial.println("| 1 | 1 | 1 | 1 |"); //Imprime na serial "| 1 | 1 | 1 | 1 |"
digitalWrite(A_AND, HIGH); //Liga LED do pino 12
digitalWrite(B_AND, HIGH); //Liga LED do pino 11
digitalWrite(A_OR, HIGH); //Liga LED do pino 3
digitalWrite(B_OR, HIGH); //Liga LED do pino 2
delay(2000); //Aguarda 1 segundo
Serial.print("\n\n\n\n\n"); //Pula 5 linhas
}