Brazo robótico (Arduino+Bluetooth+Android)

Para la asignatura de Sistemas Empotrados y en Tiempo Real del Grado en ingeniería informática de la URJC teníamos que hacer un proyecto con Arduino. La temática era libre, solo debía tener cierta originalidad y dificultad. Nuestro grupo decidimos hacer un brazo robótico que controlaríamos a través de bluetooth desde un dispositivo android.

El martes pasado, fue la presentación de los proyectos, y la nuestra fue todo un desastre. Nervios + tocar cosas que funcionan a ultima hora = desastre. Aunque al final acabamos con nota aceptable (6,7 de la clase, y 9 del profesor) decidí que esto no podía quedar así y debía mostrar al resto como funcionaba de verdad el brazo. A si que he decidido poner aquí los videos del brazo. Pero no, no son del brazo terminado, si no de algunas pruebas hechas antes terminarlo. Cuando me lleguen los dos servos que me faltan (uno se rompio y otro era del Kit de arduino que nos prestó el profesor y que ya se lo hemos devuelto) grabaremos un vídeo en condiciones y lo mostraré… mientras tanto…


Si, lo se, se me da muy mal editar vídeos…

Arduino y el driver Motorola MC14499

Puff… hace mas de un año que no escribo nada en el blog, casi se me ha olvidado como se hace, y eso que este año ha sido un año interesante. A si que vamos a empezar despacito…

El otro día un amigo me dejo una pequeña placa (PCB) que se había encontrado. Seguramente sea de una maquina de vending o algo por el estilo ya que tiene 4 displays de 7 segmentos y otros 4 pulsadores. Venía con un cable plano de 16 hilos, y trae en soldado a la placa un chip MC14499P. Obviamente lo primero que hice, fue buscar en internet el datasheeet del chip. Este es un driver para 4 displays de 7 segmentos que se puede enlazar en cascada a otros drivers para controlar mas displays. La forma de comunicarnos con el es a traves de tres señales: DATA, CLOCK y ENABLE. Al no haber libreria de arduino para este chip, tuve que pensar como comunicarme con el, y como su interfaz es tán parecida a la de los registros de desplazamiento (Shift Registers ->74HC595) pues probé con el mismo método. La función ShiftOut, y con un poco de prueba y error saque las posiciones de cada digito. Aquí dejo el vídeo:

Y el código:

#define LATCH   6
#define CLK     7
#define DATA    8

// 128.64.32.16.8.4.2.1 // 0 0 0 0 1 1 1 1

void setup() {
  Serial.begin(9600);
  Serial.println("startup");

  pinMode(LATCH,OUTPUT);
  pinMode(CLK,  OUTPUT);
  pinMode(DATA, OUTPUT);
}

void loop(){
    digitalWrite(LATCH, LOW);
    shiftOut(DATA, CLK, MSBFIRST, 80);   //80 = 0 1 0 1 | 0 0 0 0  [ 5 | 0 ]
    shiftOut(DATA, CLK, MSBFIRST, 233);  //229= 1 1 1 0 | 1 0 0 1 [ - | 9 ]
//Resultado 9 - 0 5
    digitalWrite(LATCH, HIGH); // Activando el latch indicamos de que ya están todos los datos
    delay(1000);   // Lo mostramos durante un segundo
    digitalWrite(LATCH, LOW);  // Bajamos el latch para introducir mas datos. 
    shiftOut(DATA, CLK, MSBFIRST, 33);  //33 = 0 0 1 0 | 0 0 0 1 [ 2 | 1 ]
    shiftOut(DATA, CLK, MSBFIRST, 2);   //2 = 0 0 0 0 | 0 0 1 0 [ 0 | 2 ]
// Resultado : 2 0 1 2
    digitalWrite(LATCH, HIGH);
    delay(1000);
}

CAN Sniffer con Arduino + Secuduino

Para quien no conozca que es el CAN-bus, copio de la wikipedia

