jueves, 4 de diciembre de 2014

Bitscope Oscilloscope


Quiero aprovechar esta ocasión para comentar un dispositivo relativamente novedoso que a conseguido mi interés y atención......pues llevaba un tiempo meditando en adquirir un osciloscopio via USB debido a mis constantes desplazamientos, y bueno, apareció Bitscope.


Me enteré de este dispositivo por la web de Rasberry Pi, que se presentaba en una feria de electrónica en 2014 y la verdad es que se ofrecia como una buena herramienta en combinación con Rasberry Pi:



Bueno, después de reflexionar, me anime a adquir el Bitscope Micro Oscilloscoper and Analyzer ya que pensandolo bien, el precio estaba bastante asequible ( 145 $ ).

Así que 2 semanas después ( los diseñadores son Australianos ) me llegó el paquete!



Y por dentro....


Y bueno comienza el análisis y las pruebas del "aparatito". Lo primero un poco revisar las principales características del mismo, ya que no se trata de un osciloscopio profesional por características pero si que cumple su función.

Los elementos que componene el Bitscope son los siguientes:



Y un poco de características:
  • 20 MHz Bandwidth.
  • 40 MSps Logic Capture.
  • 2 Analog Scope Channels.
  • 2 Analog Comparator channels.
  • 6 Logic/Protocol Analyzer channels.
  • 8 & 12 bit native analog sample resolution.
  • Decodes Serial, SPI, I2C, CAN and more.
  • Windows, Linux, Mac OS X & Rasberri Pi
  • Built-in analog waveform & clock generators.
  • User programmable, C/C++, Python, VM API.
  • Tiny, light weight (12g) and water resistant.  
El ancho de banda de 20 Mhz para ser un osciloscopio USB con este precio parece bastante aceptable al igual que el hecho de incorporar analizador lógico.

Se promociona como un dispositivo totalmente compatible ( ?¿ ) con Rasberry Pi, aunque la verdad es que funcionar puede funcionar bajo cualquier plataforma ( PC, Linux o Mac ). Supongo que es una manera de promocionarlo........aunque personalmente, la mejor "ventaja" es su ergonomia y su tamaño y flexibilidad......Es del tamaño casi de un dedo!!!

Comparativa de tamaño con Arduino Uno:


El tamaño está bastante bien, y personalemente ya se ve rapidamente el objetivo del mismo......la integración!!! De hecho, con un Rasberry Pi, un Bitscope y un TFT podrias construirte tu propio osciloscopio no?? 

Ahora comprobamos como "interactua" con el hardare soporte, es decir, el PC en mi caso con Windows 7 (....lo siento!!! ). Bitscope dispone de un software que han diseñado para el producto, se puede descargar desde su web.

Para la prueba he programado el Funduino ( compatible de Arduino Uno ) con un programa que me haga "blink" con las salidas digitales 13 hasta 8. 
 
 
 
 
Probamos el Osciloscopio en Channel A:
 


 
Así probando el analizador lógico



 
El entorno gráfico esta diseñado en Qt, y según los diseñadores de Bitscope se puede reprogramar o modificar con total libertad, cosa que está bastante bien.

Y bueno esto ya es cuestión de cada uno, de ir descubriendo posibilidades y utilidades. En mi opinión, este dispositivo hace sus delicias a nivel casero para proyectos personales / DIY y, ojo, el formato y tamaño hacen que sean idoneos para tu proyectos .

Por lo pronto lo usare con mi PC, pero si que es cierto que uniendolo con Rasberry Pi potencia la filosofía......

Un saludo!!

martes, 18 de noviembre de 2014

Tutorial#1.03# - Lectura RFID + Arduino Funuino

 
En esta ocasión quiero presentar un pequeño tutorial sobre la plataforma RFID-RC522 que hace poco adquirí. Este módulo es un lector / grabador de información via RFID que soporta los standars  ISO/IEC 14443 A/MIFARE.

Este módulo esta basado en el chipset "MFRC522" que fabrica NXP y que entre sus principales características esta la frecuencia de comunicación a 13.56 MHz, soporte para protocolos I2C y UART,etc.

La características de físicas son:
  • Funcionamiento a 3.3 V
  • Corriente 13 - 26 mA
  • Temp. funcionamiento -20 y 80 ºC
  •  Dimensiones 5.9 x 3.9 x 0.6
 El datasheet del chip puede consultarse aquí.

Los pines de conexión del módulo RFID-RC522 son 8 , tal como se puede apreciar en la imagen superior. Son:

  • SDA: I2C-bus serial data line input/output.
  • SCK: SPI serial clock input.
  • MOSI: SPI master out, slave in.
  • MISO: SPI master in, slave out.
  • IRQ: interrupt request output: indicates an interrupt event.
  • GND: digital ground.
  • RST: Reset
  • 3.3V: Supply source of 3.3V
Una vez conocido por encima el dispositivo que vamos a usar, el proposito es configurarlo con un Arduino Funduino ( Uno ) para validar una tarjeta id y simular el acceso o denegación del mismo. Esto se representará con un par de LEDs ( Rojo y Verde ).

El esquema de conexión es como se muestra a continuación ( el RFID es equivalente al RC522):



Una vez realizada la conexiones pertinentes, procedemos a escribir el codigo de prueba para validad el funcionamiento del sistema.

  1 /* 
  2 Tutorial sobre funcionamiento de lectura de 
  3 RFID modulo RC522 sobre Arduino Funduino.
  4 */
  5 
  6 #include <SPI.h>
  7 #include <RFID.h> 
  8 
  9 #define SDA_I 10
 10 #define RST_I 9
 11 
 12 // Declaración de conexion de SDA y RST de RC522
 13 RFID rfid(SDA_I,RST_I); 
 14 
 15 int led_rojo = 8;
 16 int led_verde = 7;
 17 
 18 // Declaración de codigos / usuarios aceptados 
 19 int numero_serie[5];   
 20 int usuario_valido[1][5]={ {136,414,47,9,83} };
 21 
 22 int contador=0;
 23 int bandera=0;
 24 
 25 void setup(){
 26 // Iniciamos la configuracion     
 27 Serial.begin(9600);
 28 SPI.begin();
 29 rfid.init();
 30 pinMode(led_verde, OUTPUT);
 31 pinMode(led_rojo, OUTPUT);
 32 
 33 }
 34 
 35 // Loop principal de lectura del usuario
 36 
 37 void loop(){ 
 38 digitalWrite(led_verde,LOW);
 39 digitalWrite(led_verde,LOW);
 40 if (bandera==0){
 41         Serial.print("Esperando id......  ");
 42         Serial.println();
 43         delay(1000);
 44         bandera=1;
 45 }
 46 delay(100);    
 47 lectura_usuario();
 48 delay(100);
 49 }
 50 
 51 // Se detecta tarjeta compatible con el protocolo
 52 // y se imprime por pantalla el codigo
 53 
 54 void lectura_usuario(){
 55 contador = 0;
 56 if (rfid.isCard()){ 
 57     if (rfid.readCardSerial()){
 58         Serial.println("Usuario n:  ");
 59         for ( int i=0;i<=4;i++){
 60             numero_serie[i]=rfid.serNum[i];
 61         }
 62         for ( int j=0;j<=4; j++){
 63             Serial.print(numero_serie[j]);
 64         }
 65         delay(500);
 66         contador=1;
 67         comprobacion_id();
 68     }
 69     
 70 }
 71 rfid.halt();
 72 }
 73 
 74 // Se realiza la comparación entre los datos
 75 // leidos y los almacenados en la cadena "usuario_valido"
 76 
 77 
 78 void comprobacion_id(){
 79 int i,j=0;
 80         if ((usuario_valido[i][j])==(numero_serie[j])){
 81             j++;
 82         }
 83         else{
 84         i++;
 85         j=0;    
 86         }
 87         if(i >= 2){ 
 88 
 89                j=5;
 90          }
 91     switch(i)
 92     {
 93     case 0:
 94         usuario_validado();
 95         break;
 96         
 97     default:
 98         usuario_no_validado();
 99         break;
100         
101     }    
102 
103 bandera=0;
104 digitalWrite(led_verde,LOW);
105 digitalWrite(led_rojo,LOW);
106 }
107 
108 // Validacion de usuario mediante mensaje
109 // y encendido de Led Verde
110 
111 void usuario_validado(){
112     if(contador == 1)
113     {
114         Serial.print("  Usuario correcto");
115         Serial.println();
116         digitalWrite(led_verde,HIGH);
117         delay(1000);
118         contador = 0;
119     }
120 }
121 
122 // Negación de usuario mediante mensaje
123 // y encendido de Led Verde
124 
125 
126 void usuario_no_validado(){
127     if(contador == 1)
128     {
129         Serial.print("  Usuario incorrecto");
130         Serial.println();
131         digitalWrite(led_rojo,HIGH);
132         delay(1000);
133         contador = 0;
134     }
135 }

