Translate

martes, 15 de octubre de 2013

CONSULTAS SQL BASICAS



1)MOSTRAR EL APELLIDO Y CODIGO DEPARTAMENTO DE LOS EMPLEADOS  PERTENECIENTES A LOS DEPARTAMENTOS 20 o 50 ORDENAR POR APELLLIDO
   
    SELECT LAST_NAME,DEPARTMENT_ID
    FROM hr.EMPLOYEES
    WHERE DEPARTMENT_ID IN(20,50)
    ORDER BY LAST_NAME;

2)MOSTRAR EL APELLIDO BAJO EL ALIAS Empleado y sueldo bajo el alias Salario mensual de los empleados pertenecientes a los departamentos 20 o50 que ganen entre 5000 y 12000

    SELECT LAST_NAME AS"EMPLEADO",SALARY AS"SALARIO MENSUAL"
    FROM HR.EMPLOYEES
    WHERE DEPARTMENT_ID IN(20,50) AND SALARY BETWEEN 5000 AND 12000;
   
3) MOSTRAR EL APELLIDO Y FECHA DE CONTRATO DELOS EMPLEADOS CONTRATADOS EL AÑO 1994 o 2004

    SELECT LAST_NAME,HIRE_DATE
    FROM HR.EMPLOYEES
    WHERE TO_CHAR(HIRE_DATE,'YYYY')IN(1994,2004); 

4) MOSTRAR EL APELLIDO COD DE OFICIO DE LOS EMPLEADOS SIN JEFE ASIGNADO

    SELECT LAST_NAME,JOB_ID
    FROM HR.EMPLOYEES
    WHERE MANAGER_ID IS NULL;  

5) MOSTRAR EL APELLIDO, SUELDO Y % COMISION DE LOS EMPLEADOS  QUE COBRAN COMISION. ORDENAR POR SALARIO Y COMISION, DE FORMA QUE LOS MAS ALTOS SALGAN PRIMERO

    SELECT LAST_NAME,SALARY,COMMISSION_PCT
    FROM HR.EMPLOYEES
    WHERE COMMISSION_PCT IS NOT NULL
    ORDER BY SALARY,COMMISSION_PCT;

  
6) MOSTRAR EL APELLLIDO DE LOS EMPLEADOS QUE   TENGAN UNA a y UNA e EN EL APELLIDO

    SELECT LAST_NAME
    FROM HR.EMPLOYEES
    WHERE LAST_NAME LIKE '%a%'AND LAST_NAME LIKE'%e%';

7) MOSTRAR LOS APELLIDOS DE LOS EMPLEADOS REEMPLAZANDO LA LETRA a POR UN 1

    SELECT REPLACE(UPPER(LAST_NAME),'A',1)
    FROM HR.EMPLOYEES;
   
   
8) MOSTRAR EL APELLIDO FECHA CONTRATO Y DIAS DE LA SEMANA  EN QUE FUERON CONTRATADOS LOS EMPLEADOS ORDENANDO POR DIA De LA SEMANA, DE FORMA QUE QUEDEN ORDENANDOS POR LUNES MARTES MIERCOLES JUEVES VIERNES SABADO DOMINGO

    SELECT LAST_NAME,HIRE_DATE,TO_CHAR(HIRE_DATE,'DAY') DIA_CONTRATACION
    FROM HR.EMPLOYEES
    ORDER BY TO_CHAR(HIRE_DATE,'DAY');
    
9) MOSTRAR EL APELLIDO Y COMISION DE LOS EMPLEADOS EN EL CASO DE QUE NO GANE COMISION, MOSTRAR LA FRASE "sin comision"
   
    SELECT LAST_NAME,COMMISSION_PCT,DECODE(COMMISSION_PCT,NULL,'SIN COMISSIONES')AS"COMISION"
    FROM HR.EMPLOYEES;


