jueves, 5 de julio de 2012

Regresa Megaupload mas grande y mejor y mas rápido


Regresa Megaupload mas grande y mejor y mas rápido 

Buenas Noticias, regresa megaupload.  El fundador de Megaupload, Kim Schmidt "Dotcom", anunció a modo de festejo y a través de su cuenta de Twitter, la no aprobación del acuerdo antipiratería ACTA y aseguró que su tan polémico como popular servicio Megaupload, cerrado por el FBI, volverá “más grande, mejor y más rápido”.


Kim "Dotcom", celebrando el anunciado regreso

Kim "Dotcom", celebrando el anunciado regreso











El martes, el Parlamento Europeo le dio la espalda con 478 votos en contra, 39 a favor y 165 abstenciones, al acuerdo internacional contra la falsificación y la piratería (ACTA) por sus dudas respecto a la efectividad del Tratado y al 
respeto de los derechos de los usuarios de Internet. 
El fundador de Megaupload compartió en Twitter un mensaje en el que celebra el rechazo de ACTA por parte de la Eurocámara y recuerda que el resto de propuestas propuestas por EEUU -SOPA y PIPA- “están muertas” y que lo único que volverá será Megaupload.
“SOPA está muerta. PIPA está muerta. ACTA está muerta. MEGA volverá. Más grande. Mejor. Más rápido. Gratuito y protegido de los ataques. Evolución!”, twiteó de Dotcom.
Kim Dotcom se encuentra en libertad bajo fianza en espera de su extradición el próximo mes de agosto a EE.UU., donde se le acusa de violar los derechos de autor y realizar blanqueo de dinero con Megaupload. Dotcom fue detenido el pasado mes de enero acusado de haber convertido su plataforma en uno de los mayores espacios de intercambio de archivos que infringen derechos de autor.
Fuente de informacion : http://www.infonews.com/2012/07/05/sociedad-28482-vuelve-megaupload-mejor-mas-rapido-y-gratuito.php

lunes, 2 de julio de 2012

El iPhone 5 podría usar un sistema de carga por inducción


El iPhone 5 podría usar un sistema de carga por inducción


iphone 5 diseno 05
Los fabricantes de dispositivos electrónicos como smartphones no dejan de innovar y trabajar en nuevos sistemas para introducir en futuros modelos. El el sector de la telefonía móvil los rumores yfiltraciones están a la orden del día, aunque la mayoría de veces están basados en declaraciones de fuentes sin confirmar y finalmente terminan siendo datos falsos. No es posible confirmar un rumor hasta que la compañía presenta el dispositivo en cuestión y hasta entonces se van dando palos de ciego. Sin embargo hay ocasiones en las que las especulaciones gozan de una mayor credibilidad, bien porque el medio en el que aparecen tenga más prestigio o porque vienen directamente  de la compañía. En este sentido, los registros de patentes son una buena fuente de la que extraer información sobre sistemas que aparecerán en un futuro.
carga induccion iphone5 01
Apple es una de las compañías que más expectación provoca entre usuarios y especialistas, sobre todo debido al secretismo que rodea todos sus lanzamientos. En estos momentos los de Cupertinoestán en el punto de mira ante la presentación del rumoreado iPhone 5, que está prevista paraotoño, posiblemente en octubre. El interés que despierta este terminal está siendo exagerado desde el verano pasado y por este motivo se mira con lupa cada movimiento de la compañía o las patentesque registran. Gracias a la web de Patently Apple sabemos que hace unos días registraron varios sistemas entre los que destaca un cargador por inducción. Hace algún tiempo que se rumoreó sobre la posibilidad de que el iPhone 5 tuviera este sistema, pero con la llegada del iPhone 4S este rumor quedó apartado. Ahora que ha vuelto a aparecer se reavivan los rumores de que el iPhone 5 podría contar con un accesorio que permita cargar la batería con este sistema, aunque no es posible saber si llegará con este modelo u otro posterior.
iphone 5 largo 01
Los cargadores por inducción permiten recargar la batería del dispositivo sin que haya que conectarlo con un cable, simplemente hay que apoyarlo en la base de carga para que comience a recibir energía. El accesorio que detalla Apple en la patente sujeta en móvil en posición vertical,aunque también será posible colocarlo en horizontal (apaisado) y por ejemplo ver un vídeo a un tamaño más grande mientras se recarga. Además de recargar la batería, esta base también potenciaría la señal de la antena mejorando la cobertura. Por otro lado, el accesorio en cuestión estaría diseñado para dispositivos de mano, con lo que está dirigido a los iPhone y los iPod Touch.
Los últimos rumores del iPhone 5 apuntan a que este modelo tendrá un conector para cargar la batería más pequeño que el que conocemos hasta ahora, de esta forma el dispositivo será más delgado porque el componente ocupa menos espacio. Como decíamos, no es posible saber con certeza si tendrá un cargador por inducción ya que de momento se trata de una patente y esto no garantiza que el sistema se vaya a construir. En cualquier caso habrá que seguir esperando a que Apple anuncié el evento de presentación oficial, solo entonces podremos salir de dudas.

miércoles, 6 de junio de 2012

Siri estará disponible para iPad con la llegada de iOS 6




     Hasta ahora Siri, el famoso asistente por voz de Apple, era una aplicación en exclusiva para iPhone 4S, al menos de manera oficial y/o legal. En realidad aún sigue siendo exclusivo del último modelo de iPhone, pero esta es una situación que tiene sus días contados, puesto que sabemos que con la presentación oficial de iOS 6 podremos disfrutar de Siri en nuestro iPad.

     Esperemos que no se retrase el tema más allá del otoño del presente año, será entonces cuando se presente por parte de los de Cupertino la nueva versión de su sistema operativo para dispositivos móviles. Con iOS 6 podremos disfrutar del asistente por voz Siri en nuestros iPad.

     Principalmente será una versión idéntica a la de Siri para iPhone 4S, podrá realizar las mismas funciones que realiza actualmente, excepto aquellas que estén relacionadas con la actividad del teléfono en sí (realizar llamadas, enviar SMS, etc.).

     El primer motivo por el que se ha visto retrasada la presentación de Siri para iPad se debe a un aspecto muy obvio, cuando utilizamos el iPad lo mantenemos a una distancia mayor que cuando utilizamos el iPhone, de ahí que sea más difícil que el dispositivo interprete correctamente nuestras órdenes por voz. También sabemos que a pesar de que Siri ocupe toda la extensión de la pantalla del iPhone 4S no será así en el iPad, ocupará una ventana de tamaño estándar a cualquier otra aplicación.

     Probablemente solo tendremos disponible Siri para la última versión del tablet de Apple, el Nuevo iPad, el motivo se debe a que se desea evitar la saturación de los servidores de Apple si hacen compatible Siri con todos los modelos de iPad que existen en uso actualmente en el mundo.

     La pregunta que todos los hispanoparlantes nos hacemos cada vez que se habla de Siri es:¿Cuando tendremos disponible Siri en español? Según Apple es cuestión de meses puesto que estará disponible a lo largo de este año 2012. En fin, aún estamos en junio, tendremos que esperar.

