Está en la página 1de 11

Simulación de circuitos

Maria Lucia Salcedo teheran.

Corporación unificada nacional de educación superior

Circuitos básicos y laboratorio

profesor: LUIS FERNANDO SAMACA.

18 /marzo/2024
Codigos de programación de circuitos

1. Ejercicio libre:

#include <LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

int sensorMovimiento=13;

int alarma=9;

int ledVerde=8;

int ledRojo=10;

void setup()

pinMode(ledVerde, OUTPUT);

pinMode(ledRojo, OUTPUT);

pinMode(alarma, OUTPUT);

pinMode(sensorMovimiento,INPUT);

Serial.begin(9600);

lcd.begin(16,2);

lcd.setCursor(4,0);

lcd.print("ESTADO:");

void loop()

if(digitalRead(sensorMovimiento)==HIGH)

lcd.setCursor(3,1);
lcd.print("MOVIMIENTO");

digitalWrite(ledRojo, HIGH);

digitalWrite(ledVerde, LOW);

digitalWrite(alarma, HIGH);

else

lcd.setCursor(3,1);

lcd.print(" NADA ");

digitalWrite(ledRojo, LOW);

digitalWrite(ledVerde,HIGH);

digitalWrite(alarma, LOW);

2. Ejercicio de un semáforo

// Prueba de Semaforo.

int ledrojo = 13; // Creamos las variables a utilizar y sus pines correspondientes,

int ledverde = 12;

int ledamarillo = 11;