10) MOSTRAR NOMBRE COMPLETO DE LOS TRABAJADORES OFICIO NOMBRE DEPARTAMENTO Y CIUDAD DE AQUELLOS QUE NOS SON PROGRAMADORES "programmer"

    SELECT CONCAT(FIRST_NAME,LAST_NAME)AS"NOMBRE COMPLETO",JOB_TITLE,DEPARTMENT_NAME,CITY
    FROM HR.EMPLOYEES E,HR.JOBS J,HR.DEPARTMENTS D,HR.LOCATIONS L
    WHERE E.DEPARTMENT_ID=D.DEPARTMENT_ID AND D.LOCATION_ID=L.LOCATION_ID AND E.JOB_ID=J.JOB_ID
    AND not(JOB_TITLE LIKE('Programmer'));
        
11) CALCULAR EL NUMERO DE EMPLEADOS CONTRATADOS POR AÑO Y MES ORDENAR POR AÑO

    SELECT TO_CHAR(HIRE_DATE,'YYYY')AS"AÑO",TO_CHAR(HIRE_DATE,'MONTH')AS"MES",COUNT(EMPLOYEE_ID)AS"TOTAL EMPLEADOS"
    FROM HR.EMPLOYEES
    GROUP BY TO_CHAR(HIRE_DATE,'YYYY'),TO_CHAR(HIRE_DATE,'MONTH')
    ORDER BY TO_CHAR(HIRE_DATE,'YYYY'),TO_CHAR(HIRE_DATE,'MONTH');

12) MOSTRAR EL NOMBRE DEL EMPLEADO MAS SU DEPARTAMENTO

    SELECT FIRST_NAME,DEPARTMENT_NAME
    from HR.EMPLOYEES E,HR.DEPARTMENTS D
    WHERE E.DEPARTMENT_ID=D.DEPARTMENT_ID;

13) QUE CODIGO DE OFICIO TIENE UN SOLO EMPLEADO

    SELECT JOB_ID CODIGO,COUNT(EMPLOYEES.EMPLOYEE_ID) CANTIDAD
    FROM HR.EMPLOYEES
    GROUP BY JOB_ID
    HAVING COUNT(JOB_ID)=1;

14) MOSTRAR EL NOMBRE Y APELLIDO DE EMPLEADO EL NOMBRE DE SU DEPARTAMENTO Y SU LOCALIZACION DEL DEPARTAMENTO REALIZARLO A BASE DE JOINS

    SELECT FIRST_NAME,LAST_NAME,DEPARTMENT_NAME,CITY
    FROM HR.EMPLOYEES E,HR.DEPARTMENTS D,HR.LOCATIONS L
    WHERE E.DEPARTMENT_ID=D.DEPARTMENT_ID AND
        D.LOCATION_ID=L.LOCATION_ID;               
       
       
    SELECT FIRST_NAME,LAST_NAME,DEPARTMENT_NAME,CITY
    FROM HR.EMPLOYEES E
    JOIN HR.DEPARTMENTS D ON
    E.DEPARTMENT_ID=D.DEPARTMENT_ID JOIN HR.LOCATIONS L ON
        D.LOCATION_ID=L.LOCATION_ID; 



           
                         "CONSULTAS REALIZADAS EN EL ESQUEMA HR DE ORACLE"

sábado, 20 de julio de 2013

SEGUIDOR DE LINEA

NOTA.- ESTE PROYECTO FUE REALIZADO EN GRUPO.
INTEGRANTES:
  • GROVER PACASI BENAVENTE                            
  • ALFREDO MAMANI HUALLPA                          
  • JUAN CARLOS LOZA TEJERINA                     




El proyecto consiste en realizar un robot seguidor de línea. Nuestro objetivo es hacer un seguidor de línea que pueda seguir una pista cerrada con una combinación de líneas rectas y curvas.


El circuito modelo para nuestro seguidor de línea será esta: 