Samsung Galaxy S3 o iPhone 5. ¿Quién será el Rey?


Samsung Galaxy S3 o iPhone 5. ¿Quién será el Rey?


La gama Galaxy de Samsung se ha convertido en el principal rival de Apple en cuanto a la fabricación y venta de smartphones. La compañía coreana, con el lanzamiento del S3 está en muy buena posición para arrebatar su trono al iPhone, aunque todavía les queda camino por recorrer.

Los Galaxy han tenido gran éxito, más de 50 millones de unidades vendidas entre sus dos terminales estrella hasta la fecha, el S y el S2. Aunque todavía no llegan a las cifras que marcan los de Cupertino, que con un crecimiento exponencial, vendieron más de 150 millones de dispositivos con iOS en 2011, de los cuales, una gran parte eran iPhones.

Hasta aquí las estadísticas del pasado, pero, ¿Qué pasa con los nuevos modelos?. El Samsung Galaxy S3 ha conseguido algo que hasta hora estaba solo a la altura de Apple: crear una expectación en los meses previos a su lanzamiento que ha provocado que bata records en la preventa, unos 9 millones de dispositivos han sido reservados. Si tenemos en cuenta que en esta cifra no se contabilizan los que venden las operadoras de telefonía, estos 9 millones podrían verse aumentados sensiblemente cuando el cómputo sea total.

Si hablamos de las posibles ventas del iPhone 5 lo tendremos que hacer desde la inseguridad que ofrecen las previsiones de los analistas, si bien con estos vaticinios podemos hacernos una idea de lo que nos espera. Las cifras en las que podríamos estar moviéndonos para la preventa, rondarían entre los 15 y los 20 millones de iPhone 5, con lo cuál, estarían por encima de las del S3, pero la diferencia no sería tan grande como la que hubo en las anteriores generaciones. Si bien, hay que tener en cuenta que el recorrido de los teléfonos de Apple suele ser mayor que el de los de Samsung, mientras la gama iPhone suele renovarse cada año, más o menos, los Galaxy se renuevan en un tiempo algo menor.

Por lo tanto, parece que Samsung está muy cerca de Apple cuando hablamos de ostentar el reinado en la telefonía de gama alta. Hay que reconocer que el hardware del que ha dotado Samsung al Galaxy S3 es espectacular y que muy difícil tienen los de Apple superarlos en este aspecto. Pero seguramente los de Apple suplirán las posibles carencias de su hardware con un sistema muy bien implementado, punto éste último en el que Android, debido a la tan mentada fragmentación, tiene una asignatura pendiente.

Y vosotros ¿Qué pensáis?. ¿Será destronado algún día el iPhone?
FUENTE http://www.iphoneworld.com.es/2012/06/samsung-galaxy-s3-o-iphone-5-quien-sera.html

* IPHONE 5 después del verano, concretamente en septiembre a la venta


Más y más rumores en torno al iPhone 5 de Apple. Ahora todo gira alrededor de un nuevo componente de un prototipo de futuro dispositivo del gigante de la manzana que podría hacer que el smartphone pueda realizar intercambios de archivos usando la red WiFi y que será compatible con AirDrop, según publica Geekets.
Según el portal, el componente que ha alimentado los rumores sobre el iPhone 5 es el chip Broadcom BCM4334 que hará posible el intercambio de información por medio de WiFi. Pero lo que más ha llamado la atención es que Apple permite que su futuro terminal deje tanta manga ancha para compartir sus archivos con otros dispositivos.
De lo que se habla es que si el iPhone 5 termina usando la WiFi para compartir archivos entre dispositivos se asemejará a la sincronización de AirDrop de MacOSX en iOS.
Otra de las características que llama la atención de este chip es que gasta la mitad de energía si lo comparamos con otros componentes en el iPhone 4 o 4S, y los usuarios ya no tendrían que usar el Bluetooth gracias a esta nueva modalidad.
Por el momento, todo está en aire y solo podrá confirmarse hasta que Apple haga la presentación oficial de su terminal, prevista para 

IMÁGENES RELACIONADAS CON EL IPHONE 5




NUEVA YORK, (VOANOTICIAS).- Una filtración en la red, disparó los rumores, sobre las características que tendrá el iPhone 5. El portal 9to5Mac publicó las últimas imágenes revelando cómo sería el nuevo Smartphone de Apple.
Según las fotografías que habrían sido entregadas por los mismos fabricantes de, el nuevo iPhone ya no tendrá en la parte trasera el cristal del 4S, ni el plástico de la versión 3GS. En su lugar tendrá una pieza metálica, un poco más alta, pero igual de ancha a los modelos anteriores.
Estos cambios harán más fuerte el Smartphone, ya que la carcasa de cristal ha sido criticada por su fragilidad.
Adicionalmente, ahora el iPhone proporcionaría mejores fotografías, pues la pantalla del dispositivo tendría una resolución de 1136x640, con un tamaño aproximado de 4 pulgadas.
El nuevo teléfono de Apple también reducirá el tamaño del dock (elemento de interfaz gráfica que permite a los usuarios iniciar aplicaciones). La toma de los auriculares ahora estará en la esquina inferior izquierda por lo cual la cámara frontal pasaría a quedar centrada y continuará el espacio para el botón Home.
Se especula, que el iPhone 5 podría llegar en otros colores diferentes a los convencionales blanco y negro.
El lanzamiento del nuevo dispositivo móvil se tiene previsto para los primeros días de octubre, según declaraciones de la compañía Apple.


