Wednesday, August 12, 2026
Thursday, January 29, 2026
Combinando portas lógicas NAND chip TTL 74HC00

Implementemos este circuito no chip TTL 74HC00, mostrado na figura abaixo:


A tabela-verdade para a porta lógica é mostrada a seguir:
1. Construa a tabela-verdade acima para este circuito.
2. Implemente o exemplo acima e teste-o.
3. Construa um diagrama para o circuito.
4. Implemente este exemplo fisicamente.
5. Construa o circuito que implementa a porta lógica descrita abaixo. Construa o diagrama, simule e Tinkercad, construa a tabela-verdade e implemente fisicamente usando chips TTL. CIs CMOS são mais frágeis e suscetíveis a eletricidade estática e devem ser usados em uma configuração de circuitos diferente desta, como veremos mais tarde..

Simulando saídas analógicas com analogWrite
1. Modifique o projeto acima de modo que tenhamos dois LEDs funcionando de modos opostos.
2. Modifique o projeto acima de modo que tenhamos uma fileira de LEDs cujas luminosidades aumentam e diminuem ordenadamente.
Wednesday, January 28, 2026
Porta lógica NOR
A porta lógica NOR pode ser descrita pela tabela-verdade:

Usando a notação booleana usual,
Faremos um teste com o IC 74HC02, descrito abaixo:

Faremos um teste das portas lógicas 1Y, 1A e 1B usando o seguinte diagrama:
Medindo distâncias com som
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal LCD(7,8,9,10,11,12);
int trigPin=13; //Sensor Trip pin connected to Arduino pin 13
int echoPin=3; //Sensor Echo pin connected to Arduino pin 11
float pingTime;
float targetDistance;
int speed= 345; //speed of sound at 26C, 1atm, in m/s
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPin, LOW); //Set trigger pin low
delayMicroseconds(2000); //Let signal settle
digitalWrite(trigPin, HIGH); //Set trigPin high
delayMicroseconds(10); //Delay in high state
digitalWrite(trigPin, LOW); //ping has now been sent
delayMicroseconds(10); //Delay in high state
pingTime = pulseIn(echoPin, HIGH); //pingTime is presented in microceconds
targetDistance = speed*pingTime/1000000/2;
LCD.setCursor(0,1); //Set cursor to first column of second row
LCD.print(" "); //Print blanks to clear the row
LCD.setCursor(0,1); //Set Cursor again to first column of second row
LCD.print(targetDistance); //Print measured distance
LCD.print(" m"); //Print your units.
delay(250); //pause to let things settle
}
Controlando dois LEDs com um Botão
Medições básicas
Um LED, quando aparece num circuito ativo, apresenta uma tensão o oposta à tensão aplicada. No caso de um LED verde esta tensão é tipicamente de 2 V. Para LEDs vermelhos, amarelos e laranja, típicamente 1.5 V e 3 V para LEDs azuis. A resistência e a tensão no circuito devem ser tais que a corrente no LED não exceda 20 mA. Nesta atividade você deverá determinar esta tensão de oposição experimentalmente. Realize as seguintes atividades:
- Desenhe o diagrama correspondente ao circuito mostrado abaixo e explique o que acontece quando a chave é pressionada.
- Simule em Tinkercad o circuito mostrado abaixo. Construa o seu próprio circuito e determine os valores medidos nos multímetros.
- Construa este circuito fisicamente e meça a resitência R, a tensão Vf da fonte, Vr no resistor VL no LED verde e a corrente no circuito. Verifique se VL+Vr=Vf e discuta as razões para uma possível discrepância. Compare os resultados medidos com aqueles da simulação.
- Meça VL para ao menos 20 LEDs verdes e calcule a média e a dispersão da tensão no LED. Construa a distribuição t.
- Refaça o iten 4 utilizando LEDs vermelhos, brancos, amarelos e azuis.
Tensão sobre o LED
Nesta atividade mediremos a tensão sobre um led vermelho e a corrente no circuito. Com isso, determinaremos sua resistência. Usemos o led vermelho. O circuito é o seguinte.
Programando o acendimento do LED
Nesta atividade, usando a placa Uno, ilustraremos o uso de funções em Sketch, fazendo ficar acesso e apagado 6 vezes, em intervalos de 0.4 s. O processo para por 5 s e depois se repete. O esquema é mostrado abaixo.
// Programa led2
const int ledPin = 12;
const int delayPeriod = 400;
// Led pisca 10 vezes
// Pausa por 5 segundos
// Repete
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
flash(6, delayPeriod);
delay(5000);
}
void flash(int numFlashes, int d) {
for (int i = 1; i<=numFlashes; i++){
digitalWrite(ledPin, HIGH);
delay(d);
digitalWrite(ledPin, LOW);
delay(d);
}
}
Fazendo o led piscar
Aqui está o programa:
void setup() {
// put your setup code here, to run once:
pinMode(10, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(10, HIGH);
delay(300);
digitalWrite(10, LOW);
delay(1000);
}
Ao contrário do que foi feito no vídeo, usei um breadboard como mostrado abaixo.