Así pues, solo queda probarlo.......yo en mi caso programé mi codigo para que detectara mi tarjeta "Oyster" de transporte publico de Londres ( archiamiga ! ), tal como muestro en la siguiente imagen:






Hay que decir que no todas las tarjetas valen......teneis que tener en cuenta que deben funcionar con los protocolos MIFARE adecuados ( toda la info en el datasheet)........

A continuación se muestra el Monitor Serial de Atmel Studio 6.2:


...y nada más, a sacarle provecho a la RFID. Yo por mi parte ya tengo un proposito para ella!

    miércoles, 5 de noviembre de 2014

    Tutorial#1.02# - Termistor con Arduino+LCD KeyPad Shield

     En este pequeño tutorial, vamos a continuar con el desarrollo de nuestro sistema de monitorización de temperatura con Arduino, y en este caso, vamos a implementarle una pantalla LCD para poder mostrar la información.


    LCD:

    Para desarrollar este sistema he seleccionado una LCD con un KeyPad que me servirá en el futuro para continuar con el desarrollo del sistema. La placa es de DFRobot, es bastante asequible economicamente ( 11.55 $ ).
    La LCD esta basada en en una pantalla de cristal líquido matricial de HITACHI, modelo HD44780U.

    Las principales características de la placa son las siguientes
    • Voltaje de funcionamiento 5V
    • 5 botones para programación de menú
    • 1 boton de Reset
    • Potenciómetro para ajuste manual de retroiluminación LCD
    • Juego de Pines:
      • D4-D7: Datos de LCD
      • D8: Reset
      • D9: Activación
      • D10: Control de retroiluminación

    Diagrama de LCD: 



    Montaje:
    El montaje del circuito del termistor con Arduino se realiza de la manera descrita en el Tutorial#1.01# - Termistor con Arduino, cuyo enlace es el siguiente:

    Así pues, lo único que debemos hacer es montar la LCD y empezar a picar código.

    Código de Arduino
      1 /*  Tutorial#1.02# - Termistor+LCD con Arduino
      2 
      3 Monitorizacion de temperatura con sensor NTC sobre plataforma
      4 Arduino y representacion en LCD con shield LCD Keypad Shield.
      5 
      6 Algortimo de calculo de temperatura en:
      7 http://en.wikipedia.org/wiki/Thermistor
      8  */
      9  
     10  #include <LiquidCrystal.h>
     11  
     12  // select the pins used on the LCD panel
     13 LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
     14 
     15 //Pines para las entradas analógicas
     16 int analogPin1 = 1;
     17 
     18 //Escala de Avisos
     19 int msg= 0;               //Barrera para el mensaje de bienvenida 
     20 
     21 //Variables para las ecuaciones
     22 float TempC = 0.0;       // [ºC]  Temperatura salida en Celsius
     23 
     24 
     25 void setup() {
     26   lcd.begin(16, 2);       // Iniciamos la LCD
     27   lcd.setCursor(0,0);
     28   //Comenzamos la comunicación puerto serie
     29   Serial.begin(9600);
     30   if(msg==0)             //Mostramos el mensaje de bienvenida una vez
     31   {
     32     lcd.setCursor(0,0);  
     33     lcd.print("Termistor  LCD");
     34     lcd.setCursor(0,1);
     35     lcd.print("Enrique Parro J.");
     36     delay(5000); 
     37     for (int positionCounter = 0; positionCounter < 17; positionCounter++) {
     38       // scroll one position left:
     39       lcd.scrollDisplayLeft(); 
     40       // wait a bit:
     41       delay(150);
     42     }
     43     msg = 1;
     44     lcd.clear();        //Limpiamos mensaje bienvenida
     45   }
     46 }
     47 
     48 
     49 void loop()    // Bucle de programa principal
     50 {
     51 // ********** Algoritmo de termistor  ********** 
     52   double fTemp;
     53   double temp = Termistor(analogRead(1));  // Leemos el sensor
     54   TempC=temp;
     55   Serial.print("Valor de Temp: ");
     56   Serial.println(TempC); // envía valor medido 
     57   delay(100);
     58   lcd.clear(); 
     59   lcd.setCursor(0,0);
     60   lcd.println("Temperatura C   ");
     61   lcd.setCursor(0,5);
     62   lcd.print(TempC);
     63   delay(1000);
     64 } 
     65 
     66 //**************    Funcion Termistor lectura      *****************
     67 double Termistor(int RawADC) {
     68   double Temp;
     69   Temp = log(((10240000/RawADC) - 10000)); // Termistor de 10 K
     70   Temp = 1 / (0.001129148 + (0.000234125 * Temp) + 
     71   (0.0000000876741 * Temp * Temp * Temp));
     72   Temp = Temp - 273.15;           // Conversion de Kelvin a Celsius
     73   return Temp;
     74 }
     75 
     76 

    ....y lo dicho, solo queda montarlo y probarlo.En este caso comprobamos los resultados mediante el Monitor Serial de Arduino IDE:


    Nuestra LCD mostrando la temperatura:



    viernes, 17 de octubre de 2014

    Tutorial#2.01# - Matlab Mobile para Android




    En esta ocasión, con motivo de los tutoriales de MATLAB, quiero presentaros esta aplicación para Android llamada "MATLAB Mobile" y que como podréis intuir, esta diseñada por Mathworks.
    Con MATLAB Mobile podemos acceder desde Android a Mathworks Cloud o a tu ordenador directamente para usar MATLAB. Asi es posible realizar algunas funciones básicas de MATLAB desde tu terminal Android.

    Características:

    Así pues, entre las funciones que podemos usar remotamente con MATLAB Mobile desde Android son:
    • Acceder a la línea de comandos de MATLAB.
    • Ejecutar Scripts.
    • Visualizar resultados de manera numérica o gráfica.
    • Usar comandos memorizados en el historial de MATLAB.
    • No se puede crear Interfaces Gráficas de Usuario ( GUIDE ).
    • No se puede realizar interacciones con figuras 3D.
    Por otro lado, se trata de una versión ligera de MATLAB, con lo que las limitaciones son evidentes. No es posible usar herramientas de procesado de señal, por ejemplo. Tampoco podremos acceder al editor de MATLAB y tampoco dispondremos de SIMULINK ( lastima! ).

    Requisítos:

     

    Los requisitos para esta aplicación son:
    • Requiere Android 2.3.3 o superior.
    • Para poder utilizar la aplicación requiere disponer de una licencia profesional o académica de MATLAB R2012a o superior, o bien una licencia de la versión de estudiante de MATLAB R2012a o superior.
    • La instalación de la app mediante el fichero APK requiere la activación de la opción "Orígenes desconocidos" dentro de Ajustes>Aplicaciones.

    Instalación:

    Para realizar la instalacion de MATLAB Mobile, previamente deberemos tener instalada la version de MATLAB 2012a o superior con su licencia correspondiente.

    Una vez instalado MATLAB en tu PC ( si no lo tenias previamente, claro! ) se debe instalar un complemento llamado "Connector", tal como se muestra en el siguiente tutorial aportado por Mathworks.

    Básicamente, si disponemos de MATLAB R2013a el software está ya instalado, sino se debera descargar e instalar.

    Para comprobar si MATLAB tiene el software "Connector", basta con escribir el siguiente comando:

               connector 

    Y por ultimo, nos queda descargarmos "MATLAB Mobile" desde Playstore de Android.

    Configuración:

    Para habilitar el remoto acceso a la sesion de MATLAB basta con usar el siguiente comando:

               connector on
     
    La primera vez que introduzcamos el comando en MATLAB, nos solicitará una contraseña de acceso 
    Cuando quedamos desactivar la utilización de MATLAB Mobile, bastará con picar lo siguiente:

               connector off

    Una vez hayamos activado "Connector" en nuestro Matlab, se nos muestra la información que define nuestra conexion, como se muestra a continuación:

    Depues, solo faltaria introducir estos datos en la aplicacion de MATLAB Mobile, en el apartado de "Add a Computer", en el que nos solicitara la dirección IP y la contraseña previamente introducida en "Connector":



    Una vez realizado esto, ya esta listo para funcionar.


    Prueba:

    Ahora vamos a probar el funcionamiento del sistema. 

    Por un lado tengo mi MATLAB R2013a abierto en mi PC, y por otro lado tengo mi Smartphone Samsung con MATLAB Mobile.

    Primero pruebo comandos sencillos para ver el comportamiento. Voy a definir una funcion ( que describo abajo) y a graficarla desde mi smartphone:

            >> x = 0:pi/30:2*pi;         %  x vector, 0 <= x <= 2*pi, increments of pi/30
     >> y = sin(3*x);             %  vector of y values
     >> plot(x,y)                 %  create the plot
     >> xlabel('x (radians)');    %  label the x-axis
     >> ylabel('sine function');  %  label the y-axis
     >> title('sin(3*x)');        %  put a title on the plot
     
    Y mientras vamos introduciendo cada linea, podemos comprobar como nuestro MATLAB va recibiendo los datos. 
    Smartphone:
    Historial en MATLAB Mobile:

    Gráfica en MATLAB Mobile :

      

    Matlab en PC:



    Conclusiones:

    Como primera impresión me parece una herramienta que, si bien tiene ciertas carencias ( no disponemos de Simulink ni de GUIDE.... ) si que ofrece una buena persperctiva de futuro en cuanto a la interconexion entre dispositivos con MATLAB.

    Como punto negativo he de decir que he encontrado algunas dificultades para realizar la conexión de mi MATLAB Mobile en ciertos puntos, pero nada grave. Tambien cabria resaltar que las funciones de sensores no estan habilitadas para MATLAB de versiones inferiores a 2014a.....

    Y como punto positivo, un entorno gráfico de trabajo bastante cómodo y compacto y muchas posibilidades de futuro.

    A términos generales, lo encuentro una herramienta bastante buena.

    A matlabear pues!!!!!!

    jueves, 16 de octubre de 2014

    Tutorial#1.01# - Termistor con Arduino

    En este proyecto nos proponemos a monitorizar la temperatura de algun medio con un termistor tipo NTC y usando una plataforma Arduino.

    Primeramente se hará un repaso de la teoria de funcionamiento del termistor y el por qué de su configuracion.

    Teoria Termistor:

    El termistor es uno de los elementos electrónicos mas flexibles y usados en la electrónica.

    Se trata de un resistor cuyo valor varia de manera significativa con la variación de la temperatura de
    una manera mayor que las resistencias comunes.

    Por el tipo de encapsulado y formato, existen una gran variedad de termistores, tal como se muestra en la siguiente imagen y su seleccion dependera del uso, la precision, etc:





    Asi pues, segun su tecnologia también se diferencian diferentes tipos de termistores, los mas comunes son los llamados NTC ( Negative Temperature Coefficient ) y los PTC ( Positive Temperatue Coefficient ).

    Cuando la temperatura aumenta, los tipo PTC aumentan la resistencia, y en los NTC a la inversa, es decir, disminuye. El simbolo electrónico del termistor es el siguiente:


     El funcionamiento y las ecuaciones que gobiernan el termistor pueden ser consultadas en el siguiente enlace:




    Esquema del circuito:

    El esquema del circuito es bastante sencillo. La idea básica es la configuración del "divisor de tension", que se trata de una configuración de circuito eléctrico.

    El circuito en si es como se muestra a continuación:

     Asi pues, teniendo en cuenta que la salida Vout sera la señal que procesara Arduino en su entrada analogica, podemos diseñar nuestro circuito eléctrico. En este caso se ha realizado con el software "Fritzing", que resulta bastante cómodo para nuestro proposito.


    En este caso se ha utilizado una resistencia R2 de 10 k ya que mi termistor es de aproximadamente 10 k. Para este proyecto he usado un termistor extraido de un dispositivo electrónico reciclado, asi que tuve que realizar las medidas oportunas para obtener los datos característicos del termistor, ya que trabajé sin datasheet ( se explicará ), pero es recomendable comprar uno que este documentado. 

    Un ejemplo es este termistor de Epcos a 10 K. Si observamos el datasheet, nos viene totalmente documentado el valor de Beta y demas valores, asi como el comportamiento del temistor segun la temperatura.


     Asi pues, el esquema de montaje electrico es como se muestra a continuación:



    Cálculos y medidas:

    Primeramente,  debemos saber el valor de Beta del termistor que vamos a usar, que habitualmente será proporcionado por el fabricante en su datasheet junto con demás valores de interés. Si es este nuestro caso, pasaremos al apartado de "Formulas".

    Si, en cambio, os pasa como a mi, que reciclando algunos componentes obtuve un termistor para mi proyecto, deberemos hacer algunas medidas previas, que que el calculo de Beta se obtiene con las temperaturas de 2 extremos, en nuestro caso 0º y 100 º.

    Beta = ( Log ( Rt2 / Rt1 ) ) / ( ( 1 / T2 ) - ( 1 / T1 ) )

    Donde 

    T1 = Temperatura medida en Kelvin ( aprox 0 º )
    T2 = Temperatura medida en Kelvin ( aprox 100º )
    Rt1 = Valor de Resistencia a T1
    Rt2 = Valor de Resistenica a T2

    Con lo que una vez realizadas las medidas, se introducen en la formula de Beta. En este caso podriamos introducir los valores medidos y realizar los calculos o introducir el valor de Beta directamente.

    Código de Arduino



    /* 
    
    Termistor NTC con arduino
    
    Monitorizacion de temperatura con sensor NTC sobre plataforma
    Arduino.
    
    Algortimo de calculo de temperatura en:
    http://en.wikipedia.org/wiki/Thermistor
    
    En este proyecto usamos una Beta conocida, de lo contrario se podría calcular
    de la siguiente maneta:
    
                 Beta=(log(RT1/RT2))/((1/T1)-(1/T2));
    
    */
    
    #include <math.h>
    #include <stdio.h>
    
    //  Datos para las ecuaciones algoritmo termistor
    
    int analogPin=1;     // [V]       Entrada analogica de medida del termistor
    float Vin=5.0;       // [V]       Voltage de entrada en el divisor de tension
    float Raux=10000;    // [ohm]     Valor de la resistencia del divisor de tension
    float Rntc=100000;   // [ohm]     Valor de resistencia del termistor (NTC) a 25ºC
    float T0=298.15;     // [K] (25ºC)
     
    float Vout=0.0;      // [V]        Voltage given by the Voltage-Divider
    float Rout=0.0;      // [ohm]      Resistencia actual del Termistor (NTC)
    
    float Beta=0.0;      // [K]        Parametro Beta
    float Rinf=0.0;      // [ohm]      Parametros Rinf
    float TempK=0.0;     // [K]        Temperatura de salida en grados Kelvin
    float TempC=0.0;     // [ºC]       Temperatura de salida en grados Celsius
     
    int iCont;            // Contador de ciclos, para calculo de temperatura media
    float cTemp1;         // Variable temporal para acumular las temperaturas leidas
     
    
    //  Declaracion de entrada analógica
    
    int analogPin1 = 1;   // [Boole]  Entrada analógica 1 de Arduino 
    
    
    //-----------------------------------------------
    //---------------   Configuracion   -------------
    //-----------------------------------------------
    
    void setup() {
      // Puerto Serie
       Serial.begin(115200); 
       
       // Configuramos el pin del Arduino en entrada
       pinMode(analogPin, INPUT);
     
      // Parametros de calculo
       Beta = 4380;
       Rinf=Rntc*exp(-Beta/T0);
    }
    //-----------------------------------------------
    //------------  Fin Configuracion     -----------
    //-----------------------------------------------
    
    
    //-----------------------------------------------
    //--------------- Loop Principal ----------------
    //-----------------------------------------------
    
    void loop()    // Bucle de programa principal
    {
    
      double TempC;
      double temp = Termistor(analogRead(1));  // Read sensor
      TempC=temp;
      Serial.print("Celsius:");
      Serial.print(TempC,1);
      Serial.println("");
      delay(1000);
    }  
     
    //-----------------------------------------------
    //-----------Fin  Loop Principal ----------------
    //-----------------------------------------------
     
    
    //************************************************
    //********* Funcion Termistor lectura   **********      
    //************************************************
      
    double Termistor(int RawADC) {
        // Cálculo del valor de la resistencia termistor (NTC) a través de Vout
        Vout=Vin*((float)(RawADC)/1024.0);
        Rout=(Raux*Vout/(Vin-Vout));
     
        // Calculo de la temperatura en grados Kelvin
        TempK=(Beta/log(Rout/Rinf));
        // Calculo de la temperatura en grados Celsius
        TempC=TempK-273.15;
        // Almacenamos la temperatura (Celsius) actual para después obtener la media
        cTemp1 = cTemp1 + TempC;
        // Hacemos una pausa de 10 milisegundos   
        delay(10);
    }
    
    //************************************************
    //******* Fin Funcion Termistor lectura   ********      
    //************************************************
    
    Ahora, solamente quedaria comprobar el margen de error con el que funcionaria nuestro termistor, y listo!!

    martes, 23 de septiembre de 2014

    The Ben Heck Show

    Guteng tag!!

    Rulando por internet buscando info util sobre un proyecto de impresion 3D he topado con una especie de serie de capitulos llamados "The Ben Heck Show".....y solo os puedo decir que me gusto mucho. Bastante.

    Ben Heck Show

    Se trata de una show en el que el tal Ben Heck se dedica a diseñar y construir diferentes propuestas o proyectos en su laboratorio.......y la verdad, muy bien documentados y con muchos consejos muy utiles!!!

    Asi que no dejeis de buscar sus videos porque son bastate interesantes

    Saludos!!!

    domingo, 9 de febrero de 2014

    FRANCO RECCHIA
    METROPOLITAN ARTIST

    Curioseando por ahí encontré el otro dia la web de este artista "metropolitano" que me llamó mucho la atención.....y es que hacia maquetas de ciudades con......¡circuitos electronicos y piezas de PC!


    Se trata de circuitos electronicos reciclados por el artista italiano Franco Recchia, natural de Verona y nacido en 1957, gran apasionado de la tecnologia en sus multiples formas.


    Viendo estos resultados......¿quien no piensa preguntar donde esta la agencia de alquiler de viviendas en esta ciudad? .


    El enlace a la web de este artista es:


    ¡Que aproveche!