Está en la página 1de 3

// Automatismo de Llenado de Tanque aéreo

//Realizado Por Erick Toyo CI 25096098

//Codigo Fuente en Lenguaje C

#define PIC16F88 ;

Char Start // orden de llenado

char FS1 ; // sensor de flujo 1

char FS2 ; // sensor de Flujo 2

char HLS ; // sensor de nivel maximo

void main()

OSCCON = 0x40 ; //Oscilador interno a 1MHz

while (OSCCON.IOFS == 0) ; // Esperar a que estabilize el oscilador

not_rbpu_bit = 0 ; // Activar las Pull-ups del puerto b

ansel = 0 ; // Entradas analogicas configyradas cono I/O digitales

trisa = 0x00 ; // Puerto A configurado como salida

porta = 0x00; // Inicializar puerto A

trisb = 0xFF ; // Puerto B configurado como entrada

portb = 0x00 ; // Inicializar puerto B

do // Incio del bucle infinito

FS1 = portb.rb0 ; // Asignar sensor de flujo 1 al pin rb0

HLS = portb.rb2 ; // Asignar el sensor de nivel maximo a rb2

FS2= portb.rb3 ; // Asignar el sensor de flujo 2 al pin rb3

if (Button(&portb, 1 , 1 , 0)) // Cuando se presiona el pulsador

start = 1 ; // Se da la orden de inicio de llenado

if ( FS1 == 1 ) // Si no hay suministro de agua

start = 0 ; // Se desabilita la orden de llenado.

if (HLS == 1 ) // Si el tanque esta lleno


{

start= 0 ; // Desabilitar la oeden de llenado llenado

ra2_bit = 1 ; } // y activar la solenoide 2

if (FS2 == 1) // Si el tanque esta vacio

{ ra2_bit = 0 ; // Desactivr la solenoide 2

ra3_bit = 1 ; } // y Encender el piluto luminoso de alarma

else // De lo contrario

{ra3_bit = 0 ;} // De lo contrario apagar el piloto luminoso

if (start == 1) // Si la orden de llenado esta activa

{ra0_bit = 1 ; // Activar la solenoide 1

delay_ms(5000) ; // Esperar 15 segundos

ra1_bit = 1 ;} // Encender la bomba de agua

else // De lo contrario

{ ra0_bit=0 ; // Desactivar la solenoide 1

ra1_bit=0 ;} // Y Apagar la bomba de agua

} while(1) ; // Reinicio del bucle infinito

} // Cierre de Void main


RT

SW-SPST

Simulación en Proteus
RL1(COM)

U8 R2
1 6
0.360k

2 PUMP
Zero 120V
Crossing 4
KM1
G2R-14-AC120
MOC3041M

R4 C1

10k
10uF
15
16
4

U1
R A 6 /O S C 2 /C L K O U T
3 /A N 3 /C 1 O U T /V R E F + R A 5 /M C L R
R A 7 / O S C 1 / C L K IN

PIC16F88

R1
0.220k
2 /A N 2 /C V R E F /V R E F -
6 /A N 5 /T 1 O S O /T 1 C K I

4 /A N 4 /T 0 C K I/C 2 O U T
2 /S D O /R X /D T
7 /A N 6 /T 1 O S I

0 /IN T /C C P 1
5 / S S / T X /C K
4 / S C K /S C L

U11
1 /S D I/S D A
3 /C C P 1

1 6
1 /A N 1
0 /A N 0

FS1(NO) COIL1
R7 G2R-14-AC120
B
B
B
B
B
B
B
B
A
A
A
A
A
R
R
R
R
R
R
R
R
R
R
R
R
R

2
0.220k SOL1
13
12
11
10
9
8
7
6
3
2
1
18
17

Zero 120V
Crossing 4
R8 MOC3041M
FS1 U5
R5 1 A C 4
0.220k U12
SW-SPST 1k 1 6
COIL2
2 3 G2R-14-AC120
K E
PC817
R9 2
U4 SOL2
R6 1 A C 4
0.220k
Zero
Crossing 4 120V
1k
2 3 MOC3041M
K E U13
PC817 1 6
HLS U3
R11 1 A C 4
SW-SPST
WARNIG
1k
2
2 3
K E Zero
PC817 Crossing 4
FS2 U2
R10 1 A C 4 MOC3041M 120V
SW-SPST 1k
2 3
K E
PC817

También podría gustarte