Translate

viernes, 26 de abril de 2013

¡Nos estamos mudando!

Muchos ya habréis notado que este último tiempo hemos estado preparando una nueva web. A pesar de que seguiremos revisando mails del blog, os recomendamos ahora visitéis nuestra nueva web www.opiron.com, en la que podréis encontrar todos nuevos artículos y los publicados en el blog, y muchas más sorpresas.
¡Nos vemos allí!

martes, 16 de abril de 2013

RigidBot


Sin lugar a dudas, las impresoras 3d prometen venir para quedarse, pero a día de hoy, la gran mayoría tienen precios prohibitivos. Sin embargo, van saliendo iniciativas de impresoras cada vez más baratas que tienden a hacer que el sueño sea cada vez más cercano: una impresora 3d al alcance de todos los bolsillos. La última que ha aparecido se llama Rigidbot.Rigidbot viene con dos modelos:
  • El modelo estándar de 10 x 10 x 10 pulgadas, cuyo precio oscilará entre 300 y 450$.
  • El modelo más grande de 12 x 16 x 10 pulgadas, cuyo precio oscilará entre  530 y 730$.
Según Michael Lundwall, su creador, Rigidbot es una impresora fácil de usar y de uso cotidiano, pero además, otro dato interesante paramakers y la comunidad DIY en general, es que RigidBot se puede comprar ya montada o en piezas, por lo que existe la posibilidad de montarla nosotros mismos y hacer los ajustes y modificaciones que creamos convenientes para mejorarla.Las especificaciones del modelo estándar frente a la famosa Replicator 2.
Os recomendamos que visitéis la página del proyecto en Kickstarter, dónde podréis ver algunos ejemplos de fabricación de la impresora, la descripción del mismo, o por si queréis ayudar a financiarlo y obtener algún regalo a cambio – tenéis hasta el 10 de Mayo-,    en el link:http://www.kickstarter.com/projects/1650950769/rigidbot-3d-printer,
Nosotros ya le hemos echado un vistazo a www.thingiverse.com pensando en qué objeto nos podríamos fabricar con una de éstas. ¿Cuál os fabricaríais vosotros?

viernes, 22 de marzo de 2013

Calcuino VIDEO


English
As we promised yesterday, we bring for you the Calcuino oficial video. Hope you will enjoy it!

Español
Como prometimos, aquí le dejamos el video de Calcuino. Esperamos que os guste!











jueves, 21 de marzo de 2013

Calcuino!!!

English version


We won't discover today what a calculator is or what it does, we have all ever used and certainly has been useful in many situations.
We intend to do one with a TFT touchscreen and an Arduino, and we christened "Calcuino".
It incorporates all the basic functions:
Addition / subtraction / multiplication / division and RESET button and DELETE button.
We show you some pictures and video soon!

Versión español


No descubriremos hoy qué es una calculadora ni para qué sirve, ni que decir que todos hemos usado alguna vez y seguro que nos ha sido útil en muchísimas situaciones.
Nos hemos propuesto hacer una con una pantalla TFT táctil y un Arduino, y la hemos bautizado como "Calcuino". A que esta chula?
Incorpora todas las funciones básicas:
Suma / Resta / Multiplicación / División, además de RESET y borrado. De momento dejamos algunas fotos y pronto colgamos el vídeo!

Foto frontal

Se ajusta bien a Arduino eh!

 Sweet!

Y algunas en funcionamiento!




A partir de ahora vamos a llevarnos Calcuino para hacer nuestras compras!

sábado, 9 de marzo de 2013

Todo sobre LED's


Todos hemos ido por la calle y hemos visto esas luces de colores brillantes y elegantes: los LED’s.



Los podemos encontrar en dispositivos electrónicos para indicar un estado (por ejemplo, encendido o apagado), juguetes, semáforos, etc. Recientemente, la aparición de los LEDs blancos ultrabrillantes les han abierto el mercado en aplicaciones de iluminación por su alta eficiencia energética.

¿Cómo funciona?

Un LED (del inglés light emmiting diode) es un tipo de díodo. Los diodos son dispositivos que se caracterizan por dejar pasar la corriente en un solo sentido. Cuándo se aplica una tensión suficiente a un LED, la corriente fluye a través de él y la energía se libera en forma de fotones de luz. La energía contenida en un fotón de luz es proporcional a su frecuencia, es decir, a su color.

