jueves, 7 de noviembre de 2013

Conociendo los tranceptores inalámbricos de radiofrecuencia NRF24L01 2.4GHz

Cuando dos o más Arduinos son capaces de comunicarse entre sí inalámbricamente a través de una distancia se abren muchas posibilidades :
  • Sensores remotos de temperatura , presión , alarmas, mucho más 
  • Robot de control y vigilancia de 50 pies a 2.000 pies de distancia
  • Control remoto y monitorización de los edificios cercanos o en el vecindario
  • Vehículos autónomos de todo tipo
Los módulos de radio de 2,4 GHz están basados en el integrado Nordic Semiconductor nRF24L01 + chip. El Nordic nRF24L01 + integra un transceptor completo RF de 2,4 GHz , sintetizador de RF , y la lógica de banda base incluyendo el acelerador de protocolo de hardware que soporta una interfaz SPI de alta velocidad para el controlador de la aplicación ShockBurst mejorada ™ . 
Rango efectivo
El rango es muy dependiente de la situación y es mucho mayor con la línea de visión clara al aire libre que en el interior con efectos de paredes y los materiales . La distancia habitual citado por los distintos proveedores para el módulo de la versión de baja potencia con el chip único es de 200 pies o 100 metros. Este es para el espacio abierto entre las unidades que operan a 250KHz . En interiores, el alcance será menor debido a las paredes , etc .
La sugerencia es que probemos dos unidades en sus ubicaciones reales antes de tomar una decisión. Hay unidades de largo alcance con un preamplificador de potencia para la antena y una antena externa . El alcance entre la unidad de largo alcance y varias unidades de bajo consumo será mejor que entre dos unidades de baja potencia. Cada situación es un poco diferente y difícil de conseguir una distancia efectiva sin pruebas reales .
No es obligatorio, pero si se quiere entender más acerca de lo que puede hacer con este "pequeño " radio, descargue la hoja de datos . En particular, es posible que desee leer las páginas 7-8-9 ( Para Información y Operaciones) y página 39 ( MultiCeiver , que permite a 6 Arduinos hablar con un Arduino primario de una manera organizada ) . Afortunadamente los productos a nivel de placa que se encargará de muchos de los detalles físicos y eléctricos y la impedancia de adaptación de antena , etc , y ya existe una biblioteca que se ocupa de un montón de inicialización de registro y los detalles operativos . Hay módulos adicionales que se suman los amplificadores de potencia del transmisor y del receptor preamplificadores para distancias más largas .. hasta 1 km ( 3000 pies).
Version de corto alcance
radio1                radio2
Versión de largo alcance
radio3           radio 4

Estos transceptores utilizan la banda sin licencia de 2,4 GHz (IMC) como muchos routers WiFi, algunos teléfonos inalámbricos, etc. y permiten tanto enviar y recibir datos en "paquetes" de varios bytes a la vez. Cuentan con una función de corrección de errores y de reenvío, y es posible tener una unidad de comunicación con hasta 6 unidades similares al mismo tiempo.
Estas unidades de bajo costo increíbles tienen mucha complejidad interna, pero algunas personas con talento han escrito bibliotecas para Arduino y PIC que los hacen fáciles para nosotros. Tenemos otras páginas que muestran ejemplos y apuntan a las bibliotecas de software libre que pueda necesitar. Todos ellos utilizan el mismo pinout como se muestra en el siguiente diagrama, que es una vista desde arriba (Correction!):
     

La conexión de los pines del transceptor al arduino es la siguiente:
pines
NOTA: Estas unidades de conexión VCC debe ir a 3.3V, no a 5.0V, aunque el propio Arduino puede funcionar a 5,0 V y la señal va a estar bien. Arduino UNO y versiones anteriores tienen una salida de 3,3 V que se puede ejecutar la versión de baja potencia de estos módulos, pero las versiones de alta potencia deben tener un suministro de 3,3 V por separado.
Hay dos (o más) buenas bibliotecas de software para nRF24L01 y tenemos páginas que muestran algunos ejemplos:
Descargas
Este es mi versión de un sistema de envio de mensajes entre 2 arduinos, está basado en uno de los ejemplos de la biblioteca y permite intercambiar mensajes de texto entre 2 arduinos:
Descargar Si tienen preguntas o comentarios me los pueden enviar a mi correo info@tecnotinker.com o al twitter @tecnotinker

