jaigalbert
Usuario (México)

Bienvenidos a este post. De inicio me gustaria aclarar que no soy electronico pero me gusta mucho esta area y comparto esta ultima practica que realizamos en laboratorio. La tarea es: Activar relevador si el sensor de temperatura indica que es mayor a un limite establecido solo si el sensor de presencia o proximidad indica que hay algo cerca. Suena complicado? El circuito no lo tengo dibujado pero pondre una foto y un video en youtube Practica realizada con Arduino Uno Requisitos: Arduino UNO Relevador 5v LM35 QRD1114 LTV4n25 TIP41CG 3 resistencias de menos de 1k 1 resistencia de 4.7k 1 LED Cables Circuito Codigo de Arduino //Declaraciones de configuracion de pines int ai_pint=A5,ai_pinp=A0; //Pin de salida 8, Niveles de salidas digitales int o_pin=8,h=HIGH,l=LOW; //Variables de control int t=0,ta=0,p=0,pa=0,limite=24,sen=750,i=0; //Variables de lectura de sensores char lim[3],sens[3],sentence[4],s,j=0; void setup() {//Iniciar puerto serie Serial.begin(9600); //Configurar PIN de salida pinMode(o_pin, OUTPUT); } void loop(){ //Leer instruccion de pueto serie while(Serial.available() > 0){ sentence=Serial.read(); ++i; } //Opcion solicitada s=sentence[0]; j=1; //Leer datos despues de opcion while(j<=i){ if((s=='T')||(s=='t')){ //Limite sensor temp lim[j-1]=sentence; } if((s=='S')||(s=='s')){ //Limite Sensor proximidad sens[j-1]=sentence; } ++j; } //Si se detecto algun dato if(i>0){ if((s=='T')||(s=='t')){ //Serial.println(lim); //convertir arreglo caracteres a entero limite=atoi(lim); //Enviar respuesta de configuracion realizada Serial.print("T: "; Serial.println(limite,DEC); //regresar indice a 0 de sentencias i=0; } //similar al anterior if((s=='S')||(s=='s')){ //Serial.println(sen); sen=atoi(sens); Serial.print("S: "; Serial.println(sen,DEC); i=0; } } //leer valor de pin analogico A0 //configurado al inicio //sensor de proximidad pa=analogRead(ai_pinp); //si es diferente de la ultima lectura if(p!=pa){ //se actualiza p=pa; //si es menor que el limite revisa la temperatura if(p<sen){ ta=analogRead(ai_pint); ta=ta/2; //si es diferente de la anterior if(t!=ta){ t=ta; Serial.print("T"; Serial.println(t,DEC); //si temperatura es mayor o igual que el limite //encendemos el relevador(cualquier cosa que enga conectada) if(t>=limite){ digitalWrite(o_pin, h); }else{ digitalWrite(o_pin, l); } } }//enviar ultimo estatus de proximidad Serial.print("P"; Serial.println(p,DEC); } //reiniciar valores sentence[0]=' '; sentence[1]=' '; sentence[2]=' '; sentence[3]=' '; lim[0]=' '; lim[1]=' '; lim[2]=' '; sens[0]=' '; sens[1]=' '; sens[2]=' '; //esperar un segundo para volver a realizar todo delay(1000); } despues de grabado el Circuito espero se vea bien en la imagen, deben probarlo con el monitor serial del arduino y posteriormente con el programa en esta direccion de Dropbox(si no lo conocen registrense http://db.tt/7fi1x6AJ y me hacen un favor) El programa que elabore yo no es muy sofisticado pero puede funcionarles, al inicio la idea era hacerlo con componentes de National Instruments Measurements Studio 2012 pero se acabo la licencia para cuando estaba realizando este proyecto. Codigo de C# https://www.dropbox.com/s/i3515skll2e743s/InterfazFinal.zip Si hay alguna duda con gusto intentare ayudar, si se mueven o borran los archivos me avisan, saludos
Nuevas Características en NI Measurement Studio 2012 Measurement Studio 2012 presenta un nuevo juego de herramientas integradas y controles de interfaz de usuario de Windows Presentation Foundation (WPF) para diseño sofisticado de interfaces de usuario. WPF es un sistema de vanguardia para construir aplicaciones cliente de Windows con experiencias de usuario visualmente impresionantes. La última versión también ofrece funcionalidad extendida de análisis a través de nuevas bibliotecas para filtrado complejo, generación de ruido de señales y aplicación de ventanas para arreglos de datos complejos. Los desarrolladores de Measurement Studio 2012 también pueden usar el nuevo tipo de dato ComplexInt16 para adquirir, analizar y graficar datos obtenidos de las bibliotecas de clase RF de .NET. Lea sobre tecnología y herramientas WPF Actualice a la nueva versión Nuevas Características Controles Windows Presentation Foundation Cree experiencias de usuario visualmente impresionantes e intuitivas usando las últimas tecnologías de Microsoft para diseño de interfaz de usuario, Windows Presentation Foundation (WPF). Visualización Mejorada de Fecha y Hora Muestre la cantidad de tiempo que ha pasado desde el inicio de un evento usando el nuevo formato de tiempo transcurrido para controles de apuntadores numéricos y gráficos de formas de Windows y Web. Nuevos Métodos y Clases de Análisis Realice análisis avanzado de datos en bruto usando nuevas clases para filtros complejos, análisis espectral, ventanas para arreglos de datos complejos y generación de ruido de señal. Mejor Soporte para Aplicaciones de RF El nuevo tipo de dato ComplexInt16 hace más fácil adquirir, analizar y graficar datos obtenidos de las bibliotecas de clase de hardware RF de .NET.