La anatomía del LED

Los LED’s más comunes son los de dos patas:



El Ánodo se conecta dónde tengamos más voltaje, y el cátodo dónde haya menos. La corriente fluye en una dirección, desde el ánodo (positivo) al cátodo (negativo).

¿En qué formas podemos encontrar LED’s?

Podemos encontrar LEDs de muchas formas y colores diferentes. Por ejemplo, podemos clasificar los LED’s  según el diámetro (3mm, 5mm, 10mm), o según el color.



Leds de 3mm: Son los más pequeños pero menos brillantes que los de 5mm. Se usan para indicación (encendido / apagado)

Leds de 5mm: Son los más brillantes y los más típicos. Se usan para iluminación.

Leds de 10mm : Son los más grandes y menos comunes y pueden ser usados para indicación e iluminación.

El color que emiten los LEDs depende del material que están hechos:





Y también cambia la tensión necesaria para hacer que se pinte el LED. Por ejemplo, para un LED rojo, necesitaremos aplicarle una tensión de 1,8V, mientras que para uno azul, necesitaremos hasta 3,6V.
¿Qué LED compro?

En cuanto al tamaño, cuanto mayor sea el diámetro del LED, mayor visibilidad tendrá el mismo, pero en cambio también pesarán un poco más.
En cuanto al brillo, si pensamos en aplicaciones de iluminación tendremos que hacernos con LED’s de almenos 5mm, y si pensamos en aplicaciones dónde el LED sirva de indicación, el apropiado es el LED de 3mm.





Ventajas de los LED

La popularidad de los LED no solo se debe a sus funcionalidades, sino también a un conjunto de ventajas que tratamos de enumerar:
1. Bajo coste.
2. Larga vida útil (> 50.000 horas).
3. Alta eficiencia energética, un led de baja luminosidad
consume < 13W.
4. Tamaño reducido.

Conexión de un LED a electricidad

Primero de todo, NUNCA CONECTAR UN LED SIN UN RESISTOR. Si no
conectamos el resistor, corremos el riesgo de destruir el LED,
especialmente aplicando altos voltajes.
Además conviene recordar que cuando lo conectemos a una fuente
de tensión:
El ánodo tiene que ir conectado al positivo de la fuente.
El cátodo a tierra.

Debemos conectar una resistencia. Si no conectamos la

resistencia, destruiremos el LED ya que haremos que pase

demasiada corriente a través del mismo.

En la hoja de características – datasheet en inglés-, nos

tiene que aparecer una curva V-I como la siguiente:



La región pintada en negro es la región en la cual opera el
LED, que quiere decir que si le aplicamos al LED una tensión y
una corriente dentro de la región pintada, funcionará sin
problemas.
Por ejemplo, supongamos que decidimos aplicar la tensión y
corriente que hemos pintado en rojo:
V= 1.8V
I= 20 mA
¿Qué resistor pongo?

Supongamos que tenemos una pila de 9Vdc y decidimos que el LED
opere bajo las condiciones anteriores. Qué resistor me hará
falta? La mejor manera es hacerlo siguiendo la ley de Ohm:



Vcc= I·R + Vled (1)
9=I·0.02·R+1.8
7.2=0.02·R
R = 7.2/0.02 = 360Ω
En Nuestro caso tenemos que poner una Resistencia de 360Ω.
Si ponemos un resistor menor, la intensidad aumentará y si
ponemos un resistor mayor, la intensidad bajará.

El brillo

El brillo que nos proporcione el led también es modificable
según la corriente que apliquemos en el LED. En el datasheet
del LED también podemos encontrar una curva como ésta:


Conexión de LED a Arduino

Finalmente, ahora haremos un experimento con 3 LED’s: Uno
de 10 mm azul, uno de 5mm rojo y uno de 3mm verde. Ya hemos visto que necesitaremos poner resistores en serie a cada LED, y calcularemos brevemente el valor que se necesitará por
cada uno:


Led Verde-> 200 Ohm

Led Rojo->  200 Ohm

