Hardware
Prendiendo un led con un sonido
Ene 29
Esto que hice fue un pequeño experimento que hice para ver si podía convertir la entrada analógica de un sonido a una salida digital con el adc0804. La primera parte consiste en polarizar el micrófono electret, lo cual se puede conseguir con el siguiente circuito que encontré en Electronica Facil.
En donde la salida output va a ser la entrada analógica Vin+ al adc0804. Si ponemos el terminal positivo de un voltímetro al output del micrófono electret, podremos ver como mientras vamos haciendo ruidos mas fuertes, va aumentando el voltaje en el multitester, esto varia en mili voltios para lo cual tenemos que regular el voltaje de referencia del adc. Yo lo regulé a un tamaño de paso igual a 20 mV, lo que me daba un voltaje de referencia de 5.1 voltios y por lo tanto un Vref/2 de 2.55 voltios.
Ahora, el resto del circuito es el mismo para sensar cualquier magnitud física que pueda variar en su tensión, tal como ya lo había hecho en otro post con el lm35, ahora pondré el diagrama circuital para que vean como armarlo:
Por ahora solo estoy poniendo leds en las salidas del adc, pero si lo que quieren es mantener prendido un led, solo agréguenle un flip-flop D (74ls74) a alguno de los bits de las salidas del adc, lo cual podrían hacerlo de dos formas, la que hice yo fue la de conectar la entrada D y la entrada CLK del FF D al un mismo bit del adc, esto hará que cuando pase de 1 a 0 por el ruido pase lo mismo en el CLK y el Q’ pueda encenderse. La parte del circuito encerrado con rojo puede ser reemplazado por cualquier tipo de sensor, así como había hecho con el lm35.
Ahora pondré un video de como funciona el circuito de la segunda figura
Y este que es ya usando el flip-flop.
Jugando con mi auto R/C
Ene 11
Desde chibolo siempre me han gustado los autos a control remoto, sin embargo, nunca tuve uno. En la navidad pasada, se me dio por comprarme uno simple en radioshack y me salió un poco mas de 50 soles con baterías y todo.
Estuvimos jugando con el carrito toda la noche buena yo y mi primo de 12 años xD. Al día siguiente, ya me había aburrido un poco, así que se me dio por desarmar el control remoto para ver el circuito =P. Y pues –como no se mucho de electrónica- entendí solo el 10% del circuito, lo cual fue suficiente para poder darme cuenta que el auto se movía con la presión de 2 pares de interruptores.
Controlar puerto paralelo y puerto serie desde java
Dic 11
Controlar el puerto paralelo es bastante sencillo con algunas funciones que ya tienen predefinidos algunos compiladores de C++. Por ejemplo, turbo c++ trae outport() e inport() para acceder a diversas direcciones de puerto.
Lo que hice esta vez, fue simplemente linkear dichas funciones a java mediante el JNI (Java Native Interface). A continuación les adjuntaré el jar con la pequeña biblioteca que hice y también algunos ejemplos simples probados con un led, cualquier consulta ponerla aquí abajito =D.
Olvidaba algo importante para cuando el proyecto tenga mas de 1 clase y/o paquetes (sino no es necesario), que para que corran los programas sin ningún inconveniente se debe poner el método: Port.loadLibrary() en la primera línea del main de su programa (incluso pueden agregarlo en “agregar biblioteca” de netbeans) y claro poner los dlls visibles para los .class de su programa puedan encontrarlos. El dll que creé fue el Port.dll que esta en el jar y el otro es clbr18.dll que es propio del compilador que use que fue OpenWatcom. Claro todo esta en la carpeta “Examples” del rar que pondré aquí abajo =D.
NOTA: Otra opcion es poner los dlls Port.dll y clbr18.dll dentro de la carpeta bin de su JDK, que en mi caso es el siguiente: C:\Archivos de programa\Java\jdk1.6.0_16\bin. Aparte tambien hay muchas mas opciones para setear el java.library.path, solo estoy nombrando las -que a mi parecer- son mas comodas.
Libreria JAR + DLLs (para agregar a proyectos de Netbeans)
Queriendo hacer un brazo robótico (II)
Dic 9
Yo no soy alguien muy entendido con la electrónica; sin embargo, me llama mucho la atención, y es por eso que anteriormente ya había posteado algo sobre los motores paso a paso y como echarlos a andar con java y c++.
Pues ahora pondré un video de la aplicación para la que usé estos motores. En realidad el principio de funcionamiento no es muy difícil, solo lo de los motores y claro ponerle un par de resortes en donde se requiera. Obvio que para hacer algo mas complejo, aun necesitaría saber algunas cosas mas sobre mecánica y mucho mas sobre engranajes, para así lograr los movimientos exactos y no necesitar tanta potencia por parte de la fuente para mover los motores. Lo que si me costo trabajo fue armar en si el brazo y darme cuenta que los motores no iban a poder mover por si solos las articulaciones, lo que solucione –como ya dije antes- con un conjunto de resortes y la aplicación precisa de voltaje a los motores para dar un buen torque.
El brazo se mueve desde la PC, en un programa hecho en java, el cual controla independientemente cada motor mediante un hilo cada uno.
Sin mas que decir, aquí les dejo un video:
PD: El material que usé es acrílico, el cual se me ocorruió al ver una foto de esta web: http://blog.bricogeek.com/noticias/robotica/brazo-robot-casero-de-5-ejes-y-motores-paso-a-paso/
HP compra 3Com por US$2.700 Millones
Nov 11
El mayor fabricantes de computadoras conocido, HP, llegó a un acuerdo para comprar a uno de los grandes de fabricación de componentes de redes y telecomunicaciones, 3Com por 7.9 Dólares la acción, esperando recibir la aprobación gubernamental en 2010, pero ya anunciado como oficial sumando un total de 2.700 Millones de dólares.
Se dice que HP realizó esta transacción para ganar presencia en China (aprovechando la marca H3C que está lanzando) y sumar a un importante refuerzo en su portafolio de Telecomunicaciones. Aunque aún Cisco lleva una cierta ventaja por encima, de a pocos van pisando talones.
Dave Donatelli, vicepresidente Ejecutivo y gerente General de Servidores y Networking de HP declaró en la nota de prensa que “los clientes están buscando nuevos modos de liberarse de las limitaciones del negocio que da tener un único proveedor” refiriéndose a Cisco, el que hasta el momento comanda el mercado de Telecomunicaciones en una especie de monopolio entrecomillado.
Y si bien Google está conquistando el mundo… supongo que aún hay lugar para ver este tipo de movimientos en otras empresas (es decir, aun Google no saca Hardware de telecomunicaciones no? jeje -aunque los Google Android… yo no me fiaría
)…
Fuente | La Nación
Manejo de motores pap bipolares: EM-257, EM-258
Oct 24
El manejo de motores paso a paso unipolares es bastante sencillo, sin embargo para mi que no ando metido mucho con el hardware, me costo un poco de trabajo entender esto. Como explique en un post anterior, solo hay q darle 4 pasos, y si se quiere invertir el giro, solo se tiene que invertir el orden de los pasos.
Los motores pap bipolares poseen 4 terminales y cada uno de ellos va conectado a una salida del C.I. L293B, como mostraré en la siguiente imagen que la copié de x-robotics, la única diferencia para el EM-257 es que el terminal B, va al OUT3 y el terminal C al OUT2:

Estos motores los voy a controlar mediante el puerto paralelo, el cual controla que salidas deben activarse para que el motor gire de forma horaria y anti-horaria, según se requieran. Como se menciono anteriormente un motor paso a paso posee ciertas combinaciones o pasos que determinaran el movimiento del motor, en nuestro caso, al usarse un motor paso a paso bipolar de 4 terminales, éste posee 4 pasos, los cuales se describirán a continuación:
Queriendo hacer un brazo robótico (I)
Oct 10
Para demostrar lo que voy aprendiendo en mis cursos, a mí me gusta expresarlo en los proyectos. No soy de esas personas que se esmeren por sacar un 20 en un examen –aunque debería- ya que siento que un examen es como en el momento de patear penales, uno puede meter el gol como no, pero eso no significa que eres el mejor o el peor jugador, o en este caso, estudiante.
Esto trajo sus recompensas, sobre todo el ciclo pasado; ya que dos proyectos que anduve haciendo en vacaciones me salvaron la vida de dos cursos. Últimamente había dejado estos proyectos debido a razones ya expresadas en un post anterior. Sin embargo, hoy me dieron ganas de seguir y pues me puse manos a la obra y decidí ir posteando a ver cómo me va, esto también me servirá a no dejar el proyecto a medias, ya que tendré este post recordándome lo que aun me falta por hacer.
En fin, la meta es hacer un brazo robótico. La base del funcionamiento de este proyecto son los motores. Para este caso estoy siendo mas o menos un chatarrero, ya que me puse a desarmar impresoras y algunas lectoras de CD para sacarles sus motores, en este caso los motores que saqué son motores PAP (Paso a Paso). Se llaman motores PAP porque su funcionamiento esta dado por pasos, un paso vendría a ser una secuencia de 1’s y 0’s que se le da a los terminales del motor para que este funcione, estos pasos deben ir con cierto retardo a modo de pulso de reloj, por lo que si no se está usando la PC, he visto que también es válido usar el integrado TIMER 555.
Para mi caso usé la PC, más específicamente, el puerto paralelo de la PC. Desde ahí controlo el giro horario y anti horario del motor PAP, el cual estado dado por 4 pasos:
Paso 1 = 0101 = 5
Paso 2 = 1001 = 9
Paso 3 = 1001 = 10
Paso 4 = 0110 = 6
Los cuales son enviados en forma de bits desde el registro de datos del puerto paralelo (378H, en las pc’s compatibles). Para esto y para ahorrarme la fatiga, use C++ y Java, enlazándolos mediante el JNI y su biblioteca. En esta ocasión, les mostrare como estoy probando el motor de una lectora de cd’s que compre en takorita por 5 lukas xD. El motor que verán moviéndose lo usare para una parte del codo, ya que es pequeño, para el resto del robot usare motores de impresora como el siguiente:

Ahora, como ya dije, pondré el video del funcionamiento del motor de una lectora de CD’s. Ah! me olvidaba, para todo esto se tiene que usar el integrado L293B, que es un puente H, mejor dicho es un puente H de transistores o visto de otra forma, 4 compuertas de 3 estados. Bueno, aquí les dejo el video.
Y aqui otro video de cuando le puse cartones para ver como se movia xD…
Cuestión de Tamaños
Jun 8

Hoy resolví una duda existencial que he tenido por años y que quizás muchos de ustedes también la ha tenido, decía el ejemplo del comprador de PC:
Un comprador toma un catálogo interesado en comprar una PC, y entonces ve una que le llama la atención, y chequeando en las especificaciones lee textualmente lo siguiente: “Disco Duro 320GB” lo que entendemos por eso mismo, 320 Gigabytes. Éste compra la PC de la que había leído pero su sorpresa es grande al percatarse que solo tiene 298Gigabytes a pesar que en el propio Case dice 320GB…
La razón de esa desigualdad?… pues esa ha sido una duda existencial geek que he tenido durante años pero que hoy leyendo mis feeds la resolví XD …
Lee el resto del articulo »
[Lenguaje ASM] “El Auto Fantástico”
May 28

Antes de llevar estos cursos de Lógica Digital y Organización y Arquitectura de Computadoras, no sabía las funcionalidades que podría tener el puerto Paralelo o LPT (aunque las PC actuales parece no incluirlos ya)… no daré definiciones porque las pueden encontrar en Wikipedia.
Sin embargo si colocaré código Assembler, uno que quiero compartir con ustedes que hoy aprendí en mi horario de laboratorio… ovbiamente deberán hacer algunos pasos previos para que logre funcionar tu aplicación con el puerto LPT, estos pasos los colocaré al final del post, primero vamos con el código fuente:









Comentarios recientes