Está en la página 1de 9

Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 1 de 9

FACULTAD DE INGENIERÍA
ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE SISTEMAS

LABORATORIO SESION-12
Tema: Circuitos Digitales y compuertas Lógicas.

Integrantes:

a.- Mestanza Narro Richard

1.- A partir del siguiente circuito:

Actividad: Realizar La simulación en TinkerCAD y grabar en Arduino, simular y adjuntar link


más evidencias de fotos y video demostrativo de operación de cada circuito armado desde el
circuito de PROGRAMA-01 HASTA EL PROGRAMA-11.

Desarrollo:

………..

PROGRAMA-01:

int valor;
void setup()
{ pinMode(A0,INPUT); pinMode(11,OUTPUT); }
void loop()
{valor=analogRead(A0);//Valor=[0..1023]
digitalWrite(11,HIGH);delay(valor);
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 2 de 9

digitalWrite(11,LOW);delay(valor);
}

Link video: https://drive.google.com/file/d/10RPbJlYSgFWVmt_bR1Z8cDin4ZOSlddW/view?


usp=sharing

PROGRAMA-02:

int tiempo=200; //declara una variable


//como entero y de valor 200
void setup() { //comienza la configuración
pinMode(6,OUTPUT);pinMode(7,OUTPUT);
pinMode(8,OUTPUT);pinMode(9,OUTPUT); } //fin setup
void loop() { //Inicio bucle principal Prog
//Desplaza Derecha a Izquierda
digitalWrite(6,HIGH); delay(tiempo);
digitalWrite(6,LOW); delay(tiempo);
digitalWrite(7,HIGH); delay(tiempo);
digitalWrite(7,LOW); delay(tiempo);
digitalWrite(8,HIGH); delay(tiempo);
digitalWrite(8,LOW); delay(tiempo);
digitalWrite(9,HIGH); delay(tiempo);
digitalWrite(9,LOW); delay(tiempo);
//Desplaza Izquierda a Derecha
digitalWrite(9,HIGH); delay(tiempo);
digitalWrite(9,LOW); delay(tiempo);
digitalWrite(8,HIGH); delay(tiempo);
digitalWrite(8,LOW); delay(tiempo);
digitalWrite(7,HIGH); delay(tiempo);
digitalWrite(7,LOW); delay(tiempo);
digitalWrite(6,HIGH); delay(tiempo);
digitalWrite(6,LOW); delay(tiempo);
} //fin loop

Link video: https://drive.google.com/file/d/10SFplXZrEclwaL9lnaeecX7kECR8Lx9Z/view?


usp=sharing

PROGRAMA-03:

int tiempo; //declara una variable


//como entero y de valor 200
void setup() { pinMode(A0,INPUT);
pinMode(6,OUTPUT);pinMode(7,OUTPUT);
pinMode(8,OUTPUT);pinMode(9,OUTPUT); } //fin setup

void Derecha(){//Desplaza Derecha a Izquierda


digitalWrite(6,HIGH); delay(tiempo);
digitalWrite(6,LOW); delay(tiempo);
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 3 de 9

digitalWrite(7,HIGH); delay(tiempo);
digitalWrite(7,LOW); delay(tiempo);
digitalWrite(8,HIGH); delay(tiempo);
digitalWrite(8,LOW); delay(tiempo);
digitalWrite(9,HIGH); delay(tiempo);
digitalWrite(9,LOW); delay(tiempo); }

void Izquierda(){//Desplaza Izquierda a Derecha


digitalWrite(9,HIGH); delay(tiempo);
digitalWrite(9,LOW); delay(tiempo);
digitalWrite(8,HIGH); delay(tiempo);
digitalWrite(8,LOW); delay(tiempo);
digitalWrite(7,HIGH); delay(tiempo);
digitalWrite(7,LOW); delay(tiempo);
digitalWrite(6,HIGH); delay(tiempo);
digitalWrite(6,LOW); delay(tiempo);}