Led Azul->  100 Ohm



En el ejemplo haremos que se incremente el brillo de los 3
leds (aumentando la intensidad por
medio de regular ciclos PWM), y luego decrementar el brillo de los 3 leds.
El esquema es el siguiente:



Código

Vamos a programar el siguiente código en Arduino que nos provocará un "fading" de los 3 LED's muy rápidamente:


////////////////////////////////////////////////////////////////
// www.opiron.com                                            ///
// by A.Girod @ girodanton@gmail.com                         ///  
// Codigo de fading de 3 LEDS rojo, verde y azul usando PWM  ///
/// Programa inspirado en el código de Clay Shirky           ///
////////////////////////////////////////////////////////////////


// Salidas
int Pinverde= 9;   // LED Verde conectado al pin 9
int Pinrojo = 10;  // LED Rojo conectado al pin 10
int Pinazul  = 11;  // LED Azul conectado al pin 11

// Variables para modular ciclos PWM
int Valverde   = 1; 
int Valrojo = 1;   
int Valazul  = 1;

int i = 0;     // Loop counter    

void setup()
{
  pinMode(Pinverde,OUTPUT);   //Definimos los pines como salidas
  pinMode(Pinrojo, OUTPUT);   
  pinMode(Pinazul, OUTPUT); 
}

void loop()
{
 for (i = 0; i < 255; i++) { // Incremento PWM, 0 es apagado y 255 es encendido
     Valverde+=1;
     Valrojo+=1;
     Valazul+=1;
     analogWrite(Pinverde, Valverde);   
     analogWrite(Pinrojo, Valrojo); 
     analogWrite(Pinazul, Valazul);  
     delay(1); // Esperamos 10ms    
  }
  for (i = 255; i > 0; i--) { // Decremento PWM, 0 es apagado y 255 es encendido
     Valverde-=1;
     Valrojo-=1;
     Valazul-=1;
     analogWrite(Pinverde, Valverde);   
     analogWrite(Pinrojo, Valrojo); 
     analogWrite(Pinazul, Valazul);  
     delay(1);           // Esperamos 10ms
  }
}
Finalmente, haremos otra pequeña prueba que consistirá en encender y apagar los 3 LEDs sin modular la corriente, como en el ejemplo "Blink" de Arduino.
////////////////////////////////////////////////////////////////
// www.opiron.com                                            ///
// by A.Girod @ girodanton@gmail.com                         ///  
// Codigo "Blink" a LEDS rojo, verde                         ///
/// Programa inspirado en el código ejemplo "Blink"          ///
////////////////////////////////////////////////////////////////

// Salidas
int Pinverde= 9;   // LED Verde conectado al pin 9
int Pinrojo = 10;  // LED Rojo conectado al pin 10
int Pinazul  = 11;  // LED Azul conectado al pin 11

void setup() {                
  pinMode(Pinverde,OUTPUT);   //Definimos los pines como salidas
  pinMode(Pinrojo, OUTPUT);   
  pinMode(Pinazul, OUTPUT); 
}

void loop() {
  digitalWrite(Pinverde, HIGH);   // encendemos los 3 leds
  digitalWrite(Pinrojo, HIGH);   
  digitalWrite(Pinazul, HIGH);  
  delay(500);              // esperamos medio segundo
  digitalWrite(Pinverde, LOW);    // apagamos los 3 leds
  digitalWrite(Pinrojo, LOW);    
  digitalWrite(Pinazul, LOW);    
  delay(500);              // esperamos medio segundo
}
Finalmente os dejamos con el video tutorial:
http://youtu.be/oflEuyRmmKU

domingo, 3 de marzo de 2013

Gestionar librerías en Arduino



Aunque cuándo instalamos el IDE de Arduino éste lleva integradas algunas librerías, es muy posible que con el tiempo os sea necesario instalar alguna nueva librería. Hay  periféricos que podéis conectar a Arduino en los que necesitaréis instalaros alguna librería.



¿Dónde puedo encontrar librerías?

Podéis encontrar librerías relacionadas con Arduino en la descripción de productos de Opiron, pero también en Arduino Playground, google code y github entre otros

Pasos previos