Introducción.-
Se denomina robot a aquel circuito motorizado que sea capaz de tomar decisiones mediante sensores.
Los robots son capaces de realizar el trabajo del hombre en menor tiempo ya que estos no presentan cansancio realizando un trabajo constante logrando mayores beneficios dentro de una organización.
Por tanto un robot seguidor de línea puede ser la base para construir robots mucho más completos que puedan facilitar el trabajo del hombre.
Si se habla de edifico inteligentes nada raro que estos edificios presentes robots que se encarguen del aseo de los departamentos secuencialmente. Los pacillos podrían presentar una marca transparente que indique el camino que debe recorrer el robot para realizar un aseo ordenado sin tener que usar una programación interna para la toma de decisiones.


Material y métodos.-
Lista de todos los componentes electrónicos y herramientas utilizadas:
 

Componentes electrónicos
Herramientas

Transistor BC547
Transistor BD140
Transistor BC557
Resistencia 10KΩ
Resistencia 680Ω
Resistencia 2.2kΩ
Placa de pruebas
Placa de circuito impreso
Cables
Terminales
2 motores de 3V
Batería de 9V
Fotodiodos
Led infrarrojo
Relé de 5V
Cloruro férrico


Cautín
Estaño
Pomada para soldar
Pinza de corte y presión
Taladro
Base de aluminio
Gotita
Llantas de carrito
Embace o bajilla (ambas no metálicas)
Marcador indeleble
Hilo de costura
Perforadora para placas

 




Conceptos básicos:
Sensores.-  nuestro robot es capaz de detectar las líneas gracias a los sensores. Existen variedad de sensores, para nuestro caso usaremos los más comunes los sensores infrarrojo IR.
Este sensor IR está comprendido por un led infrarrojo y un  fotodiodo
Led infrarrojo: Este tipo de receptores son la contraparte de los emisores,  encargados de recibir la luz infrarroja y convertirla en un voltaje análogo, estos  cuentan con un filtro de luz de día, por eso es su color aparentemente negro, lo            cual indica que reciben menos interferencia de cualquier fuente de luz externa
Transistores.-
Un transistor es un aparato que funciona a base de un dispositivo semiconductor que cuenta con tres terminales, los que son utilizados como amplificador e interruptor. Una pequeña corriente eléctrica, que es aplicada a uno de los terminales, logra controlar la corriente entre los dos terminales.
Los transistores que usaremos son:

  •   Transistor BC557

  •   Transistor BC447

  •   Transistor BD140

Resistencia.- Una resistencia tiene la finalidad de limitar el paso de corriente
Las resistencias que usaremos son:

  •   Resistencia de 680Ω

  •   Resistencia de 2.2kΩ

  •   Resistencia de 10kΩ

Motores.- El motor es un parte esencial para el robot  si se trata de competencias. Si se trabaja con un motor de una buena revolución con una buena potencia  y a las ves consume poca tensión, tendremos unos motores ideales para nuestro robot.


Pasos del método que se siguió:

1. Emulación en la tarjeta de pruebas.
Antes de todo lo primero que se realizo fue armar el circuito del robot en la placa de pruebas, esto para percatarnos de que no existe ningún error en interpretar la funcionalidad de cada elemento electrónico dándole consistencia y coherencia.






2. diseño y quemado de placas.
Realizamos un prototipo del diseño del circuito de acuerdo a nuestra conveniencia (entre más pequeña posible mucho mejor).
Empezamos a realizar un réplica del diseño prototipo en la placa virgen con el marcador indeleble(es recomendable especificar las entradas de tensión +/-).
Posterior a esto realizamos la mezcla del cloruro férrico con el agua en un recipiente, posterior a esto introducimos la placa con el diseño en el recipiente tomando todas las consideraciones para un buen quemado de placa. 

3. soldadura y montaje de los componentes.
Teniendo ya la placa grabada debemos revisar que no exista alguna impureza o mal grabado de nuestro circuito
La soldadura se la debe realizar con mucha concentración y orden ya que algún error podría dañar el grabado haciendo un corto o provocando una soldadura fría.