void loop() { //Inicio bucle principal Prog


tiempo=analogRead(A0);// tiempo recibe valores desde [0..1023]
Derecha();
Izquierda();
} //fin loop

Link video: https://drive.google.com/file/d/10XGbikFOylMLmZi0tb4AzfpXArlCaFVy/view?


usp=sharing

PROGRAMA-04:

int tiempo,SW1; //declara una variable


//como entero y de valor 200
void setup() { pinMode(A0,INPUT);pinMode(2,INPUT);
pinMode(6,OUTPUT);pinMode(7,OUTPUT);
pinMode(8,OUTPUT);pinMode(9,OUTPUT); } //fin setup

void Derecha(){//Desplaza Derecha a Izquierda


digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,HIGH);
delay(tiempo);
digitalWrite(6,LOW);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,LOW);
delay(tiempo);
digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,LOW);digitalWrite(9,LOW);
delay(tiempo);
digitalWrite(6,LOW);digitalWrite(7,LOW);digitalWrite(8,HIGH);digitalWrite(9,HIGH);
delay(tiempo);
}

void Izquierda(){//Desplaza Izquierda a Derecha


digitalWrite(9,HIGH); delay(tiempo);
digitalWrite(9,LOW); delay(tiempo);
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 4 de 9

digitalWrite(8,HIGH); delay(tiempo);
digitalWrite(8,LOW); delay(tiempo);
digitalWrite(7,HIGH); delay(tiempo);
digitalWrite(7,LOW); delay(tiempo);
digitalWrite(6,HIGH); delay(tiempo);
digitalWrite(6,LOW); delay(tiempo);}

void loop() { //Inicio bucle principal Prog


tiempo=analogRead(A0);// tiempo recibe valores desde [0..1023]
SW1=digitalRead(2);
if(SW1==HIGH)
{Derecha();}
else
{Izquierda();}
} //fin loop

Link video: https://drive.google.com/file/d/10a8S1FjLB-VGc-


OYw6NcH5yEeBqdcxc4/view?usp=sharing

PROGRAMA-05:

int tiempo,SW1,n; //declara una variable


//como entero y de valor 200
void setup() { pinMode(A0,INPUT);pinMode(2,INPUT);
for (n=6;n<10;n++) { pinMode (n, OUTPUT);
} //fin for
} //fin setup

void Derecha(){//Desplaza Derecha a Izquierda


for (n=6;n<10;n++) {
digitalWrite (n, HIGH);delay (tiempo);
digitalWrite (n, LOW);delay (tiempo); } //fin for
}

void Izquierda(){//Desplaza Izquierda a Derecha


for (n=9;n>5;n--) {
digitalWrite (n, HIGH);delay (tiempo);
digitalWrite (n, LOW);delay (tiempo); } //fin for
}

void loop() { //Inicio bucle principal Prog


tiempo=analogRead(A0);// tiempo recibe valores desde [0..1023]
SW1=digitalRead(2);
if(SW1==HIGH)
{Derecha();}
else
{Izquierda();}
} //fin loop
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 5 de 9

Link video: https://drive.google.com/file/d/10bvwLWjAQxfRGDk8k81xZbO67rW9nzhr/


view?usp=sharin g

PROGRAMA-06:

int tiempo,SW1,n; int leds[]={6,7,8,9};// Declara


variables void setup()
{ pinMode(A0,INPUT);pinMode(2,INPUT); for
(n=0;n<4;n++) { pinMode (leds[n], OUTPUT);
} //fin for
} //fin setup

void Derecha(){//Desplaza Derecha a Izquierda


for (n=0;n<4;n++) {
digitalWrite (leds[n], HIGH);delay (tiempo);
digitalWrite (leds[n], LOW);delay (tiempo); } //fin for
}
void Izquierda(){//Desplaza Izquierda a Derecha
for (n=3;n>=0;n--) {
digitalWrite (leds[n], HIGH);delay (tiempo);
digitalWrite (leds[n], LOW);delay (tiempo); } //fin for
}