Antes de buscar cualquier librería, tendrás que crear un directorio donde almacenar las librerías “Contributed”. Este directorio tendría que estar en tu sketchfolder.
Vuestro Sketchfolder es donde Arduino almacena vuestros sketches. Dependiendo del sistema operativo que uséis se almacenará en:
- Linux:/home/
- Macintosh: Dentro de la carpeta “Documents” se genera la carpeta “Arduino”.
-Windows: Dentro de la carpeta "Documents" se genera la carpeta "Arduino".

Dentro del IDE de Arduino, ir a File->Preferences y asegurarse de la Sketchbook location:


Ve a tu Sketchfolder y crea una carpeta llamada “Libraries”. En la nueva carpeta creada almacenaremos las librerías que queramos añadir a vuestro IDE de Arduino. Aunque lo podríamos hacer también dentro de la carpeta libraries, dónde están almacenadas las librerías “Standard”.

¿Cómo instalar una librería en Arduino?

El IDE de Arduino sólo busca nuevas librerías cuando arranca, por lo que primero de todo, cierra el IDE. En este ejemplo nos instalaremos la librería del sensor de ultrasonidos HC-SR04.


Vamos al enlace:
En el enlace vemos algunos detalles de la librería como historia, descripción, y una breve explicación de uso.
Vamos a la sección dónde pone “How to import / Install” y le damos al enlace. Se nos abrirá la página de mediafire, desde dónde podremos descargar el archivo:
Abrimos el archivo .zip y lo descomprimimos allá donde tengamos las librerías. 


¿Dónde instalar librerías?

Las librerías en Arduino se instalan donde hayamos instalado nuestro IDE de Arduino, por ejemplo, si lo instalamos en C: nos quedaría en el siguiente path:


Vamos al directorio donde tengamos las librerías instaladas y comprobamos que se ha extraído correctamente el archivo.
La carpeta que nos ha guardado es “Ultra”, y la de “Xbee” ya estaba anteriormente. Iniciamos el IDE de Arduino.
Abrimos el ejemplo que contiene la librería:

Comprobamos que compile.

Verificando este paso, ya sabemos que nuestra librería se ha instalado correctamente en nuestro IDE de Arduino.


Algunos problemas típicos


Algunos problemas comunes son que después de la compilación encontremos:

- “xxxx” does not name a type: Este error puede ser debido a:

1- Librería no instalada. (ver la guía)

2- Librería mal nombrada.

3-No se ha cerrado el IDE. (cierra el IDE y vuelve a iniciarlo)






jueves, 14 de febrero de 2013

Primeros pasos con TouchOSC

Hola chicos!
Me he puesto a investigar sobre TouchOSC, la aplicación que nos permite comunicar con Arduino desde nuestro Iphone y... ¡la verdad que me ha sorprendido!, es realmente fácil de aprender a usar...así que os he preparado un nuevo tutorial para aprender a utilizarlo:
Empezamos por lo que necesitamos

Hardware necesario

     - Buzzer.
- Pc.
- Arduino Uno R3.
- Placa protoboard.
- Cables de protipado + cable USB.
Iphone.
- Red con Wifi.
   
Software necesario

Software Arduino: http://arduino.cc/en/Main/Software.
Software Processing: http://processing.org/download/.
Librería oscP5 para Processing:   http://www.sojamo.de/libraries/oscP5/
- Software TouchOSC Editor para PC:http://hexler.net/software/touchosc.
- Aplicación TouchOSC para Iphone:http://hexler.net/software/touchosc.

Parte 1: Manos a la obra

Una vez instalado todo, haremos el siguiente montaje, que como podéis comprobar es el mismo del anterior tutorial:


Sin embargo, el código que le programaremos al Arduino en este tutorial será completamente diferente. Una vez hayamos hecho el montaje, conectamos el Arduino al PC, vamos al IDE, e insertamos el siguiente código:

//////////////////////////////////////////////
/// www.opiron.com                         //
// by A.Girod                             //
// Haciendo "cantar" a un buzzer         //
//////////////////////////////////////////

int mensaje = 0;   
int actuar = 0;      

void setup() {  
  //Configuramos el puerto a 9600baud
  Serial.begin(9600);  
}