martes, 22 de mayo de 2012

* COSAS QUE PUEDES HACER EN CASA TU MISMO



buenas aquí les dejo este post que encontré en la web hay muchas cosas útiles  para hacer uno mismo 


Construir tu cabaña o casa en Super Adobe 


Para los que se preguntan ¿Que es Super Adobe? Les comento que es una técnica de construción basada en bolsas o tubos de plástico llenados con tierra y comprimidos. Fue desarrollada por un arquitecto Iraní. Mas información acá: http://en.wikipedia.org/wiki/Super_Adobe 

En este caso es una cabaña para 4 personas más un bañito. Es un circulo principal de 5 metros de diámetro y un pequeño semicirculo de unos 4 metros.
 



 


Comenzamos: 

Este es el rollo de POLIPROPILENO, yo lo compro en la ciudad de Córdoba, capital, a 1 peso el metro. Esta bobina tiene 2000 metros y me alcanzó para mi casa y para esta cabaña.
 



 


Con una estaca y una soguita de la medida del radio se marcan los circulos en el piso 


 


Una vez marcado el suelo se cava una zanja de unos 50cm de profundidad por 40 de ancho. Se cubre toda con un plastico grueso para aislar la humedad. La primer vuelta de cimiento la hicimos con mas cemento, un 25%, como para darle mayor estructura a la base. La segunda vuelta ya la arrancamos con la mezcla normal 


 


La mezcla lleva TIERRA + 5% de CEMENTO y agua. No llega a ser barro, pero es bastante húmeda. 
El punto justo se lo puede ver cuando tomamos un puñado, lo compactamos con la mano, lo arrojamos para arriba y al caer en la mano de nuevo, no debe desarmarse.
 



 


Para que las lineas de los circulos queden prolijas y no se vayan hacia adentro o hacia afuera se utiliza un compás central, cada vuelta es chequeada con la cadena (RADIO) para ir corrigiendola. 


 


En la próxima imágen ya se puede ver como comienzan a “trabarse” las bolsas entre sí. 


 


Entre bolsa y bolsa se coloca una fila de alambre de puas, esto hace que las bolsas se pinchen y se traben, para que no se deslicen. Si se va a cerrar en cupula en forma de domo, se ponen 2 vueltas. 


 


Para llenar las bolsas hay varios métodos. 
Nosotros usamos un caño de chapa de unos 30cm de diámetro, en el que se coloca toda la extension de la bolsa, dejando una punta libre.
 



 


Por la boca del tubo se cargan los baldes de mezcla, por el efecto de la gravedad la bolsa se va llenando pareja. 


 


También armamos un soporte para ir llenando las bolsas, es bastante práctico al principio cuando no se tiene experiencia en el manejo de la bolsa… 


 


Una vez llena la bolsa se dobla como un sobre la punta y se la mete abajo de la misma, tratando de que se pinche en el alambre para que no se salga. Despues se le da bastante fuerte con un pisón para que se compacte bien 


 


Comenzamos a amurar las aberturas, en este caso la puerta principal. Se puede ir trabando entre las bolsas con algun hierro o clavo largo. La estructura de madera que se ve es un molde para hacer la entrada. 


 


Como ven, pueden usar cualquier cosa para hacer moldes para aberturas. En este caso un bidon nos sirvio de molde para esta ventana “rulo”. 


 


Aca metimos este cajón de madera en el lugar donde despues iria la ventana. Es un “premarco” para usar de guia y no poner la ventana y que se arruine. 


 


Ya con los muros listos comenzamos a amurar los palos para el techo 


 


Machimbrando la estructura… 


 


Machimbre listo! 


 


Membrana soldada sobre el machimbre 


 


Revoques interiores y un poco de color en las paredes. El revoque es tradicional, primero un salpicado grueso de concreto (3X1) y despues un fino esponjeado (4arena fina + 1 de cal + 1/2 de cemento) 


 


El baño listo 


 


terminada, falta poner la paja en el techo. 


 






 ----------------------------------------------------------------------------------------------------------------------------------------------------------------


Como crear una maquina de hacer pochoclos sencilla 


Comprato un video de como hacer una máquina de hacer pochoclos, palomitas de maiz o pororó, según el país donde se encuentren 





link: http://www.youtube.com/watch?v=ZWN23VjTwJU&feature=player_embedded 


 


 


Ideas para hacer muebles con palets 


 
 


y muchas ideas mas.. 


 


 


 


 


 


 


 


 


 


 


 


Como hacer trenzas cosidas o Cornrows 


 
 
 
 


Cómo hacer otro nudo de corbata 


 


 


 







link: http://www.youtube.com/watch?feature=player_embedded&v=9XqcmjNI_YA 


 


Cómo hacer un proyector de video 


 


 


descargar tutorial 


http://cdn.crealotumismo.com/wp-content/uploads/2008/07/Manual_Proyector_DIY_v2.1.PDF 


 


Cómo fabricar un cargador portátil para tu teléfono celular 


 





link: http://www.youtube.com/watch?feature=player_embedded&v=vv4ZrxSszws 


 


Cómo hacer un juguete que simule nieve al agitarlo 


 


video 


http://www.metacafe.com/watch/826526/toy_with_snow/ 


 


Cómo hacer un caleidoscopio 


Un caleidoscopio es un tubo que contiene tres espejos, que forman un prisma tetraédrico con su parte reflectante hacia el interior, al extremo de los cuales se encuentran dos láminas traslucidas entre las cuales hay varios objetos de color y forma diferente, cuyas imágenes se ven multiplicadas simétricamente al ir girando el tubo mientras se mira por el extremo opuesto. 
Nuestro caleidoscopio que fabricaremos es simple y barato, ya que los materiales requeridos no son difíciles de conseguir. 

Materiales: 

Dos Cds 
Un protector de Cd 
Un tubo de plástico de 8 centímetros 
Cuentas de colores y pedazos de vidrio 
Pegamento 
Tijera 

video
 



http://www.metacafe.com/watch/714831/toy_kaleidoscope/ 




 


Cómo atar los cordones de tus zapatillas originalmente 