lunes, 5 de agosto de 2013

Que tal, bienvenidos al diario del proyecto minion-bot, después de algunas semanas empiezan a llegar los materiales para la plataforma móvil, el fin de semana recibí los adaptadores para las ruedas, para hacer un poco mas interesante este proyecto he decido usar ruedas omnidireccionales, despues de dar vueltas al asunto logre un resultado bastante aceptable de las omniwheels, el resultado espero sea algo parecido al robot "dorito" que vi hace poco, aqui el video:

http://arduinoomni.blogspot.mx/

Aqui los materiales: ruedas omnidireccionles sencillas (se usan en pares), adaptador para motor con cabeza hexagonal y entrada para eje de 6mm




Las ruedas las compre en e-bay y los adaptadores en aliexpress, total despues de gastos de envio aprox (USD $70), 3 pares de ruedas y 4 adaptadores

domingo, 21 de julio de 2013

Educando a papá: Leer es seguramente la mejor forma de educarnos a nosotros mismos

Nota publicada en la revista "Socio", Julio 2013
Autor: Armando Fuentes "Catón"

Sucede que un rústico labriego le preguntó a Bías, sabio maestro de la Grecia antigua cuánto le cobraría por educar a su hijo. El filósofo le hizo saber el costo de la educación.
- Por ese precio - refunfuñó el campesino - puedo comprar un asno.
- Cómprelo - le contestó Bías - así tendrá dos.

La palabra "Educar" es muy hermosa. Significa algo así como conducir hacia afuera. Vale decir, sacar a alguien de sí mismo para ponerlo en contacto con el mundo. Tarea es esa que no termina nunca.

Pepito fué a la escuela por primera vez. A su regreso su mamá le preguntó qué había aprendido ese dia.
- Parece que no mucho - replicó el chiquillo -. Mañana tengo que volver de nuevo.

Yo fuí maestro durante 40 años - en el aula frente a grupo, no marchista ni comisionado -, y puedo decir que la tarea de enseñar es muy hermosa. El educador tiene un privilegio que ninguna otra profesión disfruta: tocar el futuro. Sus palabras y su ejemplo quedan.

El otro día fui a comer a un restorán, y tuve que hacer una visita al pipisrúm. Un hombre joven que estaba ahi haciendo lo mismo que iba a hacer yo volvió el rostro hacia mí, me miró fijamente y luego me dijo estas palabras: - El corazón tiene razones que la razón no conoce.

Confieso que me inquieté bastante. Sin darme cuenta eché una nerviosa mirada hacia la puerta para buscar una salida rápida en caso necesario. Nunca se sabe lo que puede pasar en el pipisrúm de restorán. De inmediato el hombre joven me sacó de mi inquietud.

- Usted fue mi maestro en la preparatoria - me dijo -, y nos enseñó esa frase de Pascal. No la he olvidado.

Suspiré con alivio, y ya no retuve lo que por precaución había retenido.

Educar es un arte. Un arte de amor. Solo puede educar quien ama a sus alumnos y ama también la materia que enseña. Educar no consiste en transmitir conocimientos: consiste en contagiar entusiasmos.

Hay una forma de educar - de educarnos - mejor que cualquier otra. Ninguna universidad del mundo puede enseñarnos lo que por nosotros mismos podemos aprender con un rato de buena lectura cada día. En mis conferencias a jóvenes les digo que voy a darles el secreto para triunfar como estudiantes y como profesionistas.

Mi receta del triunfo - añado con tono misterioso - no está en un libro, ni en una frase larga, o corta: está en una sola palabra, y es una palabra pequeñita.

- Si quieres tener éxito en tu vida de estudiante, y después como profesionista; si quieres ser un hombre o una mujer mejor que los demás, y no sentirte solo nunca... lee.

- Tan buena es esa fórmula - concluyo - que me la copió una marca de pantalón.