CAN (acrónimo del inglés Controller Area Network) es un protocolo de comunicaciones desarrollado por la firma alemana Robert Bosch GmbH, basado en una topología bus para la transmisión de mensajes en entornos distribuidos.

Analizar del bus CAN

Can Sniffer

Lee la entrada completa

La ley sinde es mucho mas peligrosa de lo que creen…

Después de ser rechazada, ves que la gente o masa borreguera no se da cuenta de lo que implica si se llega a aprobar esa ley (que al parecer todavía no estamos a salvo…)

El caso es que ayer, y hoy, he visto en la TV como reducían el problema de la ley sinde a que nos iban a impedir descargar material protegido por derechos de autor. NO, NO y NO!! El problema de la ley sinde es que quieren que el gobierno a través de una comisión decida que webs se pueden cerrar automáticamente. Ya no solo las webs de descargas “ilegales”, si no que por ejemplo, podrían censurar esta o cualquier página de internet que considerasen oportuno. Es verdad que el proceso es mas complejo, pero a groso modo es así. Porque lo primero que hacen es cerrarte la web de manera cautelar, y luego llamamos al juez, y ya sabemos como es la justicia, te puedes tirar años, y mientras están de pleitos, tu página web está cerrada, y una web que cierra por un periodo largo, (de entre unos meses a varios años) es una web que muere automáticamente.

NO SE DEJEN ENGAÑAR POR LA CORTINA DE HUMO BASADA EN LA PIRATERÍA

No se si están equivocados ellos, o yo, porque creo que toda (o una gran parte) la gente que a través de internet se ha movilizado sabe lo que nos jugamos realmente. Esta ley es propia de una dictadura / tiranía a lo China, Cuba o Venezuela. Esto demuestra lo podridos que están los políticos de este país.

A si que estad atentos a próximos movimientos del gobierno, que ahora con las navidades tienen tiempo de negociar con los independentistas para que les ayuden a cambio de favores….

Nota: Yo no estoy a favor de la piratería (tampoco estoy a favor del modelo de negocio de la industria de la cultura), pero para cerrar cualquier tipo de web, aunque sea de forma cautelar, primero tiene que haber la autorización de un juez, al igual que para que la policía registre tu casa necesita primero una orden de registro.

Matriz de diodos – Test 3

Está hecho con Arduino, un array de pares darlington (ULN2003A) y un shift register 74HC595. Solo falta montarlo en una placa, soldarlo con unos cuantos mas shift registers y tendremos una marquesina. Esuqema de conexion de la matriz de 8×8:
8x8 Led matrix

Las resistencias que hay entre los integrados y la matriz, a mi me ha funcionado con resistencias de entre 0,5K Ohm y 1k Ohm
El codigo está aquí.

Voltimetro para baterias (de airsoft) [Battery Tester]

Lo mejor de esto es el comprender que esa asignatura llamada fundamentos físicos de la informática está sirviendo para algo. Si antes fueron los transistores bipolares, ahora es el “Divisor de tensión“. Incomprendido hasta hoy este circuito hace honor a su nombre dividiendo la tensión de entrada dependiendo de los valores de las resistencias:

Divisor de Tensión

Eagle + POV RAY =

ISP Shield

Ahora me ha dado por buscar un programador de micros ATmega. He visto dos opciones, el USBasp o desde el propio arduino. Me gustaba bastante el USBasp de Olek ya que es como un pendrive pero es casi todo SMD y para mis manos inexpertas no es viable. A si que me decido por la placa ISP para arduino. Viendo lo sencilla que es se me a ocurrido modificarla para que porte un zócalo de 28 pines para no tener que usar cables a la hora de programar, aunque no he eliminado ese conector. Este es el resultado de tener que estar estudiando, que haces de todo menos estudiar. El día que tenga que preparar unas oposiciones seguro que construyo un avión o una central nuclear. A ver si después de exámenes lo llevo a la realidad y vemos si AVRDUDE puede programar a traves de eso.