Unas 15 maneras de atarse los cordones encontré en el blog de Lucas, que nos puede ser muy útil si queremos salirnos del atado monótono que siempre usamos para nuestras zapatillas. Es interesante ver las variedades que existen y aún más si utilizamos dos cordones de diferentes colores. 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


Hacer un escondite para tus cosas en una botella de gaseosa 


En este proyecto, veremos cómo fabricar una botella de gaseosa que servirá para esconder tus cosas personales. Es una buena caja fuerte! 





link: http://www.youtube.com/watch?feature=player_embedded&v=WXXf5rkCuvQ 


Materiales: 

Dos botellas plásticas 
Dos trozos de telgopor 
Dos juntas de goma 
Masilla de silicona 
Pegamento 
Tijeras
 



 


Cómo hacer una Mina Claymore Sonora 


En este proyecto fabricaremos una mina claymore sonora, realmente sencilla y simple de construir. Su funcionamiento es igual que este tipo de mina en la realidad, llevará un cable unido a esta y en cuanto se pise el cable la mina se activará emitiendo un pitido. 


 


Materiales: 

Un soldador 
Un poco de estaño 
Un interruptor 
Dos pilas 
Dos trozos de metal 
Un trocito de madera 
Un zumbador
 



 


Paso 1: 

Para comenzar con el disipador habrá que soldar un cable a cada uno de los trozos de metal.
 



 


Paso 2: 

Poner los extremos doblados como aparece en la foto (tocándose) y entre los dos trozos pondremos un taco de madera. Luego lo envolvemos con un poco de cinta aislante.
 



 


Paso 3: 

Ahora siguiendo el circuito eléctrico hacer las conexiones.
 



 


Paso 4: 

Así quedará conectado.
 



 


Paso 5: 

Ahora a darle una forma más compacta.
 



 


Paso 6: 

Con un poco de cinta aislante lo afirmamos y le colocamos un trozo de plástico (en este caso se utilizó un pedazo de CD).
 



 


Paso 7 

Para su colocación situaremos la mina en un sitio firme, le pondremos en el disparador el objeto no conductor que hayamos elegido (no debe ser grueso ni el objeto, ni las placas metálicas) al que irá sujeto el cable o hilo que utilicemos, el otro extremo del hilo lo tensamos un poco y lo enganchamos en el lugar donde elijamos, una vez hecho esto apretamos en interruptor y la mina queda activada. 
Cuando alguien pise el cable, el trozo no metálico saltará y se unirán las placas metálicas, lo que hará que pite la mina.
 



 


Cómo fabricar un sillón con un neumático 


No sé que tan cómodo será sentarse en este sillón, pero es muy original ver cómo podemos reutilizar materiales viejos. La idea básicamente es hacerle cuatro orificios al neumático, doblarlo y pasarle unas barras por los huecos para darle la forma de “sillón”. 


 


Instrucciones en imágenes: 


 
 


 


Cómo fabricar un reloj al mejor estilo Dalí 


Para seguir armando nuevos modelos de relojes, aquí tenemos uno muy original. Se trata de hacer el típico reloj surrealista de Salvador Dalí con un disco de vinilo. 


 


Materiales: 

Un reloj de aguja 
Un disco de vinilo
 



 


 


 


 


 


 


 


 


 


 


 


Cómo hacer pantuflas que iluminen en la oscuridad 


Puedes hacer más útiles tus pantuflas colocándoles luces que te “iluminen” el paso. En este videotutorial vas a aprender cómo fabricarlas 





link: http://www.youtube.com/watch?feature=player_embedded&v=yB5fP3He9_A 


 


Armar un robot con un mouse viejo 


En la revista Make Digital, Gareth BranwynWith, no muestra cómo fabricar con tu viejo mouse, un divertido robot. 


 
 


tutorial pdf 


http://cdn.crealotumismo.com/wp-content/uploads/2008/06/mousy.pdf 


 


Cómo hacer una pequeña pistola de bolsillo 


 
 
 


Paso 4: Carga y seguridad. 


 


 


 


 


Pendientes elaborados con partes de disquetes 


 


Para las mujeres más tecnológicas, aquí vemos un tutorial que muestra cómo hacer un par de pendientes geek. La idea, básicamente, es armarlos con los centros de metal que tienen los disquetes, seguro que tienes en algún cajón un par de esos viejos discos “prehistóricos”. 


 


 


 


Armar un teclado original 


¿Estás cansado de tu teclado común y corriente? Bueno, vamos a hacerlo más interesante entonces. 

Materiales y Herramientas: 

Un teclado 
2 LED’s 
Cable de teléfono 
Soldador 
Taladro y Mecha
 






link: http://www.youtube.com/watch?feature=player_embedded&v=iOn72Y5DT6M 


 


Cómo fabricar un joystick gigante para NES 


 


instrucciones en ingles 


http://ultra-awesome.blogspot.com.ar/2008/05/nes-coffee-table-final-post-rah.html 


Un video que muestra el control funcionando: 





link: http://www.youtube.com/watch?feature=player_embedded&v=2c3q9K4cHzY 








Cómo hacer una Cocina Solar Plegable 


 


Paso 2: 

Haz dos dobleces en cada ala de tal manera que una vez plegados, formen una doble pared separada por 2’5 cm (aprox.1 pulgada). Fíjate que los lados más cortos deberán ser cortados (un poco más de 2’5 cm por cada lado) para poder ser doblados.
 



 


Paso 3: 

Pon dos topes de cartón en el fondo de la caja para que al meter el fondo de la caja pequeña se mantenga el espacio entre las cajas
 



 


Paso 4: 

Corta el fondo de la caja más pequeña y ponla dentro de la otra caja (descansando sobre los topes). Coloca la bandeja negra metálica sobre este fondo.
 



 


Paso 5: 

Prepara los lados de la caja más pequeña como lo has hecho con los de la caja más grande. Entonces, mételos en la base de la caja pequeña.
 



 


Paso 6: 

Entonces, dobla los lados de la caja pequeña hacia fuera y mételos en la base de la caja grande (para hacerte la tarea más fácil puedes recortar una esquina de cada ala).
 



 


Paso 7: 

Ya tenemos la base completa, ahora, haz una tapa.
 



 


Paso 8: 

Ponle la tapa a tu cocina, y listo. Puedes hacer una cocina de cualquier tamaño utilizando este método.
 



 




Encender las luces de tu casa con la computadora 


Este es un proyecto en el cual a menudo mezclamos la electronica con la programacion, uniendolas con interfases, que en este caso, son por medio de un optoacoplador. 
La idea se basa en poder controlar una serie de 8 dispositivos [por lo general luces] en una casa o algun lugar donde se requiera el control de la electricidad por medio remoto. 

urbo pascal, viene parcheada y lista para ser usada sin correr el riesgo del temible error BSOD de DOS: 
ERROR 20 DIVISION BY CERO 

Porque elegir Pascal? 
1)Primeramente porque es un lenguaje facil y rapido. 
2)Al momento de compilar no se necesita de librerias. 
3)Para este proyecto no usaremos una potente computadora 
4)Puede usarse el ejecutable sin necesidad de instalarse primero, sin siquiera tener que usar algun sistema operativo, al menos con que tenga MS-DOS es suficiente. 

Diagrama de la Interfase 
Aqui tenemos la interfase que usaremos para conectarla al puerto paralelo de la computadora:
 



 


Cabe aclarar que debemos hacer 8 de estos circuitos para poder controlarlos con el programa que mas adelante les dejo. 

Es mas sencillo este circuito aunque digan lo contrario, en mi opinion, este circuito es mas facil de probar que confundirse con la puesta de los transistores… 

Para la conexion: 

Realicen 8 de estos circuitos, luego coloquen la entrada (R 1) a cada pin de salida del puerto paralelo, del pin 2 al pin 9. 
El puerto debe trabajar con la direccion 378h Base 1 en la direccion $0040 y segmento 0008 
osea el puerto LPT1. 

Si desean saber como trabaja, tanto este puerto, como otros, busquen mi post sobre libros de electronica o de programacion y acceso a puertos. 


Ahora empecemos por el asunto, Conozcamos la interfase: 

Usando Circuitos integrados se la empresa motorola, que por su sencillez no deja de darnos cosas utiles como el “PASAJE POR CERO” y una tension de aislamiento cercano mayor a los 1 KiloVoltios. 

el MOC usado es el 3040 (o su equivalente MOC3041) o un alternativo tambien como el siguiente diagrama: 

El TRIAC depende de lo que queramos controlar [por estado solido] interrumpiendo su electricidad. 

Si la Carga es REISTIVA entonces usaremos un TIC226D que no pase de los 400 voltios 

Si la Carga es INDUCTIVA entonces usaremos un TIC226M de unos 600 voltios de control 

de lo anterior debemos tener cuidado de no sobrecargar la carga de trabajo del capacitor C1, poniendolo a un valor adecuado levemente superior a la carga del TRIAC. 

El valor de R1 depende de la tension de entrada, R1 = 1000 
(Uin - 1,3) / ILED (mA) 

donde: 

Uin se expresa en Voltios 
R1 esta en Ohmios 
ILED es la corriente que circula por el diodo LED en el optoacoplador expresada en mili Amperios. 

ejemplo: 

Uin = 12 
ILED = 30 mA como en el MOC3040 
R1 es en total = 356 Ohmios, estandar buscado cercano es de 330 Ohmios 
12 – 1.3 = 10.7 
10.7 / 30 = 0.356 = 356 Ohmios 

Ahora sabemos que el puerto paralelo nos da un valor TTL de 5 voltios aplicamos la formula matematica para el calculo de la resistencia que el MOC3040 usara: 

5 – 1.3 = 123 Ohmios = aproximandolo a un valor comercial nos da 125 Ohmios en R1 
Ahora que tenemos los calculos procederemos a la programacion: 

aqui esta el codigo fuente: si desean modificarlo. Si lo desean. 

Codigo Fuente (algunas librerias no se usan, pueden eliminarlas) 

uses DOS,graph,Crt,SVGA256,Txt; 
label 100; 
var 
graphdriver,graphmode:integer; 
nombre: string[ 17]; 
Font: array[0..767] of byte; 
clave,Ch:char; 
p: word absolute $0040:0008; 
a,b,c,d,e,f,g,h: integer; 
{—————————————————————————-} 
procedure inicio; 
begin; 
textbackground(blue); 
clrscr; 
gotoxy(17,10); 
textcolor(white); 
writeln(‘iniciando ambiente grafico, espere unos segundos’); 
gotoxy(10,30); 
writeln(‘Por favor ingresa tu nombre para mostrarlo mas adelante’); 
gotoxy(10,33); 
writeln(‘como usuario durante el programa’); 
writeln; 
gotoxy(44,33); 
textcolor(white); 
textbackground(blue); 
gotoxy(45,33); 
read(nombre); 
gotoxy(44,33); 
delay(300); 
clrscr; 
end; 
procedure Titulo; 
begin 
SetMode(1); 
Bar(0,0,320{ancho horizontal},200{ancho vertical},blue{color fondo}); 
Print2(10,5,62,’Laboratorios Enigma software’);{9 es violeta 16 es negro} 
Print2(10,10,62,”); 
Print2(30,50,62,’ CONTROL PORT ’); 
Print2(10,160,62,’ Presiona la Tecla [ Enter]‘); 
Print2(10,185,62,’(c)Gerson Enigma Guatemala 2005′); 
Ch:=ReadKey; Ch:=#0; 
{este es el fondo principal del programa} 
Bar(0,0,320,200,blue{color fondo}); 
Bar(2,2,316,20,9 {bluelight color fondo}); 
bar(2,186,316,18,9); {fondo de mensajes esc y F11} 
bar(2,2,3,199,9); 
bar(316,2,3,199,9); 
Print2(115,10,62,’Control Port’); 
Print2(90,190,65,nombre); 
print2(5,190,62,’Operador: ’); 
bar(7,35,220,88,black); {fondo de interruptores} 
end; 
{—————————————————————————-} 
procedure iniciodatos; {todos los bits a cero} 
begin 
delay(100); 
port[p]:=0; 
a:=0; 
b:=0; 
c:=0; 
d:=0; 
e:=0; 
f:=0; 
g:=0; 
h:=0; 
delay(100); 
end; 
procedure status; 
begin 
print2(85,25,65,’Estado’); 
Print2(5,126,65,’ ’); 
print2(5,125,65,’[ F1] terminal 1 [ F7] Terminal 7′); 
print2(5,135,65,’[ F2] Terminal 2 [ F8] Terminal 8′); 
print2(5,145,65,’[ F3] Terminal 3 [ F9] Selec. Todos’); 
print2(5,155,65,’[ F4] Terminal 4 [ F10] Menu Ayuda ’); 
print2(5,165,65,’[ F5] Terminal 5 ’); 
print2(5,175,65,’[ F6] Terminal 6  Salir’); 
end; 
procedure instrucciones; 
begin 
end; 
{—————————————————————————-} 
procedure estado; 
begin 
if port[p] = port[p]-1 then bar(10,40,200,10,black); print2(10,40,62,’interruptor [ 1] apagado’); 
if port[p] = port[p]+1 then bar(10,40,200,10,black); print2(10,40,62,’interruptor [ 1] Encendido’); 
if port[p] <> -1 or +1 then bar(10,40,200,10,black); print2(10,40,62,’interruptor [ 1] Data Error’); 
if port[p] = port[p]-2 then bar(10,50,200,10,black); print2(10,50,62,’interruptor [ 2] apagado’); 
if port[p] = port[p]+2 then bar(10,50,200,10,black); print2(10,50,62,’interruptor [ 2] Encendido’); 
if port[p] <> -2 or +2 then bar(10,50,200,10,black); print2(10,50,62,’interruptor [ 2] Data Error’); 
if port[p] = port[p]-4 then bar(10,60,200,10,black); print2(10,60,62,’interruptor [ 3] apagado’); 
if port[p] = port[p]+4 then bar(10,60,200,10,black); print2(10,60,62,’interruptor [ 3] Encendido’); 
if port[p] <> -4 or +4 then bar(10,60,200,10,black); print2(10,60,62,’interruptor [ 3] Data Error’); 
if port[p] = port[p]-8 then bar(10,70,200,10,black); print2(10,70,62,’interruptor [ 4] apagado’); 
if port[p] = port[p]+8 then bar(10,70,200,10,black); print2(10,70,62,’interruptor [ 4] Encendido’); 
if port[p] <> -8 or +8 then bar(10,70,200,10,black); print2(10,70,62,’interruptor [ 4] Data Error’); 
if port[p] = port[p]-16 then bar(10,80,200,10,black); print2(10,80,62,’interruptor [ 5] apagado’); 
if port[p] = port[p]+16 then bar(10,80,200,10,black); print2(10,80,62,’interruptor [ 5] Encendido’); 
if port[p] <> -16 or +16 then bar(10,80,200,10,black); print2(10,80,62,’interruptor [ 5] Data Error’); 
if port[p] = port[p]-32 then bar(10,90,200,10,black); print2(10,90,62,’interruptor [ 6] apagado’); 
if port[p] = port[p]+32 then bar(10,90,200,10,black); print2(10,90,62,’interruptor [ 6] Encendido’); 
if port[p] <> -32 or +32 then bar(10,90,200,10,black); print2(10,90,62,’interruptor [ 6] Data Error’); 
if port[p] = port[p]-64 then bar(10,100,200,10,black); print2(10,100,62,’interruptor [ 7] apagado’); 
if port[p] = port[p]+64 then bar(10,100,200,10,black); print2(10,100,62,’interruptor [ 7] Encendido’); 
if port[p] <> -64 or +64 then bar(10,100,200,10,black); print2(10,100,62,’interruptor [ 7] Data Error’); 
if port[p] = port[p]-128 then bar(10,110,200,10,black); print2(10,110,62,’interruptor [ 8] apagado’); 
if port[p] = port[p]+128 then bar(10,110,200,10,black); print2(10,110,62,’interruptor [ 8] Encendido’); 
if port[p] <> -128 or +128 then bar(10,110,200,10,black); print2(10,110,62,’interruptor [ 8] Data Error’); 
end; 
procedure keys; 
begin 
estado; 
repeat 
begin 
ch:=readkey; 
if (ch = #0) then Begin 
ch:= readkey; 
case ch of 
#59: begin {F1} 
a := a+1; 
if frac(a/2) = 0 then 
begin 
bar(10,40,210,10,black); 
print2(10,40,62,’interruptor [ 1] apagado’); 
port[p]:=port[p]-1 
end 
else 
begin 
bar(10,40,210,10,black); 
print2(10,40,62,’interruptor [ 1] Encendido’); 
port[p]:= port[p]+1 
end; 
end; 
#60: begin {F2} 
b := b+1; 
if frac(b/2) = 0 then 
begin 
bar(10,50,210,10,black); 
print2(10,50,62,’interruptor [ 2] apagado’); 
port[p]:=port[p]-2 
end 
else 
begin 
bar(10,50,210,10,black); 
print2(10,50,62,’interruptor [ 2] Encendido’); 
port[p]:= port[p]+2 
end; 
end; 
#61: begin {F3} 
c := c+1; 
if frac(c/2) = 0 then 
begin 
bar(10,60,210,10,black); 
print2(10,60,62,’interruptor [ 3] apagado’); 
port[p]:=port[p]-4 
end 
else 
begin 
bar(10,60,210,10,black); 
print2(10,60,62,’interruptor [ 3] Encendido’); 
port[p]:= port[p]+4 
end; 
end; 
#62: begin {F4} 
d := d+1; 
if frac(d/2) = 0 then 
begin 
bar(10,70,210,10,black); 
print2(10,70,62,’interruptor [ 4] apagado’); 
port[p]:=port[p]-8 
end 
else 
begin 
bar(10,70,210,10,black); 
print2(10,70,62,’interruptor [ 4] Encendido’); 
port[p]:= port[p]+8 
end; 
end; 
#63: begin {F5} 
e := e+1; 
if frac(e/2) = 0 then 
begin 
bar(10,80,210,10,black); 
print2(10,80,62,’interruptor [ 5] apagado’); 
port[p]:=port[p]-16 
end 
else 
begin 
bar(10,80,210,10,black); 
print2(10,80,62,’interruptor [ 5] Encendido’); 
port[p]:= port[p]+16 
end; 
end; 
#64: begin {F6} 
f := f+1; 
if frac(f/2) = 0 then 
begin 
bar(10,90,210,10,black); 
print2(10,90,62,’interruptor [ 6] apagado’); 
port[p]:=port[p]-32 
end 
else 
begin 
bar(10,90,210,10,black); 
print2(10,90,62,’interruptor [ 6] Encendido’); 
port[p]:= port[p]+32 
end; 
end; 
#65: begin {F7} 
g := g+1; 
if frac(g/2) = 0 then 
begin 
bar(10,100,210,10,black); 
print2(10,100,62,’interruptor [ 7] apagado’); 
port[p]:=port[p]-64 
end 
else 
begin 
bar(10,100,210,10,black); 
print2(10,100,62,’interruptor [ 7] Encendido’); 
port[p]:= port[p]+64 
end; 
end; 
#66: begin {F8} 
h := h+1; 
if frac(h/2) = 0 then 
begin 
bar(10,110,210,10,black); 
print2(10,110,62,’interruptor [ 8] apagado’); 
port[p]:=port[p]-128 
end 
else 
begin 
bar(10,110,210,10,black); 
print2(10,110,62,’interruptor [ 8] Encendido’); 
port[p]:= port[p]+128 
end; 
end; 
#70: {[F11]} 
begin 
bar(7,35,210,88,black); {fondo de interruptores} 
print2(10,40,62,’Creado por ’); 
print2(10,60,62,’Gerson Hernandez’); 
print2(10,90,62,’(c) 2005 enigma’); 
end; 
#68 : {[F10]} 
begin 
instrucciones; 
titulo; 
keys; 
end; 
#67: {[F9]} 
begin 
bar(7,35,210,88,black); {fondo de interruptores} 
print2(10,40,62,’Encenderlos Todos [F2]‘); 
print2(10,50,62,’Apagarlos Todos [F3]‘); 
print2(10,60,62,’Regresar ‘); 
print2(10,80,62,’Estado Actual:’); 
repeat 
begin 
ch:= readkey; 
case ch of 
#60: 
begin {F2} 
bar(10,100,210,10,black); 
print2(10,100,62,’Todos Encendidos’); 
port[p]:=255; 
end; 
else 
begin 
bar(10,100,210,10,black); 
print2(10,100,62,’Todos Apagados’); 
port[p]:= 0 ; 
end; 
end; 
end; 
until ch = #27; 
bar(7,35,210,88,black); {fondo de interruptores} 
keys; 
end; 
end; 
end; 
end; 
until ch in [#27]; 
end; 
procedure salir; 
begin 
Bar(0,0,320{ancho horizontal},200{ancho vertical},Blue{color fondo}); 
print2(19,50,62,’Saliendo del programa’); 
print2(90,120,62,’ Cerrando Sesion’); 
print2(10,186,62,’Creado por Gerson Hernandez (c)2005′); 
sound(2700); 
delay(100); 
nosound; 
Delay(700); 
end; 
{————Main Program————} 
begin 
FileRead(’0808art.fnt’,0,96,8,Font); 
InstallFont(1,8,8,32,96,8,Font); 
iniciodatos; 
inicio; 
Titulo; 
status; 
keys; 
salir; 
{ Ch:=ReadKey; Ch:=#0;} 
end. 
Notas Finales 
La interfase del optoacoplador se debe poner a los pines siguientes del puerto paralelo: 
El programa usa librerias en modo Grafico si no las tienen o no las quieren usar quiten lo que no es interese 
Pines de datos: 
[ 2][ 3] [ 4][ 5][ 6][ 7][ 8][ 9] 
Los pines del 18 al 25 se conectan todos juntos a Masa (0 Voltios = GND) y los restantes pines no se usan.
 



 


 



¿Ahhh? ¿No te gusta el DOS? 
¿Quieres hacerlo en Visula Basic? 
Gracias a la Valiosa Colaboracion del ingeniero Gerson Hernandez un amigo muy especial, en esta ocasión les tengo la segunda parte y final del tutorial. 
Lo haremos por medio de Visual Basic 6.0 Service Pack 1
 



 


Todo esto es posible Gracias a una libreria de codigo Cerrado pero de uso libre, se trata de la libreria IO.DLL que puede ser obtenido desde la web: 
http://www.geekhideout.com/iodll.shtml 
Aunque ya pueden descargarlo desde aqui, adjunto. 
Prosigamos: 
El control lo hace desde esa libreria, primero necesitamos tener la interfaz conectada y lista, ademas de los puertos LPT Paralelo en la direccion correcta: 378 
Luego en Visual Basic colocamos los el formulario con los labels que ven en la imagen de arriba. 
los chek button y los option button tambien tienen que estar. 
bueno por falta de tiempo les dejo el codigo fuente, si señores, el codigo Fuente de como controlar el puerto paralelo by me, Enigma: 
Esta parte va al inicio del codigo fuente del formulario FORM: 

Option Explicit 
Public Out_TTL As Byte ’contiene el BYTE a sacar por el puerto 
Public In_Port As Integer ’continen la direccion de lectura del LPT 
Public Out_Port As Integer ’contiene la direcc.para escribir al LPT 
Este boton es Súmamente util, podemos cerrar el programa y dejar los estados de los pines tal y como queremos, sin necesidad de tener el programa siempre abierto. 

Private Sub Command2_Click() 
End 
End Sub 
En la seccion FORM LOAD va este codigo 

Private Sub Form_Load() 'procedimiento inicial 
‘Configura la COMBOLIST cmbLptSelect 
cmbLptSelect.AddItem ”0×378″ 
cmbLptSelect.AddItem ”0×278″ 
cmbLptSelect.AddItem ”0x3BC” 
‘Establece LPT1 como default 
cmbLptSelect.ListIndex = 0 
SetLPTAddress ’estable direccion base del LTP 
Port_Reset ’reseteo salidas TTL 
End Sub 
Al poner esto evitamos salir mediante la X de la ventana Activa 

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 
Cancel = 1 'evita que se salga mediante la 'X' 
End Sub 
Esta opcion Cierra el programa y todo lo que haya ejecutado en la memoria del sistema 

Private Sub Form_Unload(Cancel As Integer) 'si sale del programa 
Port_Reset 'entonces reseteo salidas TTL 
End 
End Sub 
Solamente con el boton CMD llamado SALIR podemos salir del sistema 

Private Sub cmdSalir_Click() 'si presiono SALIR, reseteo 
Port_Reset 'las salidas TTL y salgo del programa 
End 
End Sub 
Esto Resetea y pone a 0 todos los pines del puerto paralelo 

Private Sub Port_Reset() 'procedimiento para resetear salidas TTL 
PortOut Out_Port, 0 
End Sub 
Este comando nos pone en el programa que tipo de puerto paralelo es y su direccion 

Private Sub cmbLptSelect_Click() 
SetLPTAddress ’llamo rutina para determinarar la direccion 
‘base del nuevo LPT elegido 
End Sub 
Este codigo Muestra el formulario de Ayuda y algun credito que quieran poner 

Private Sub cmdHelpOnLpt_Click() 
frmHelpOnLpt.Show 
End Sub 
Esta seccion es la que Selecciona una de las 4 direcciones posibles del puerto paralelo 

Private Sub SetLPTAddress() 'establece la direccion correpondiente 
'al puerto seleccionado 
Select Case cmbLptSelect.ListIndex 
Case Is = 0 
Out_Port = &H378 
Case Is = 1 
Out_Port = &H278 
Case Is = 2 
Out_Port = &H3BC 
End Select 
In_Port = Out_Port + 1 
End Sub 

Aqui van los codigos de todos los CHECK BUTTON para cada Salida del puerto paralelo 

Private Sub Chkttl0_Click() 'invierto estado de TTL0 
If chkTTL0.Value = 1 Then 
SetPortBit Out_Port, 0 
chkTTL0.Caption = ”Salida TTL0 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 0 
chkTTL0.Caption = ”Salida TTL0 = 0 - BAJO” 
End If 
End Sub 

Private Sub Chkttl1_Click() 'invierto estado de TTL1 
If chkTTL1.Value = 1 Then 
SetPortBit Out_Port, 1 
chkTTL1.Caption = ”Salida TTL1 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 1 
chkTTL1.Caption = ”Salida TTL1 = 0 - BAJO” 
End If 
End Sub 

Private Sub Chkttl2_Click() 'invierto estado de TTL2 
If chkTTL2.Value = 1 Then 
SetPortBit Out_Port, 2 
chkTTL2.Caption = ”Salida TTL2 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 2 
chkTTL2.Caption = ”Salida TTL2 = 0 - BAJO” 
End If 
End Sub 

Private Sub Chkttl3_Click() 'invierto estado de TTL3 
If chkTTL3.Value = 1 Then 
SetPortBit Out_Port, 3 
chkTTL3.Caption = ”Salida TTL3 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 3 
chkTTL3.Caption = ”Salida TTL3 = 0 - BAJO” 
End If 
End Sub 

Private Sub Chkttl4_Click() 'invierto estado de TTL4 
If chkTTL4.Value = 1 Then 
SetPortBit Out_Port, 4 
chkTTL4.Caption = ”Salida TTL4 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 4 
chkTTL4.Caption = ”Salida TTL4 = 0 - BAJO” 
End If 
End Sub 

Private Sub Chkttl5_Click() 'invierto estado de TTL5 
If chkTTL5.Value = 1 Then 
SetPortBit Out_Port, 5 
chkTTL5.Caption = ”Salida TTL5 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 5 
chkTTL5.Caption = ”Salida TTL5 = 0 - BAJO” 
End If 
End Sub 

Private Sub Chkttl6_Click() 'invierto estado de TTL6 
If chkTTL6.Value = 1 Then 
SetPortBit Out_Port, 6 
chkTTL6.Caption = ”Salida TTL6 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 6 
chkTTL6.Caption = ”Salida TTL6 = 0 - BAJO” 
End If 
End Sub 

Private Sub Chkttl7_Click() 'invierto estado de TTL7 
If chkTTL7.Value = 1 Then 
SetPortBit Out_Port, 7 
chkTTL7.Caption = ”Salida TTL7 = 1 - ALTO” 
Else 
ClrPortBit Out_Port, 7 
chkTTL7.Caption = ”Salida TTL7 = 0 - BAJO” 
End If 
End Sub 
Este nos muestra una imagen como por ejemplo un diagrama de conexiones, util para el que lo quiera armar 

Private Sub Image2_Click() 
End Sub 
Muy importante, Debemos poner un TIMER y en el hacer doble clic y escribir el siguiente codigo 

Private Sub Timer1_Timer() 'timer de 50ms para refrescar en 
Dim Lectura As Byte 'pantalla el estado de las 
Dim Estado(3) As Byte 'entradas INPUT 0 a 3 
Dim Estado_Str(3) As String 
Dim Bucle As Byte 
Lectura = PortIn(In_Port) ’leo el puerto de entrada 
‘filtro solo los bit’s que necesito conocer 
Estado(0) = Lectura And &H8 ’= 00001000 en Binario 
Estado(1) = Lectura And &H10 ’= 00010000 en Binario 
Estado(2) = Lectura And &H20 ’= 00100000 en Binario 
Estado(3) = Lectura And &H40 ’= 01000000 en Binario 
For Bucle = 0 To 3 
If Estado(Bucle) <> 0 Then 
Estado_Str(Bucle) = ”1 - ALTO” 
Else 
Estado_Str(Bucle) = ”0 - BAJO” 
End If 
Next Bucle 
lblInput0.Caption = ”INPUT 0 = ” & Estado_Str(0) 
lblInput1.Caption = ”INPUT 1 = ” & Estado_Str(1) 
lblInput2.Caption = ”INPUT 2 = ” & Estado_Str(2) 
lblInput3.Caption = ”INPUT 3 = ” & Estado_Str(3) 
End Sub 

Luego Creamos un modulo llamado MODULE.BAS que contenga lo siguiente: 

Public Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte) 
Public Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer) 
Public Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long) 
Public Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte 
Public Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long 
Public Declare Sub SetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) 
Public Declare Sub ClrPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) 
Public Declare Sub NotPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) 
Public Declare Function GetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) As Boolean 
Public Declare Function RightPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean 
Public Declare Function LeftPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean 
Public Declare Function IsDriverInstalled Lib "IO.DLL" () As Boolean 

Luego ejecutamos con F5 y Compilamos para luego Generar el EXE.