void loop() { //Inicio bucle principal Prog


tiempo=analogRead(A0);// tiempo recibe valores desde [0..1023]
SW1=digitalRead(2);
if(SW1==HIGH)
{Derecha();}
else
{Izquierda();}
} //fin loop

Link video: https://drive.google.com/file/d/10eB7vFybNMvq8DHA9l_WVlInlUVa_OUf/


view?usp=sharin g

PROGRAMA-07:

int tiempo,SW1,SW2,n; int leds[]={6,7,8,9};// Declara variables

void setup() { pinMode(A0,INPUT);pinMode(2,INPUT);


for (n=0;n<4;n++) { pinMode (leds[n], OUTPUT);
} //fin for
} //fin setup
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 6 de 9

void Secuencia01(){//Desplaza Derecha a Izquierda


for (n=0;n<4;n++) {
digitalWrite (leds[n], HIGH);delay (tiempo);
digitalWrite (leds[n], LOW);delay (tiempo); } //fin for
}
void Secuencia02(){//Desplaza Izquierda a Derecha
for (n=3;n>=0;n--) {
digitalWrite (leds[n], HIGH);delay (tiempo);
digitalWrite (leds[n], LOW);delay (tiempo); } //fin for
}
void Secuencia03(){//Desplaza Derecha a Izquierda
digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,HIGH);
delay(tiempo);
digitalWrite(6,LOW);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,LOW);
delay(tiempo);
}
void Secuencia04(){//Desplaza Izquierda a Derecha
digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,HIGH);digitalWrite(9,LOW);
delay(tiempo);
digitalWrite(6,LOW);digitalWrite(7,HIGH);digitalWrite(8,LOW);digitalWrite(9,HIGH);
delay(tiempo);
}

void loop() { //Inicio bucle principal Prog


tiempo=analogRead(A0);// tiempo recibe valores desde [0..1023]
SW1=digitalRead(2);SW2=digitalRead(3);
if(SW2==LOW && SW1==LOW)
{Secuencia01();}
if(SW2==LOW && SW1==HIGH)
{Secuencia02();}
if(SW2==HIGH && SW1==LOW)
{Secuencia03();}
if(SW2==HIGH && SW1==HIGH)
{Secuencia04();}
} //fin loop

Link video: https://drive.google.com/file/d/10mkRm6OuHuOxA7KizhD-


d0k8ipWzDMhZ/view?usp=sharing

PROGRAMA-08:

int led1=6; int led2=7;


int led3=8; int led4=9;

void turn_off() { //Apaga los 3 LEDS


digitalWrite(led1, LOW);digitalWrite(led2, LOW);
digitalWrite(led3, LOW);digitalWrite(led4, LOW); }

void setup() {
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 7 de 9

pinMode(led1,OUTPUT);pinMode(led2,OUTPUT)
;
pinMode(led3,OUTPUT);pinMode(led4,OUTPUT)
; turn_off(); } //

void loop(){
int val= analogRead(A0); //VAL ESTA ENTRE [0..1023]
turn_off();//apaga los LED
// Si el valor de la señal medida es > 204 enciende LED del LED1
if (val>= 204) digitalWrite(led1, HIGH);
// Si el valor de la señal medida es > 408 enciende LED del LED2
if (val>= 408) digitalWrite(led2, HIGH);
// Si el valor de la señal medida es > 612 enciende LED del LED3
if (val>= 612) digitalWrite(led3, HIGH);
// Si el valor de la señal medida es > 816 enciende LED del LED4
if (val>= 816) digitalWrite(led4, HIGH);
}

Link video: https://drive.google.com/file/d/10nhbUCBQ-


QrH1KVA25Ll8f62okg3Tck0/view?usp=sharing

CIRCUITO PARA MEDIDAS DE NIVELES

PROGRAMA-09:

int leds[]={2,3,4,5,6,7,8,9};
void turn_off() { //Apaga los LEDS
for (int n=0;n<8;n++) { digitalWrite (leds[n], LOW); } }
void setup()
{ Serial.begin(9600); Serial.println("Es una Medida Analogica:");
pinMode(A0,INPUT);
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 8 de 9

for (int n=0;n<8;n++) { pinMode (leds[n], OUTPUT); }


turn_off(); }
void loop()
{ Serial.print("Sensor Resistivo: ");
Serial.println(analogRead(A0));
int val;
// lee el valor de la señal analógica
val= analogRead(A0);
turn_off(); //apaga los tres LED
// Si el valor de la señal medida es > 204 enciende LED del PIN8
if (val>= 113) digitalWrite(leds[0],HIGH);
if (val>= 226) digitalWrite(leds[1],HIGH);
if (val>= 339) digitalWrite(leds[2],HIGH);
if (val>= 452) digitalWrite(leds[3],HIGH);
if (val>= 565) digitalWrite(leds[4],HIGH);
if (val>= 678) digitalWrite(leds[5],HIGH);
if (val>= 791) digitalWrite(leds[6],HIGH);
if (val>= 904)
digitalWrite(leds[7],HIGH);
}

Link video: https://drive.google.com/file/d/10pTcHEqUe-


8BdZwigbUaZsQiYOOl7199/view?usp=sharing

CIRCUITO CON DISPLAY

PROGRAMA-10:

int tiempo,A=1,B=2,C=3,D=4,E=5,F=6,G=7,DP=8;
void setup()
{pinMode(A,OUTPUT);pinMode(B,OUTPUT);pinMode(C,OUTPUT);
pinMode(D,OUTPUT);pinMode(E,OUTPUT);pinMode(F,OUTPUT);
pinMode(G,OUTPUT);pinMode(DP,OUTPUT);pinMode(A0,INPUT); }
Código : ECD

ELECTRONICA Y CIRCUITOS DIGITALES Versión : 01


Fecha : 09/05/2023
Página : 9 de 9

void cero()
{digitalWrite(A, HIGH);digitalWrite(B, HIGH);
digitalWrite(C, HIGH);digitalWrite(D, HIGH);
digitalWrite(E, HIGH);digitalWrite(F, HIGH);
digitalWrite(G, LOW);digitalWrite(DP, HIGH); }
void uno()
{digitalWrite(A, LOW);digitalWrite(B, HIGH);
digitalWrite(C, HIGH);digitalWrite(D, LOW);
digitalWrite(E, LOW);digitalWrite(F, LOW);
digitalWrite(G, LOW);digitalWrite(DP, LOW); }
void dos()
{digitalWrite(A, HIGH);digitalWrite(B, HIGH);
digitalWrite(C, LOW);digitalWrite(D, HIGH);
digitalWrite(E, HIGH);digitalWrite(F, LOW);
digitalWrite(G, HIGH);digitalWrite(DP, LOW); }
void tres()
{digitalWrite(A, HIGH);digitalWrite(B, HIGH);
digitalWrite(C, HIGH);digitalWrite(D, HIGH);
digitalWrite(E, LOW);digitalWrite(F, LOW);
digitalWrite(G, HIGH);digitalWrite(DP, LOW); }
void loop()
{ tiempo=analogRead(A0);
cero();delay(tiempo); uno();delay(tiempo);
dos();delay(tiempo); tres();delay(tiempo); }

Link video: https://drive.google.com/file/d/10yCV4lhHjywxYSahAgNxuYaC1eshWpZs/view?


usp=sharing

TAREA DE RETO

PROGRAMA-11:

En base al circuito anterior hacer que realice 4 secuencias de conteo diferentes:

1.- Conteo ASCENDENTE: 0,1,2,3,4,5,6,7,8,9,0,1,2,………….

Link video:
https://drive.google.com/file/d/10yCV4lhHjywxYSahAgNxuYaC1eshWpZs/view?usp=sharing

También podría gustarte