void loop(){
    //Miramos si hay un nuevo mensaje y lo leemos
    if (Serial.available()); { 
      mensaje = Serial.read();    
   //  Si el mensaje recibido es 1....
   if (mensaje == '1'){  
     actuar = 255;
   }
   //Si el mensaje recibido es 0...
   if (mensaje == '0'){  
     actuar = 0;
   }
 }
 // Escribo en el puerto 11 la variable "actuar"
 analogWrite(11, actuar);
}
Para comprobar que funciona el código, abrimos el serial monitor y escribimos "1" para hacer sonar el buzzer y "0" para apagarlo...¿Funciona? Bien!
  
Parte 2: Instalación de TouchOSC Editor

Oki, oki, oki...ya hemos visto que nos funciona el Buzzer con Arduino, vamos a entrar en materia con TouchOSC. Omito la instalación de la aplicación para Iphone que tenéis que hacer. Además de la aplicación, tenéis que descargaros el TouchOSC Editor para PC. Os dejo el link: http://hexler.net/software/touchosc
Vamos a la sección de descargas del enlace y nos bajamos la versión en función del S.O que tengamos:




Se nos descargará un archivo .zip. Para instalarlo, simplemente lo descomprimimos allá donde queramos.


En nuestro caso, lo descomprimimos en C:\. Luego abrimos el programa, que tiene una pinta como esta:


El menú que nos queda a la izquierda nos sirve para configurar la plantilla que luego veremos en el Iphone, podemos configurar las siguientes opciones:
- El tamaño, según se trate de una pantalla tipo Iphone(Ipod)o Ipad.
- La orientación: Vertical / Horizontal.


Parte 3: Creación de la plantilla

Una vez instalado y haber visto algunos aspectos generales del software, vamos a crear la plantilla que nos servirá de interfaz para comunicar el Iphone con nuestro Arduino. Vamos a crear un botón que haga las funciones de control, nos movemos con el cursor dentro del área oscura y con el botón derecho seleccionamos el botón "Push Button"
El aspecto que tendrá nuestra plantilla será como el de la figura:
Vemos el botón de color rojo en la parte de la pantalla...así de fácil. Esta es la plantilla que usaremos para comunicarnos con el Iphone al Arduino! La guardamos..y listo.


Parte 4: Establecer comunicación entre Iphone y PC.

Ahora lo que haremos es poner las bases para poder comunicarnos con TouchOSC. Primero vamos a ver qué IP tenemos en el PC. Para ello vamos al menú de inicio de Windows  y escribimos "cmd" , y le damos clic. Dentro de cmd, tecleamos "ipconfig" y nos aparecerá la ip de nuestro pc, como ejemplo pongo esta imagen:
La ip de mi pc es 192.168.0.3..
Abrimos la aplicación en el Iphone. Lo primero que tenemos que hacer es decir a qué host nos queremos comunicar, es decir nuestro PC. Vamos a la parte de arriba donde pone "Connections" y luego allí le entramos la IP de nuestro PC dónde pone "Host".  Pon también las opciones "Port (outgoing): 8000" y "Port (incoming): 9000". Si os fijáis, más abajo veis también la Ip que tiene nuestro Iphone -192.168.0.4-. Resumiendo, quedaría algo así:

Vamos a la sección donde pone Layout:

Y dentro le damos a "Add":

 


Desde el PC, en el TouchOSC editor le damos a Sync . En el Iphone veremos como el PC (host), trata está en la red WiFi:
Una vez aquí, le damos al Host que nos encuentre y nos podremos descargar la plantilla. Luego desde el menú ya la podemos seleccionar.

Parte 5: Empezando a jugar

Ahora ya estamos listos para empezar a jugar con nuestro Iphone, pero primero copiemos el siguiente código en el entorno de Processing:


/* Opiron Electronics
  Comunicación entre Iphone y Arduino con TouchOSC
  
  - haciendo cantar un buzzer
    
  by Anton Girod (girodanton@gmail.com)
  basado en el trabajo de Andreas Schlegel (http://www.sojamo.de/libraries/oscP5/)
           
  licenciado bajo Creative Commons BY-SA     
*/

// Importo la libreria oscP5
import oscP5.*;          
import netP5.*;