void setup() { // La configuracion se ejecuta una vez al presionar reestablecer.

// configurando el Pin 13 como una salida.

pinMode(13,OUTPUT );

Serial.begin(9600); // Velocidad de transferencia de datos a la placa


// Configurando Pin 12 como salida

pinMode(12,OUTPUT);

Serial.begin(9600);

// Configurando pin 11 como salida.

pinMode(11,OUTPUT);

Serial.begin(9600);

// el bucle, Programa, loop se ejercuta una y ota vez sin limite.

void loop() {

// Programando encendido y apagado del pin 13 (Led rojo).

//Encendido.

digitalWrite(13,HIGH ); // Enciende el led (HIGH,Voltaje alto, valor True).

Serial.println("NIVEL ALTO"); //mensaje enviado a la placa.

delay(1000); //( 10000 para prueba fisica) Mantiene encendido por tiempo

señalado en mlisegundos.

// Apagado.

digitalWrite(13,LOW); // El led se apaga con bajo voltaje, estado FALSE.

Serial.println("NIVEL BAJO"); // Mensaje enviado a la placa.


delay(1000); // Mantiene apagado por tiempo señalado en milisegundos.

// Programando encendido y apagado del pin 12 (Led Verde).

// Encendido.

digitalWrite(12,HIGH); // Encendido con voltage alto, estado TRUE.

Serial.print("NIVEL ALTO"); // Mensaje enviado a la placa.

delay(1000); //( 8000 para prueba fisica) Tiempo encendido en milsegundos.

//Apagado.

digitalWrite(12,LOW); // Apagado con voltage bajo, estado FALSE.

Serial.print("NIVEL BAJO"); // Mensaje enviado a la placa.

delay(1000); // Tiempo apagado en milisegundos.

// Programando encendido y apagado del pin 11 (Amarillo).

// Encendido.

digitalWrite(11,HIGH); // Encendido con voltage alto, estado TRUE.

Serial.print("NIVEL ALTO"); // Mensaje enviado a la placa.

delay(1000); // ( 3000 para prueba fisica)Tiempo de encendido en milisegundos.

//Apagado.

digitalWrite(11,LOW); // Apagado con voltage bajo, estado FALSE.

Serial.print("NIVEL BAJO"); // Mensaje enviado a la placa.

delay(1000); // Tiempo de apagado en milisegundos.

3. Construcion de un auto

#include <IRremote.h>

#define Power 0xFD00FF

#define Down 0xFD10EF


#define Derecha 0xFD609F

#define Izquierda 0xFD20DF

int SENSOR=7;

IRrecv irrecv(SENSOR);

decode_results codigo;

int Reverza1=3;

int Adelante1=4;

int Reverza2=5;

int Adelante2=6;

void setup()

Serial.begin(9600); // inicializa comunicacion serie a 9600 bps

irrecv.enableIRIn();

pinMode(Reverza1, OUTPUT);

pinMode(Adelante1, OUTPUT);

pinMode(Adelante2, OUTPUT);

pinMode(Reverza2, OUTPUT);

void loop()

if (irrecv.decode(&codigo)) {
Serial.println(codigo.value, HEX);

if (codigo.value == Power){

digitalWrite(Adelante1, !digitalRead(Adelante1));

digitalWrite(Adelante2, !digitalRead(Adelante2));

irrecv.resume();

if (codigo.value == Down){

digitalWrite(Reverza1, !digitalRead(Reverza1));

digitalWrite(Reverza2, !digitalRead(Reverza2));

irrecv.resume();

if (codigo.value == Derecha){

digitalWrite(Adelante1, !digitalRead(Adelante1));

irrecv.resume();

if (codigo.value == Izquierda){

digitalWrite(Adelante2, !digitalRead(Adelante2));

irrecv.resume();

delay (100);

}
Componentes

1. Ejercicio libre

Nombre Cantidad Componente


U1 1 Arduino Uno R3
U3 1 LCD 16 x 2
-19.702661761427574 , -197.01734674334125 , -183.62328414311378
PIR2 1 Sensor PIR
PIEZO1 1 Piezo
R1, R2, R3, R4,
R5 5 220 Ω Resistencia
D1 1 Verde LED
D2, D3, D4 3 Rojo LED

2. Semáforo

Nombre Cantidad Componente


R1, R2,
R3 3 220 Ω Resistencia
D1 1 Rojo LED
D3 1 Naranja LED
D2 1 Verde LED
U1 1 Arduino Uno R3

3. coche

Nombre Cantidad Componente


M1, M2 2 Motor de aficionado
U1 1 Controlador de motor de puente H
BAT1 1 Pila de 9 V
U2 1 Arduino Uno R3
U4 1 Sensor IR

Imagenes de circuitos
1 2 3 4 5 6

A A

U1_5V

U1
RX VIN
TX 5V
D2 3.3V
D3
D4 AREF
U3
D5 IOREF
PIR2
VCC DB0 D6 RES
B VO DB1 D7 B
Arduino A0
R1 VCC LED+ DB2 D8
1

UNO A1
PIR
2

OUT LED- DB3 D9


220 GND RS LCD DB4 D10 A2
D1
RW 16x2 DB5 D11 A3 GREEN
ENA DB6 D12 A4
GND DB7 D13 A5
SDA
SCL GND

D1_C

U1_D10

C C
U1_GND

U1_GND

D R2 R3 R4 R5 D
220 220 D2 220 D3 220 D4
RED RED RED

U1_D10
D1_C
U1_GND

E E

Title: Copy of Ejercicio 2 - Detector de movimiento con alarma

Made with Tinkercad® Date: 17/3/2024, 18:08:20 Sheet: 1/1


1 2 3 4 5 6

A A

B B
U1
RX VIN
TX 5V
D2 3.3V
D3
D4 AREF
D5 IOREF
D6 RES
D7
Arduino A0
R1 R3 D8 R2
D9
UNO A1
D1 220 D3 220 D10 A2
D2 220
RED ORANGE D11 A3 GREEN
C D12
D13
A4
A5
C
SDA
SCL GND

U1_GND

D D

E E

Title: Copy of Semaforo basico Arduino

Made with Tinkercad® Date: 17/3/2024, 18:14:36 Sheet: 1/1


1 2 3 4 5 6

A A

U2_5V BAT1+

BAT1+

U2
RX VIN
TX 5V
U1
D2 3.3V
VCC2 VCC1 D3
D4 AREF
B 1Y 1-2EN D5 IOREF B
M2 M1
D6 RES
2Y 3-4EN D7
U4
Arduino A0

M M 3Y

4Y
1A

2A
D8
D9
D10
D11
UNO A1
A2
A3
VCC
OUT
GND

GND1 D12 A4
GND2 3A D13 A5
GND3 SDA
GND4 4A SCL GND

C C
BAT1-

BAT1-

BAT1+
D D
BAT1

9V
BAT1-

E E

Title: Copy of Sencillo Carro a control remoto

Made with Tinkercad® Date: 17/3/2024, 18:32:51 Sheet: 1/1

También podría gustarte