4. trabajando con los motores.
Generalmente se debe hacer uso de nuestro ingenio para adaptar los motores con las llantas, una de las formas más usadas es usando engranajes. Nosotros emplearemos esta técnica para la combinación de motor y llanta.





5. la rueda loca.
Existen varios materiales con las que se puede realizar una rueda loca. Para nuestro caso usamos  una de las partes de una casetera (la ruta de cinta).







Este punto lo considero el más importante ya que los sensores para su mejor funcionamiento se deben considerar la ubicación entre las mismas, la ubicación en el chasis del carrito, y la distancia de la superficie.
Lo primero que debemos hacer es comprobar el estado óptimo delos sensores. En la imagen se muestra como se debe realizar la prueba de los sensores IR. Sabemos que la luz infrarroja no es perceptible a la vista humana, pero con una cámara cualquiera podemos ver  que esta enciende como lo vemos en la imagen





El objetivo es que ambas llantas giren cuando el sensor detecte línea negra, y esto se lo logra fácilmente en el protoboard pero al implementar los sensores en el chasis del carrito se nos presenta varios problemas, entre estas esta:
·         La posición influye en los sensores IR
·         La conexión de los sensores al circuito mediante cables. La longitud del cable influye en la sensibilidad de los sensores
 





6. armado y ensamblaje.
Una vez cumplido con los anteriores pasos empezamos con el armado de todos los componentes en una base, para nuestro caso en una base de aluminio.





7. uso del relé.
Una vez terminado el armado nos presentamos con un problema, las baterías que usamos no llegaron a alimentar como se deseaba a los motores y el carrito no pudo levantar el peso que poseía. Vimos muchas opciones como usar unas baterías de ms tensión pero esto implicaba subir las resistencias en el circuito para proteger elementos como los sensores y transistores, inclusive esta modificación podría variar el funcionamiento del circuito. Por tanto se nos hizo más conveniente usar un par de relés. Los relés serán usados para darle fuerza a las llantas. Cuando el sensor detecte línea negra los relés serraran el circuito (img_0) haciendo que los motores giren.
Al final con o sin relé nuestro robot cumplirá la misma función de seguir líneas.


Resultados.-
El armado del circuito en el protoboard no trajo muchas complicaciones, fue de fácil elaboración e implementación ya que solo se trabaja con 3 pares de transistores, 3 pares de resistencias, 2 pares de relé y un par de sensores IR.

Pero en el momento de implementar nuestro circuito en el chasis (si es que así se puede llamar)  del carrito se empezaron a complicar las cosas.
Una de las fallas fue en las llantas, los motores no pudieron levantar al carrito. Pero ese problema se solucionó con un par de relés.

Otra falla fue en los sensores IR, tuvimos que buscar una buena posición para estos en el chasis del carrito.

Otro problema de muy fácil solución fueron las baterías. Se deben usar una baterías que aparte de ser de 6V tengan una buena corriente (se recomienda usar baterías recargables ya que se harán muchas pruebas para tener buenos resultados).

Estos fueron los problemas más relevantes que se nos presentó. Pero a la final llegamos a tener los resultados que deseábamos.







Conclusión.-
Al finalizar este laboratorio puedo concluir que si bien se realizó en seguidor de línea de fácil implementación, este proyecto parte como una base de la robótica inclusive nos abre las puertas para ver las puertas de la robótica avanzada.
La implementación y mejora de este proyecto podría traer grandes beneficios para nuestra sociedad. Uno de estos proyectos podría ser un robot que controle el estado de un edificio inteligente (como guardias patrulleros), podríamos hacer que recorran todos los pasillos del edificio.
Hablar de la automatización es hablar del presente, tenemos los materiales, lo único que debemos hacer es reciclar. Obviamente es más fácil comprar todo ya hecho pero se siente bien cuando tú lo haces con tus propias manos.
El proyecto me sirvió de mucho. La electrónica es un campo bastante interesante y combinados con la informática se pueden realizar maravillas que aún no se han creado.