// Creo el objeto oscP5
OscP5 oscp5;
// La variable pulsar se activa cuando pulso sobre mi Iphone
int pulsar;  
// La variable actuar pinta el color sobre la pantalla y le dice a Arduino que pite el buzzer
int actuar;  
void setup() {
  // tamaño de la pantalla en el PC
  size(100,100);
  // Inicio el objeto oscP5 y le digo que los mensajes me llegan por el puerto 8000
  oscp5 = new OscP5(this,8000);  
}

void draw() { 
  if (pulsar==0){ // si boton no apretado
    actuar=0;     // ni pinto ni hago sonar el buzzer
  }
  if (pulsar==1){  // si boton apretado
    actuar=255;    // pinto y hago sonar el buzzer
  }
  fill(actuar,0,actuar);      // Pinto segun el estado de "actuar" a rosa
  rect(30, 20, 55, 55);      // en un rectangulo
}

// Esta función es usada para "escuchar" los mensajes con protocolo OSC
void oscEvent(OscMessage theOscMessage) {
  String addr = theOscMessage.addrPattern();  //  Creamos una string del mensaje OSC
      pulsar  = int(theOscMessage.get(0).floatValue());     // Guardo la order recibida desde mi Iphone en "pulsar"
}

El código anterior hará que, dándole al "Push button" desde nuestro Iphone, coloreemos un rectángulo a nuestro PC.  Una vez ejecutemos el código en Processing, y hayamos abierto la plantilla desde el Iphone, veremos el siguiente rectángulo:

Cuando le demos al "Push Button" el rectángulo cambiará de color:


¡Funciona! ¡Mientras mantenemos pulsado el “push button”, el rectángulo pasa a rosa!

Parte 6: Tocar el buzzer desde el Iphone

En esta última parte solo nos falta hacer que suene el buzzer, para ello, copiamos y pegamos el código siguiente  de la sección código en el IDE de Processing:

/* Opiron Electronics
  Comunicación entre Iphone y Arduino con TouchOSC
  
  - haciendo cantar un buzzer
    
  by Anton Girod (girodanton@gmail.com)
  basado en el trabajo de Andreas Schlegel (http://www.sojamo.de/libraries/oscP5/)     
*/


// Importo la libreria oscP5
import oscP5.*;          
import netP5.*;

// Importamos la serial library para comunicarnos con Arduino
import processing.serial.*;    


// Creo el objeto oscP5
OscP5 oscp5;

// Creo puerto arduino
Serial parduino;
  
// La variable pulsar se activa cuando pulso sobre mi Iphone
int pulsar;  
// La variable actuar pinta el color sobre la pantalla y le dice a Arduino que pite el buzzer
int actuar; 

void setup() {
  // tamaño de la pantalla en el PC
  size(100,100);
// Inicio el objeto oscP5 y le digo que los mensajes me llegan por el puerto 8000
  oscp5 = new OscP5(this,8000);  
  //Configuro el puerto a 9600 baudios
  parduino = new Serial(this, Serial.list()[0], 9600); 
}

void draw() { 
  if (pulsar==0){ // si boton no apretado
    parduino.write("0");    
    actuar=0;     // ni pinto ni hago sonar el buzzer
  }
  if (pulsar==1){  // si boton apretado
    parduino.write("1");    
    actuar=255;    // pinto y hago sonar el buzzer
  }
  fill(actuar,0,actuar);      // Pinto segun el estado de "actuar" a rosa
  rect(30, 20, 55, 55);      // en un rectangulo
}

// Esta función es usada para "escuchar" los mensajes con protocolo OSC
void oscEvent(OscMessage theOscMessage) {
//  Creamos una string del mensaje OSC
  String addr = theOscMessage.addrPattern();  
// Guardo la order recibida desde mi Iphone en "pulsar"
  pulsar  = int(theOscMessage.get(0).floatValue());     
}
Y…si todo ha ido bien, veréis como además de colorear el rectángulo cuando pulsamos el botón desde el Iphone, también suena el Buzzer!
Os dejo además un  pequeño video tutorial resumen:
video
Enlace a youtube:
http://www.youtube.com/watch?v=dfYzdaCOxw8&feature=youtu.be