[HECHO] espectroduino, automatizacion de espectrometro.

Todo cuanto tiene que ver con la obtención, almacenamiento y proceso de la información digital, sus aplicaciones y el software y hardware utilizado.
Mensaje
Autor
Avatar de Usuario
baldo
Mensajes: 1514
Registrado: Vie Dic 23, 2005 7:54 pm
País: españa
Ciudad: coruña y madrid
Ubicación: Galicia
Contactar:

Re: [HECHO] espectroduino, automatizacion de espectrometro.

#11 Mensaje por baldo »

debug.h

Código: Seleccionar todo

#ifndef debug	
#define debug

void	Debug1(void);	//dump variables
void	Debug2(void);	//comprueba conversion byte a deci
void	Debug3(void);	//comprueba conversion byte a deci
void	Debug4(void);	//comprueba conversion deci a byte

#endif
debug.c

Código: Seleccionar todo

#include "usart2.h"
#include "salto.h"    //
#include "interprete.h"   //
#include "motor.h"   //
#include "debug.h"   //

void	Debug1(void){	//dump variables
	TX_s_n(" ");
	TX_s_n("Dump variables:");
										
	TX_s("motorproceso    ");	TX_s_n(IntDeci(motorproceso));		
	TX_s("motoraparco     ");	TX_s_n(IntDeci(motoraparco));		
	
	TX_s("motorcosahacer  ");	TX_s_n(IntDeci(motorcosahacer));		
	TX_s("motorcosahacbak ");	TX_s_n(IntDeci(motorcosahacerbak));  
	TX_s("PINCbak         ");	TX_s_n(IntDeci(PINCbak));			
	TX_s("motorerror      ");	TX_s_n(IntDeci(motorerror));			
	
//	TX_s("motorpalabra0   ");	TX_s_n(IntDeci(motorpalabra0));		
//	TX_s("motorruleta     ");	TX_s_n(IntDeci(motorruleta));		
	TX_s("motorpaso       ");	TX_s_n(IntDeci(motorpaso));			
	TX_s("motorcuentatras ");	TX_s_n(IntDeci(motorcuentaatras));	
//	TX_s("trace 1 y 2     ");	TX_s(CharHexa(trace));	TX_s(" ");	TX_s_n(CharHexa(trace2));			
	trace=0x00;	trace2=0x00;
	}
void	Debug2(void){	//
	TXdirec('z');
	while(1){PortCLeer();TXdirec(NibleHexa(PINCbak));}
	}

void	Debug3(void){	//comprueba conversion byte a deci
	unsigned char k1, k2; char c;
	for(k2=0;k2<0xfe;k2++){
		for(k1=0;k1<0xfe;k1++){
			TXdirec_s("abcd ");		// s e   c o m e   l e t r a s, mirar interrupcion
			c=k2>>4;	c=c&0x0F; c=c+0x30; TXdirec(c);
			c=k2;   	c=c&0x0F; c=c+0x30; TXdirec(c);
			TXdirec(':');
			c=k1>>4;	c=c&0x0F; c=c+0x30; TXdirec(c);
			c=k1;   	c=c&0x0F; c=c+0x30; TXdirec(c);
			TXdirec(' ');
			ByteDeci_cc(k2,k1);
			TX_s_n(bd);
			}
		}
	}

void	Debug4(void){	//comprueba conversion deci a byte
	di=0;
	while(1){
		IntDeci(di);
		DeciInt(bd[0],bd[1],bd[2],bd[3],bd[4]);
		di++;
		TX_s_n(bd);
		}
	}
un debug para ayudarme a depurar esto.

Avatar de Usuario
baldo
Mensajes: 1514
Registrado: Vie Dic 23, 2005 7:54 pm
País: españa
Ciudad: coruña y madrid
Ubicación: Galicia
Contactar:

Re: [HECHO] espectroduino, automatizacion de espectrometro.

#12 Mensaje por baldo »

y acabamos, creo que no se me olvida nada,
el motor se le daba caña con el ULN2003.

https://drive.google.com/open?id=1-aL4I ... I5PZl2_7tM
espectro de lampara de mercurio, distintas lecturas mientras se calentaba, (ocurrencia mia),
los picos verde claro y su vecinito azul clar, creo que eran laseres verde y rojo
se me dio el caso de repetir lecturas y no ver las nuevas, por quedar eclipsadas por al viejas, demostracion de la precision del bicho.

a todo esto falta corregir la respuesta del ojo receptor, sin usar su curva propia un ejemplo seria.
https://drive.google.com/open?id=1kpMgd ... AVzq_szkLg

no olvidar tampoco que usa rejillas de difracion, que tienen mania de repetir espectro, rebotes de 2º ,,3º ,,, orden.

dodo esto, y un generador de curvas de respuesta esta en
https://drive.google.com/open?id=1ATU0Q ... D8BlATCtiZ

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: [HECHO] espectroduino, automatizacion de espectrometro.

#13 Mensaje por Anilandro »

Enhorabuena, Baldo. Estupendo proyecto. El código me cuesta un poco seguirlo, pero la idea se ve perfectamente, y también los resultados.

En un almacén de trastos de donde trabajo, tenía ojeado un espectrómetro de análisis que había muerto por el "efecto 2000", pero hubo cambios de jefes de departamento y me lo tiraron antes de que pudiera darme cuenta... Tu programa me habría ido de perlas.

Saludos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado