tanques
plásticos
LIVIANOS - HIGIÉNICOS - FÁCILES DE INSTALAR
Construsistemas
Metales
Plásticos
Soluciones Integrales
Presencia comercialen 40 países
Más de 5,000Distribuidores
21 plantas en 8 países
El grupo ELEMENTIA cuenta con más de 70 años de historia y una capacidad de producción superior a 1.800.000 toneladas por año en la fabricación de productos de fibrocemento, polietileno y concreto para la industria de la construcción.
El grupo ELEMENTIA está conformado por un extenso conjunto de empresas líderes en su área que proporcionan más de 3.500 fuentes de empleo permanente.
Conozca nuestras soluciones constructivas en www.eternit.com.co
Eternit® cuenta con la mayor cobertura de distribución del país, sus 3 plantas ubicadas estratégicamente en las regiones Atlántica, Andina y Pacífica, nos permite respaldar el futuro de la construcción en Colombia.
Gestión de calidad - Eternit® Pacífico S.A. y Eternit® Atlántico S.A.
Gestión de calidad - Eternit® Colombiana S.A.
tanques PLÁstICos
HigiénicosNo se corroen, no sueltan partículas, con superficies lisas y fáciles de limpiar.
ResistentesEl material de los tanques ETERNIT® está especificado para estar expuesto a la intemperie, resistir fuertes cambios de clima y ataques de agentes atmosféricos.
livianosLos tanques ETERNIT® son fabricados con polietileno de la mejor calidad, para garantizar productos livianos.
• tanque de polietileno
• sistema de tratamiento anaeróbico de aguas residuales
44
TANQUES PLÁSTICOSTA
NQ
UE
S P
LÁS
TIC
OS Los tanques ETERNIT® son
fabricados con polietileno de la mejor calidad, para garantizar productos livianos, resistentes y libres de elementos contaminantes. Todos nuestros tanques son elaborados tecnológicamente para cuidar y proteger el agua.
También se ha diseñado el tanque plástico 250 mini de ETERNIT® para ser ubicado en lugares donde no se dispone de espacio o altura suficiente o donde por estética arquitectónica su ubicación se hará en espacios internos.
Volumen brutoLitros
Dimensiones del tanque
mm
Dimensiones de la tapamm
D D1 H D2 H1
250 810 677 720 850 138.0
250 mini 932 815 443 989 124.4
500 931 758 934 975 170.0
1000 1.232 1.031 1.030 1.275 236.0
2000 1.520 1.220 1.550 1.585 280.0
Agrotanque 932 815 443 - -
Dimensiones en mm
• Dos capas:
Capa exterior en negro o azul para evitar el paso de los rayos ultravioleta.
Capa interior clara en tanques negros para facilitar la inspección de líquidos y oscura en tanques de color para prevenir crecimiento de microorganismos.
• Higiénicos
No se corroen, no sueltan partículas, tienen superficies lisas y fáciles de limpiar.
• Resistentes
El material de los tanques plásticos está especificado para estar expuesto a la intemperie, resistir fuertes cambios de clima y ataques de agentes atmosféricos.
Características de los tanques
FICHA TÉCNICA
Tapa ajustable
Tapa ajustable
55
TAN
QU
ES
PLÁ
ST
ICO
S
TANQUES PLÁSTICOS
Instrucciones para la instalación
esquema de instalación hidráulica
1. Conexión de entrada ø 1/2”.
2. Conexión de salida ø 1”.
3. Conexión de rebose ø 1”.
4. Válvula de entrada ø 1/2 “ y flotador.
5. Válvula de paso directo para interrumpir la entrada del agua en caso de reparación o lavado de tanque.
6. Válvula de paso para interrumpir la salida al servicio en caso de reparación o para lavado de tanque.
7. Válvula de paso, se abre solamente para lavar el tanque.
8. Cheque (8) y paso directo o bypass (8A), para aprovechar la presión del acueducto en la red interna de servicio.
9. Unión Universal.
INsTALACIóN HIDrAúLICA
• Antes de instalar el tanque se debe lavar el interior con un desinfectante.
• La superficie que va a soportar el tanque debe ser totalmente horizontal y sin irregularidades que lo deterioren o deformen.
• El área de la plataforma de apoyo debe ser mayor que el fondo del tanque para que no queden partes por fuera.
• La estructura de apoyo debe soportar un peso mayor al peso del tanque lleno. (Tener en cuenta la densidad del líquido).
• No almacene líquidos derivados del petroleo porque deterioran el tanque.
• Las tuberías o mangueras empleadas para las instalaciones hidraúlicas no deben estar torcidas ni hacer fuerza sobre el tanque.
• Siempre utilice las conexiones y accesorios suministrados por Eternit.
Notas:
• La instalación debe ser realizada por personal calificado y certificado para trabajo en alturas.
• El tanque debe permancer bien tapado y con los conductos de ventilación sin obstrucciones.
• Realice inspecciones al menos una vez al año para verificar el correcto funcionamiento y limpieza.
• No instale los tanques cerca de fuentes de calor.
Accesorios necesarios:
Conexiones para tanques plásticos
Rosca para válvula
Interior del tanque
A. Empaque de cauchoB. FlancheC. ArandelaD. Tuerca espigo
Interior del tanque
Interior del tanque
1. Conexión de entrada Ø 1/2˝ 3. Conexión de rebose Ø 1˝
4. Válvula con varilla2. Conexión de salida al servicio Ø 1˝
Localización de las conexiones
66
TANQUES PLÁSTICOSTA
NQ
UE
S P
LÁS
TIC
OS
• Si se dispone de espacio suficiente, en altura, sobre el camión, los tanques se pueden transportar en arrumes verticales, en las cantidades indicadas en el cuadro.
• Los arrumes pueden colocarse sobre la plataforma del camión o sobre otros productos como tejas onduladas o planas teniendo la precaución de hacerlo sobre cartón para evitar daños por rozamiento y vibración durante el viaje.
• Al descargar los tanques evite arrastrarlos sobre la plataforma del camión o sobre los demás productos.
INsTALACIóN, TrANsPOrTE Y ALMACENAMIENTO
transporte en arrumes verticales
Beneficios
apilablesLos tanques permiten ser encajados unos entre otros mejorando su condición de transporte y almacenamiento.
HigiénicosNo se corroen, no sueltan partículas, con superficies lisas y fáciles de limpiar.
ResistentesEl material de los tanques ETERNIT® está especificado para estar expuesto a la intemperie, resistir fuertes cambios de clima y ataques de agentes atmosféricos.
Incorrecto IncorrectoCorrecto Incorrecto
errores de instalación
Cantidad máxima por arrume
Litros Tanques
2000 2
1000 5
500 5
250 7
250 mini 15
Agrotanque 15
77
TAN
QU
ES
PLÁ
ST
ICO
S
TANQUES PLÁSTICOS
almacenamiento
• Tanto los arrumes verticales como los horizontales deben asegurarse a la carrocería con cuerdas o manilas, sin ejercer presión excesiva que podría ocasionar fisuras o desgarramientos en los tanques.
• Procure que los tanque no se golpeen. No los deje caer desde la plataforma del camión.
• Las cuerdas siempre deben abrazar el cuerpo del tanque, teniendo la precaución de colocar lonas, costales o cartones en las áreas de contacto para evitar talladuras.
• Nunca pase las cuerdas por los orificios de los tanques.
• Las tapas se transportan verticalmente en los espacios entre los arrumes de productos o sobre ellos, asegúrandolas igualmente con cuerdas y cartones para protegerlas de rayones, y que el viento las levante.
• Almacene los tanques bajo cubierta para protegerlos del sol y la lluvia.
• Cualquier otra información consulte a nuestro departamento de servicio al cliente.
• Cuando se requiere almacenar más de 2 unidades, los tanques se pueden disponer apilados horizontalmente. Para este caso las cuñas de ajuste de la tapa no deben quedar apoyadas o haciendo contacto con el suelo para evitar deformaciones.
• Para el almacenamiento horizontal se debe reforzar la boca del último tanque apilado, para que no se altere la geometría de los tanques, debido al peso propio y al de los demás.
• Es importante asegurarse que la superficie de apoyo de los tanques no sea abrasiva o rugosa, de lo contrario debe disponerse de una protección que garantice que los tanques no se rayen al movilizarlos.
• Cuando el espacio en altura no es suficiente, los tanques se pueden cargar acostados y encajados uno entre otro, sobre tejas onduladas o planas, siempre colocando cartones para evitar daños.
transporte en arrumes horizontales
Para mayor información visite
www.eternit.com.co
El presente Manual sustituye las versiones anteriores.Eternit se reserva el derecho de modificar este documento en cualquier momento, en el marco de la
política de desarrollo y mejoramiento continuo de sus productos. Ft - tfp7 - v03 - 2014/02
Consulte nuestras soluciones para la construcción en su smartphone.DESCARGUE la aplicación ETERNIT y lleve un asesor donde lo necesite.
Una Empresa de
CONTÁCTENOS
Única línea nacional de servicio al cliente 018000115660
R-Series™ Stainless-SteelLiquid Level Sensor
SAE 5-Bolt Flange Mount
Stainless-Steel Construction
Available up to 500mm Long
Suitable for use with Aggressive or Corrosive Liquids.
0-5V Analogue Output
-40ºC to +125ºC Operating Temperature
Factory Calibrated
Solid-State Capacitive Technology
The R-Series Stainless-steel Liquid Level Sensor is designed specifically for use with aggressive or corrosive liquids including salt water, coolant, acids and chemical-based liquids. The sensor features an SAE 5-bolt mounting pattern and is manufactured to your custom length requirement up to 500mm.
The sensor provides a fully configurable 0-5V analogue output, which is typically calibrated 0.25V empty, 4.75V full. Each sensor is factory calibrated in your liquid type (or equivalent).
Key Features
Supply Voltage +6VDC to +24VDC
Supply Current <10mA @12V
Serial Interface RS232 (+5V)
Resolution 10 bit
Sample Rate 10Hz, 40Hz & 80Hz
Voltage Output Range 0.25V - 4.75V over sensing range
Range Accuracy ±1% of medium depth @20˚C
Probe Length 80 - 500mm (customer to specify)
Mounting SAE 5-bolt pattern
Weight From 280g (dependant on length)
Electrical
Analogue Output
Mechanical
Protection Class IP67
Operational Temperature -40°C to +125°C
EMC Immunity Level SAE J1113/2 1996
Main Construction Stainless-steel
Environmental
Fuel Gasoline, Unleaded, LRP, Jet Fuel, Avgas
Oil Engine oils, transmission oils, steering & hydraulic fluids, Diesel, Heavy Oil
BioFuel Ethanol E100, E85, E50, E10Methanol
Other Salt water, Coolant, Acids. Please consult Gill for other liquid compatibilities
Compatible Medium
Wire 0.5m flying lead unless specified
Wiring Gauge Typically 26 AWG Raychem type SS (options up to 20 AWG if requested)
Cable Material Compatibility Wiring sleeved with either Fluoroelastomer or Raychem DR25, or customised to customer specifications
Wiring
38.0
0
12.004.00
15.95
2.0 AIR BLEED HOLE
Y (NOT INCLUDING GASKET)
72.00°
68.00° 80.00°
68.00°
54.00
X (MAX MEASUREMENT RANGE)
70.00
RUBBER MOUNTING GASKET
5.30 (5X)
Gill Sensors Saltmarsh Park67 Gosport StreetLymingtonHampshireSO41 9EG, UK
T: +44 (0) 1590 613 400F: +44 (0) 1590 613 401E: [email protected]
www.gillsensors.co.uk
Copyright © Gill Sensors 2012LD1612-02 - Iss 2Gill Research & Development LtdReg No. 3154453 Registered Office: The George Business Centre, Christchurch Road, New Milton, BH25 6QJ
R-Series™ Stainless-SteelLiquid Level Sensor
Wiring
Dimensions X & Y are customer specified
3.00
70.0
0
SENSOR SUPPLIED WITH GASKET
Red V+ (Power)
Black V- (GND)
Orange Analogue signal 0.25V to 4.25V
Green Serial Rx
White Serial Tx
Part Number1612-00-018
www.victronenergy.com
Victron Energy B.V. | De Paal 35 | 1351 JG Almere | The Netherlands General phone: +31 (0)36 535 97 00 | Fax: +31 (0)36 535 97 40 E-mail: [email protected] | www.victronenergy.com
• El coeficiente baja tensión-temperatura mejora el funcionamiento a altas temperaturas. • Rendimiento excepcional con baja luminosidad y alta sensibilidad a la luz en todo el espectro solar. • Garantía limitada de 25 años sobre la entrega de potencia y el rendimiento. • Garantía limitada de 2 años sobre materiales y mano de obra. • La caja de conexiones, sellada, hermética y multifuncional, proporciona altos niveles de seguridad. • Los diodos de derivación de alto rendimiento minimizan las caídas de potencia provocadas por la sombra. • El sistema avanzado de encapsulación EVA (etileno acetato de vinilo por sus siglas en inglés) con láminas traseras
de triple capa cumple con los requisitos más exigentes para su funcionamiento de alta tensión. • Un sólido bastidor de aluminio galvanizado permite instalar los módulos sobre el tejado con distintos sistemas
estándar de montaje. • Su vidrio templado de alta transmisión y alta calidad proporciona una dureza y resistencia a los impactos mejorada. • Sistema precableado de conexión rápida con conectores MC4 (PV-ST01).
Paneles policristalinos BlueSolar
Polycrystalline BlueSolar de 130W Conectores MC4
Tipo Tamaño del módulo
Tamaño del cristal
Peso
Rendimiento eléctrico bajo STC (1)
Nominal Potencia
Tensión máxima
Corriente máxima
Tensión en vacío
Corriente de cortocircuito
PMPP VMPP IMPP Voc Isc
Módulo mm mm kg W V A V A
SPP30-12 735x350x25 730x345 5.2 30 18 1.72 22.5 1.85
SPP51-12 540x670x35 535x665 5,3 50 18 2.85 22.2 3.09
SPP81-12 915x670x35 910x665 8 80 18 4.6 21.6 5.06
SPP101-12 1005x670x35 1000x665 9 100 18 5.75 21.6 6.32
SPP140-12 1480x670x35 1474x664 12.5 140 18 8.05 21.6 8.85
SPP280-24 1956x992x50 1950x986 24 280 36 7.7 44.06 8.26
Módulo SPP30-12 SPP51-12 SPP81-12 SPP101-12 SPP140-12 SPP280-24
Potencia nominal (tolerancia ±3%) 30W 50W 80W 100W 140W 280W
Tipo de celda Policristalina
Cantidad de celdas en serie 36 72
Tensión máxima del sistema (V) 1.000V
Coeficiente de temperatura de PMPP(%) -0.47/°C -0.48/°C -0.48/°C -0.48/°C -0.48/°C -0.47/°C
Coeficiente de temperatura de Voc (%) -0.34/°C -0.34/°C -0.34/°C -0.34/°C -0.35/°C -0.34/°C
Coeficiente de temperatura de Isc (%) +0.045/°C +0.037/°C +0.037/°C +0.037/°C +0.037/°C +0.045/°C
Rango de temperatura -40°C a +85°C
Capacidad de carga máxima en su superficie 200kg/m²
Resistencia máxima al impacto 23m/s, 7.53g
Tipo de caja de conexiones PV-JH03-2 PV-JH02 PV-JH02 PV-JH02 PV-JH02 PV-JH200
Tipo de conector MC4
Longitud de los cables 450mm 750mm 900mm 1000mm
Tolerancia de salida +/-3%
Bastidor Aluminio
Garantía del producto 2 años
Garantia sobre el rendimiento eléctrico 10 años 90% + 25 años 80% de la entrega de potencia
Cantidad mínima de unidades por embalaje 1 panel
Cantidad por palet 40 paneles 40 paneles 20 paneles 20 paneles 20 paneles 20 paneles
1) STC (Condiciones de prueba estándar): 1000W/m2, 25ºC, AM (masa de aire) 1,5
Anexo 6
#INCLUDE <16F887.H> //LIBRERIA CON LAS ETIQUETAS DADAS A LOS REGISTROS DEL MICROCONTROLADOR
#device adc=10//
#FUSES XT,NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP//CONFIGURACION DEL COMO SE INICIALIZA Y TRABAJA EL MICRO
#USE DELAY(CLOCK=4000000)
#BYTE TRISA=0x85
#BYTE PORTA=0x05
#BYTE TRISB=0X86 //DEFINE DIRECCION EN MEMORIA DE DATOS PARA EL REGISTRO TRISB
#BYTE PORTB=0X06
#BYTE TRISC=0X87
#BYTE PORTC=0X07
#BYTE TRISD=0X88
#BYTE PORTD=0X08
#BYTE TRISE=0X89
#BYTE PORTE=0X09
#USE FAST_IO(B)
#USE FAST_IO(C)
#USE FAST_IO(D)
#USE FAST_IO(E)
#bit RB7=0X06.7//Identificador del bit 7 el 0x06 indica la dirección de memoria y el 7 el bit de ese registro
//VARIABLES GLOBALES PARA LAVAMANOS 1
INT16 CONT_ANTERIOR1=0,CONT_ACTUAL1=0,T_LV1=0;
INT1 FLAG1_DONE=0,FLAG1_DONE2=0;
INT16 CONT_LV1=0,CONT_ACTUAL=0,CONT_ANTERIOR=0,FILTRO=0;
INT1 SEL=0;
INT1 FLAG1=0;
//////////////////////LAVAMANOS 1 GLOBALES FIN
/////////////////////////////////////////////////
//VARIABLES GLOBALES PARA LAVAMANOS 2
INT16 CONT_ANTERIOR2=0,CONT_ACTUAL2=0,T_LV2=0;//RIGHT
INT1 FLAG2_DONE=0,FLAG2_DONE2=0;//RIGHT
INT16 CONT_LV2=0,CONT2_ACTUAL=0,CONT2_ANTERIOR=0,FILTRO2=0;
INT1 SEL1=0;//RIGHT
INT1 FLAG2=0;//RIGHT
//////////////////////LAVAMANOS 2 GLOBALES FIN
/////////////////////////////////////////////////
//VARIABLES GLOBALES PARA LAVAMANOS 3
INT16 CONT_ANTERIOR3=0,CONT_ACTUAL3=0,T_LV3=0;//RIGHT
INT1 FLAG3_DONE=0,FLAG3_DONE2=0;//RIGHT
INT16 CONT_LV3;
INT16 CONT3_ACTUAL=0,CONT3_ANTERIOR=0,FILTRO3=0; //LAS VARIABLES PARA EL FILTRO VAN AQUI
INT1 SEL3=0;//RIGHT
INT1 FLAG3=0;//RIGHT
//////////////////////LAVAMANOS 3 GLOBALES FIN
/////////////////////////////////////////////////
//VARIABLES GLOBALES PARA LAVAMANOS 4
INT16 CONT_ANTERIOR4=0,CONT_ACTUAL4=0,T_LV4=0;//RIGHT
INT1 FLAG4_DONE=0,FLAG4_DONE2=0;//RIGHT
INT16 CONT_LV4;
INT16 CONT4_ACTUAL=0,CONT4_ANTERIOR=0,FILTRO4=0; //LAS VARIABLES PARA EL FILTRO VAN AQUI
INT1 SEL4=0;//RIGHT
INT1 FLAG4=0;//RIGHT
//////////////////////LAVAMANOS 3 GLOBALES FIN
//VARIABLES GLOBALES UR1.4
INT8 CONT_UR1=0;
INT1 BIT_UR1=0;//LECTURA DEL PINB4 O URINAL 1
INT1 FLAG_UR1=0;
//PARA CARGAR VALOR ANT
INT1 FLAG_UR1_DONE=0;
INT1 FLAG_UR1_DONE2=0;
INT16 CONT_ANT_UR1=0,CONT_ACTUAL_UR1=0,T_UR1=0;
/////////////
//VARIABLES GLOBALES UR2.5
INT8 CONT_UR2=0;
INT1 BIT_UR2=0;//LECTURA DEL PINB4 O URINAL 1
INT1 FLAG_UR2=0;
//PARA CARGAR VALOR ANT
INT1 FLAG_UR2_DONE=0;
INT1 FLAG_UR2_DONE2=0;
INT16 CONT_ANT_UR2=0,CONT_ACTUAL_UR2=0,T_UR2=0;
/////////////
//VARIABLES GLOBALES UR3.6
INT8 CONT_UR3=0;
INT1 BIT_UR3=0;//LECTURA DEL PINB4 O URINAL 1
INT1 FLAG_UR3=0;
//PARA CARGAR VALOR ANT
INT1 FLAG_UR3_DONE=0;
INT1 FLAG_UR3_DONE2=0;
INT16 CONT_ANT_UR3=0,CONT_ACTUAL_UR3=0,T_UR3=0;
//////////////////////
//VARIABLES GLOBALES ST1 SERVICIO 1
INT8 CONT_ST1=0;
INT1 BIT_ST1=0;//LECTURA DEL PINC0
INT1 FLAG_ST1=0;
//PARA CARGAR VALOR ANT
INT1 FLAG_ST1_DONE=0;
INT1 FLAG_ST1_DONE2=0;
INT16 CONT_ANT_ST1=0,CONT_ACTUAL_ST1=0,T_ST1=0;
/////////////
//VARIABLES GLOBALES ST2
INT8 CONT_ST2=0;
INT1 BIT_ST2=0;//LECTURA DEL PINB4 O URINAL 1
INT1 FLAG_ST2=0;
//PARA CARGAR VALOR ANT
INT1 FLAG_ST2_DONE=0;
INT1 FLAG_ST2_DONE2=0;
INT16 CONT_ANT_ST2=0,CONT_ACTUAL_ST2=0,T_ST2=0;
/////////////
//VARIABLES GLOBALES ST3
INT8 CONT_ST3=0;
INT1 BIT_ST3=0;//LECTURA DEL PINB4 O URINAL 1
INT1 FLAG_ST3=0;
//PARA CARGAR VALOR ANT
INT1 FLAG_ST3_DONE=0;
INT1 FLAG_ST3_DONE2=0;
INT16 CONT_ANT_ST3=0,CONT_ACTUAL_ST3=0,T_ST3=0;
//////////////////////
INT16 CONT=0;//CONTADOR GENERAL PARA CLACULOS DE 5s
VOID CONTEO_ST1(){
IF(FLAG_ST1_DONE2==1){
CONT_ACTUAL_ST1=CONT;
T_ST1=CONT_ACTUAL_ST1-CONT_ANT_ST1;
IF(T_ST1==100){
BIT_CLEAR(PORTE,0);
FLAG_ST1_DONE2=0;
FLAG_ST1=0;
FLAG_ST1_DONE=0;
}
}
}
VOID CONTEO_ST2(){
IF(FLAG_ST2_DONE2==1){
CONT_ACTUAL_ST2=CONT;
T_ST2=CONT_ACTUAL_ST2-CONT_ANT_ST2;
IF(T_ST2==100){
BIT_CLEAR(PORTE,1);
FLAG_ST2_DONE2=0;
FLAG_ST2=0;
FLAG_ST2_DONE=0;
}
}
}
VOID CONTEO_ST3(){
IF(FLAG_ST3_DONE2==1){
CONT_ACTUAL_ST3=CONT;
T_ST3=CONT_ACTUAL_ST3-CONT_ANT_ST3;
IF(T_ST3==100){
BIT_CLEAR(PORTE,2);
FLAG_ST3_DONE=0;
FLAG_ST3=0;
FLAG_ST3_DONE=0;
}
}
}
VOID CONTEO_UR3(){
IF(FLAG_UR3_DONE2==1){
CONT_ACTUAL_UR3=CONT;
T_UR3=CONT_ACTUAL_UR3-CONT_ANT_UR3;
IF(T_UR3==50){
BIT_CLEAR(PORTD,6);
FLAG_UR3_DONE=0;
FLAG_UR3=0;
FLAG_UR3_DONE=0;
}
}
}
VOID CONTEO_UR2(){
IF(FLAG_UR2_DONE2==1){
CONT_ACTUAL_UR2=CONT;
T_UR2=CONT_ACTUAL_UR2-CONT_ANT_UR2;
IF(T_UR2==50){
BIT_CLEAR(PORTD,5);
FLAG_UR2_DONE2=0;
FLAG_UR2=0;
FLAG_UR2_DONE=0;
}
}
}
VOID CONTEO_UR1(){
IF(FLAG_UR1_DONE2==1){
CONT_ACTUAL_UR1=CONT;
T_UR1=CONT_ACTUAL_UR1-CONT_ANT_UR1;
IF(T_UR1==50){
BIT_CLEAR(PORTD,4);
FLAG_UR1_DONE2=0;
FLAG_UR1=0;
FLAG_UR1_DONE=0;
}
}
}
VOID CONTEO_LV4(){
IF(FLAG4_DONE2==1){
CONT_ACTUAL4=CONT;
T_LV4=CONT_ACTUAL4-CONT_ANTERIOR4;
IF(T_LV4==100){BIT_CLEAR(PORTD,3);FLAG4_DONE2=0;}//EL PIN0 DEL PUERTO D ELECTROVALVULA, AL CUMPLISE LOS 5s entonces se cierra electro-válvula
}
}
VOID CONTEO_LV3(){
IF(FLAG3_DONE2==1){
CONT_ACTUAL3=CONT;
T_LV3=CONT_ACTUAL3-CONT_ANTERIOR3;
IF(T_LV3==100){BIT_CLEAR(PORTD,2);FLAG3_DONE2=0;}//EL PIN0 DEL PUERTO D ELECTROVALVULA, AL CUMPLISE LOS 5s entonces se cierra electro-válvula
}
}
VOID CONTEO_LV2(){
IF(FLAG2_DONE2==1){
CONT_ACTUAL2=CONT;
T_LV2=CONT_ACTUAL2-CONT_ANTERIOR2;
IF(T_LV2==100){BIT_CLEAR(PORTD,1);FLAG2_DONE2=0;}//EL PIN0 DEL PUERTO D ELECTROVALVULA, AL CUMPLISE LOS 5s entonces se cierra electro-válvula
}
}
VOID CONTEO_LV1(){
IF(FLAG1_DONE2==1){
CONT_ACTUAL1=CONT;
T_LV1=CONT_ACTUAL1-CONT_ANTERIOR1;
IF(T_LV1==100){BIT_CLEAR(PORTD,0);FLAG1_DONE2=0;}//EL PIN0 DEL PUERTO D ELECTROVALVULA, AL CUMPLISE LOS 5s entonces se cierra electro-válvula
}
}
VOID TEST_FLAG_ST3(){
IF(FLAG_ST3==1){
IF(FLAG_ST3_DONE==0){
CONT_ANT_ST3=CONT;
FLAG_ST3_DONE=1;
FLAG_ST3_DONE2=1;
BIT_SET(PORTE,2);
}
}
ELSE{}
}
VOID TEST_FLAG_ST2(){
IF(FLAG_ST2==1){
IF(FLAG_ST2_DONE==0){
CONT_ANT_ST2=CONT;
FLAG_ST2_DONE=1;
FLAG_ST2_DONE2=1;
BIT_SET(PORTE,1);
}
}
ELSE{}
}
VOID TEST_FLAG_ST1(){
IF(FLAG_ST1==1){
IF(FLAG_ST1_DONE==0){
CONT_ANT_ST1=CONT;
FLAG_ST1_DONE=1;
FLAG_ST1_DONE2=1;
BIT_SET(PORTE,0);
}
}
ELSE{}
}
VOID TEST_FLAG_UR3(){
IF(FLAG_UR3==1){
IF(FLAG_UR3_DONE==0){
CONT_ANT_UR3=CONT;
FLAG_UR3_DONE=1;
FLAG_UR3_DONE2=1;
BIT_SET(PORTD,6);
}
}
ELSE{}
}
VOID TEST_FLAG_UR2(){
IF(FLAG_UR2==1){
IF(FLAG_UR2_DONE==0){
CONT_ANT_UR2=CONT;
FLAG_UR2_DONE=1;
FLAG_UR2_DONE2=1;
BIT_SET(PORTD,5);
}
}
ELSE{}
}
VOID TEST_FLAG_UR1(){
IF(FLAG_UR1==1){
IF(FLAG_UR1_DONE==0){
CONT_ANT_UR1=CONT;
FLAG_UR1_DONE=1;
FLAG_UR1_DONE2=1;
BIT_SET(PORTD,4);
}
}
ELSE{}
}
VOID TEST_FLAG4(){
IF(FLAG4==1){
IF(FLAG4_DONE==0){
CONT_ANTERIOR4=CONT;
FLAG4_DONE=1;
FLAG4_DONE2=1;
BIT_SET(PORTD,3);//ENCIENDO ELECTRO-VALVULA LV1
}
}
}
VOID TEST_FLAG3(){
IF(FLAG3==1){
IF(FLAG3_DONE==0){
CONT_ANTERIOR3=CONT;
FLAG3_DONE=1;
FLAG3_DONE2=1;
BIT_SET(PORTD,2);//ENCIENDO ELECTRO-VALVULA LV1
}
}
}
VOID TEST_FLAG2(){
IF(FLAG2==1){
IF(FLAG2_DONE==0){
CONT_ANTERIOR2=CONT;
FLAG2_DONE=1;
FLAG2_DONE2=1;
BIT_SET(PORTD,1);//ENCIENDO ELECTRO-VALVULA LV1
}
}
}
VOID TEST_FLAG1(){
IF(FLAG1==1){
IF(FLAG1_DONE==0){
CONT_ANTERIOR1=CONT;
FLAG1_DONE=1;
FLAG1_DONE2=1;
BIT_SET(PORTD,0);//ENCIENDO ELECTRO-VALVULA LV1
}
}
}
VOID test_flags(){
TEST_FLAG1();
TEST_FLAG2();
TEST_FLAG3();
TEST_FLAG4();
TEST_FLAG_UR1();
TEST_FLAG_UR2();
TEST_FLAG_UR3();
TEST_FLAG_ST1();
TEST_FLAG_ST2();
TEST_FLAG_ST3();
}
VOID conteos(){
CONTEO_LV1();
CONTEO_LV2();
CONTEO_LV3();
CONTEO_LV4();
CONTEO_UR1();
CONTEO_UR2();
CONTEO_UR3();
CONTEO_ST1();
CONTEO_ST2();
CONTEO_ST3();
}
#int_TIMER1
void TIMER1_isr(void){
RB7=~RB7; //toogle
CONT=CONT+1;//ESTE ES EL CONTADOR DE INTERRUPCION QUE SE INCREMENTA CADA 50ms...Es un step diseñado para 5 s de tiempos de abertura de electroválvulas
test_flags();
conteos();
IF(CONT>60000){CONT=0;} //EL CONTDOR DE ms cada 50ms se incrementa.
set_timer1(59286);//Carga timer 1 para retardo de 50ms con Fosc 4Mhz
}
VOID LV4(){
SEL4=INPUT_STATE(PIN_B3);
IF(SEL4==1){
IF(FLAG4==0){
CONT4_ANTERIOR=CONT;
DO{
CONT4_ACTUAL=CONT;
FILTRO4=CONT4_ACTUAL-CONT4_ANTERIOR;
IF(FILTRO4==1){}//PORTC=~PORTC;
}
WHILE(FILTRO4!=1);
FLAG4=1;
}
}
ELSE{FLAG4=0;FLAG4_DONE=0;}
}
VOID LV3(){
SEL3=INPUT_STATE(PIN_B2);
IF(SEL3==1){
IF(FLAG3==0){
CONT3_ANTERIOR=CONT;
DO{
CONT3_ACTUAL=CONT;
FILTRO3=CONT3_ACTUAL-CONT3_ANTERIOR;
IF(FILTRO3==1){}//PORTC=~PORTC;
}
WHILE(FILTRO3!=1);
FLAG3=1;
}
}
ELSE{FLAG3=0;FLAG3_DONE=0;}
}
VOID LV2(){
SEL1=INPUT_STATE(PIN_B1);
IF(SEL1==1){
IF(FLAG2==0){
CONT2_ANTERIOR=CONT;
DO{
CONT2_ACTUAL=CONT;
FILTRO2=CONT2_ACTUAL-CONT2_ANTERIOR;
IF(FILTRO2==1){}//PORTC=~PORTC;
}
WHILE(FILTRO2!=1);
FLAG2=1;
}
}
ELSE{FLAG2=0;FLAG2_DONE=0;}
}
VOID LV1(){//esta función Evalúa si se acercó una persona al lavamanos para dar un flag1 indicando que se acercó(esta
//función posee un filtro de 50ms para evitar efecto de rebote)
SEL=INPUT_STATE(PIN_B0);//INGRETO DATO DE SENSORES A UNA VARIABLE TIPO INT1 DE UN BIT
IF(SEL==1){
IF(FLAG1==0){
CONT_ANTERIOR=CONT;//SE ACTUALIZARIA UNA SOLA VEZ
DO{
CONT_ACTUAL=CONT;//ME QUEDO LEYENDO EL VALOR DEL CONT A MEDIDA QUE PASA EL TIEMPO
FILTRO=CONT_ACTUAL-CONT_ANTERIOR; //EL CONT ANTERIOR TIENE EL VALOR DEL CONT(OSEA EL MOMENTO), DESDE EL MOMENTO QUE SE OPRIMIO EL BOTON O DECTECTO PERSONA
IF (FILTRO==1){}//PORTC=~PORTC;
}
WHILE(FILTRO!=1);
//BANDERA DE QUE SE HIZO UNA VEZ
FLAG1=1;
}
}
ELSE{FLAG1=0;FLAG1_DONE=0;}
}
VOID scan_lavamanos(){
LV1();
LV2();
LV3();
LV4();
}
VOID UR3(){
BIT_UR3=INPUT_STATE(PIN_B6);
IF(BIT_UR3==1){
CONT_UR3=1;
}
ELSE{
IF(CONT_UR3==1){CONT_UR3=0;FLAG_UR3=1;}
}
}
VOID UR2(){
BIT_UR2=INPUT_STATE(PIN_B5);
IF(BIT_UR2==1){
CONT_UR2=1;
}
ELSE{
IF(CONT_UR2==1){CONT_UR2=0;FLAG_UR2=1;}
}
}
VOID UR1(){
BIT_UR1=INPUT_STATE(PIN_B4);
IF(BIT_UR1==1){
CONT_UR1=1;
}
ELSE{
IF(CONT_UR1==1){CONT_UR1=0;FLAG_UR1=1;}
}
}
VOID scan_urinales(){
UR1();
UR2();
UR3();
}
VOID ST3(){
BIT_ST3=INPUT_STATE(PIN_C2);
IF(BIT_ST3==1){
CONT_ST3=1;
}
ELSE{
IF(CONT_ST3==1){CONT_ST3=0;FLAG_ST3=1;}
}
}
VOID ST2(){
BIT_ST2=INPUT_STATE(PIN_C1);
IF(BIT_ST2==1){
CONT_ST2=1;
}
ELSE{
IF(CONT_ST2==1){CONT_ST2=0;FLAG_ST2=1;}
}
}
VOID ST1(){
BIT_ST1=INPUT_STATE(PIN_C0);
IF(BIT_ST1==1){
CONT_ST1=1;
}
ELSE{
IF(CONT_ST1==1){CONT_ST1=0;FLAG_ST1=1;}
}
}
VOID scan_servicios(){
ST1();
ST2();
ST3();
}
VOID MAIN()
{
/////////////CONFIGURACION DE LOS CANALES ADC
SETUP_ADC_PORTS(ALL_ANALOG);//ENTRADA DEL LM35
SETUP_ADC_PORTS(SAN0);
SETUP_ADC(ADC_CLOCK_DIV_8);//RELOJ INTERNO
//SETUP_COUNTERS(RTCC_INTERNAL,RTCC_DIV_2);//SETUP_ADC_PORTS(SAN0|SAN1);
set_tris_b(0b01111111);// Pint 7 del puerto B como salida, los demás como entrada
RB7=0;
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);//SET UP TIMER; RELOJ INTERNO; PRESCALER=8
ENABLE_INTERRUPTS(INT_TIMER1);//HABILITO INTTERUPCION PARTICULAR DEL TIMER1
ENABLE_INTERRUPTS(GLOBAL);
SET_TIMER1(59286);
TRISC=0x07;//c0,c1 y c2 como entradas el resto como salidas.
PORTC=0;
TRISD=0;
PORTD=0;
TRISA=0;
PORTA=0;
TRISE=0;
PORTE=0;
WHILE(1){
scan_lavamanos();
scan_urinales();
scan_servicios();
}
}
Top Related