En mi biblioteca tengo dos letreros. Uno dice: "No presto libros. Esta biblioteca está hecha con libros que me han prestado a mí". La segunda frase es de Vicente Espinel, un glorioso español del Siglo de Oro. Dice: "Los libros hacen libre a quien los quiere bién".

Los norteamericanos más prácticos, tienen otro dicho: "Readeres are leaders". Los que leen son los que dirigen.

Papá se puede educar leyendo, y así dará buen ejemplo a sus hijos, que leerán también. Los libros son buenos amigos - silenciosos, por eso son tan buenos - que nos educan.

Aprovechemos los modernos artilugios de nuestra época, tan útiles y necesarios, pero no olvidemos que solo en los libros está la plenitud del hombre. Solo en ellos podemos fincar una verdadera educación.

Julio 2013

martes, 21 de mayo de 2013

Montaje pan/tilt para sensores o cámaras



Sistema pan/tilt de dagurobot, utiliza servos mg9 diseñado para sensores pequeños y cámaras web$350.00Publicación ML http://articulo.mercadolibre.com.mx/MLM-422083639-montaje-para-sensorcamara-pantilt-robotica-arduino-_JMNo incluye microcontrolador ni tarjeta de control





Sistema pan/tilt con servos mg996 de 11kg, soporta perfectamente camaras de video pequeñas o cctv, tambien se puede usar como articulación de brazos robóticos

Precio de venta $550.00 (No incluye microcontrolador)

Por $200 agrega un sistema de microcontrolador y receptor bluetooth








sábado, 11 de mayo de 2013

Gabinete para raspberry PI hecho con sobrantes de lego

Bueno desde hace tiempo queria un gabinete para la raspberry pi y en un rato de ocio me decidi a tratar de hacerlo aprovechando una caja de sobrantes de lego, esta es una primer version que no me costo mucho tiempo y sobretodo no me costo ni un $







Como es lógico la idea es proteger lo mas posible la tarjeta dejando acceso libre a todos los puertos, esta es una primer version tal vez cuando consiga mas legos haga una version mejorada y la publique, las medidas del gabinete se encuentran facilmente en los diferentes modelos que ya hay publicados en la web, inclusive ya venden los kits para armar con todos los legos necesarios.




jueves, 14 de marzo de 2013

Decodificar numeros ascii en binario con arduino

Esta practica me la solicitaron hace poco y consiste en recibir un numero decimal desde la consola serial , este número deberá estar comprendido en el rango de 0 a 255 y posteriormente decodificar el numero correspondiente a su equivalente en binario, activando una secuencia de leds para representar cada bit:

A continuacion pongo una version comentada del programa despues de hacer una revision el código quedo mucho más simplificado, cada parte esta explicada asi que no hay mas que agregar.



void setup(){
  // primero configuramos los pines del 2 al 9 como salidas
  // para conectar los leds correpondientes a cada bit
  // como estaremos usando comunicacion serial no podemos usar
  // los bits 0 y 1
  for(int b=0; b<=7; b++) {
    pinMode(b+2, OUTPUT); // Usamos a partir del pin 2
  }
 
  // abrimos el canal de comunicacion serial con una velocidad de 9600
  Serial.begin(9600);
}

char ch;
String strNumero;
int numero;

void loop(){
  // ahora quedamos en espera de los digitos desde el puerto serial
  while(Serial.available() != 0) {
    ch = Serial.read();
    strNumero = strNumero + ch;
  }

  // Si recibimos un string
  if(strNumero != "") {
    // Convertir el string a entero
    numero = strNumero.toInt();
   
    // Verificamos que el numero este en el rango válido
    if(numero > 0 && numero <= 255) {
      // Hacemos un bucle activando cada led de acuerdo al bit correspondiente
      for (int m=0; m<=7; m++) {
        // Verificaremos cada led empezando en el menos significativo
        // para esto usamos la funcion bitRead
        // Si el bit esta ON, la salida sera HIGH, en caso contrario sera LOW
        digitalWrite(2+m, bitRead(numero, m));
      }
    }
  }
}