Wednesday, May 29, 2013
Tuesday, May 28, 2013
Monday, May 27, 2013
Friday, May 24, 2013
Remote Controlled Arduino Powered Tank
Sunday, November 13, 2011
DSO-5200A SDK Modification FFT
Download the SDK from the Hantek Website:
DSO5200A_SDK.rar
This code was imported to Visual Studio 2008 to compile the code the MFC (microsoft foundation class) api will need to be imported from the Windows WDK. How to Download the WDK
VCDlg.cpp will need to be modified with the following code:
//start snippet
int N=10256,M=5128;
double data[20513],fdata[10129];
int disp[500];
double data1[10257];
double data2[10257];
double data3[10257];
for(int n=0;n<N;n++){
data1[n]=Ch1.HardwareData[n];
}
double data4[500];
double ratio=10256.0/1000.0; //screen size to data size ratio
double window[10257];
double sum=0.0;
//////////////////Calculate the Window Function values into an array and// calculate the sum of the input data
for(int i=0;i<N;i++){
window[i]=0.5*(1-cos(2.0*M_PI*double(i)/double(N-1)));
sum+=double(Ch1.HardwareData[i]);
}
double avg=sum/double(N);//determine average and adjust input signal
for(int i=0;i<N;i++){data3[i]=double(Ch1.HardwareData[i])-avg;}
//output to screen input multiplied by the Window Functionfor(int q=0;q<10256;q++){
m_dcImg.SelectObject(bluepen);
m_dcImg.LineTo(int(double(q)/ratio),200+int(window[q]*data3[q]));
}
/////////Take Orignal Signal and Apply a Window Function////////
for(int i=0;i<N;i++){
data[2*i]=window[i]*data3[i]/1024.0;
data[2*i+1]=0.0;
}/////////////////////////////////////////////////////////////////apply the fourier transform
four1(data,8192);
//data is complex output: c = data[j]+data[j+1]i
//calculate the amplitude of the complex data and store in fdata.
for(int j=0;j<8192;j++)fdata[j]=sqrt(data[2*j+1]*data[2*j+1]+data[2*j]*data[2*j]);
double ratio2=4096.0/2000.0;//set ratio for frequency graph
for(int k=0;k<2048;k++){
m_dcImg.SetPixel(int(double(k)/ratio2),fdata[k],RGB(0,255,0));//draw pixels
m_dcImg.SelectObject(redpen);
m_dcImg.LineTo(int(double(k)/ratio2),fdata[k]);//draw red lines
}//end snippet
//////////////////fourier transform algorithm///////////////////////////
////////////////////////////////////////////////////////////////////////
void four1(double* data, unsigned long nn)
{
unsigned long n, mmax, m, j, istep, i;
double wtemp, wr, wpr, wpi, wi, theta;
double tempr, tempi;
// reverse-binary reindexing
n = nn<<1;
j=1;
for (i=1; i<n; i+=2) {
if (j>i) {
tempr=data[j-1];data[j-1]=data[i-1]; data[i-1]=tempr;
tempr=data[j];data[j]=data[i]; data[i]=tempr;
}
m = nn;
while (m>=2 && j>m) {
j -= m;
m >>= 1;
}
j += m;
};
// here begins the Danielson-Lanczos section
mmax=2;
while (n>mmax) {
istep = mmax<<1;
theta = -(2*M_PI/mmax);
wtemp = sin(0.5*theta);
wpr = -2.0*wtemp*wtemp;
wpi = sin(theta);
wr = 1.0;
wi = 0.0;
for (m=1; m < mmax; m += 2) {
for (i=m; i <= n; i += istep) {
j=i+mmax;
tempr = wr*data[j-1] - wi*data[j];
tempi = wr * data[j] + wi*data[j-1];
data[j-1] = data[i-1] - tempr;
data[j] = data[i] - tempi;
data[i-1] += tempr;
data[i] += tempi;
}
wtemp=wr;
wr += wr*wpr - wi*wpi;
wi += wi*wpr + wtemp*wpi;
}
mmax=istep;
}
}
Wednesday, November 9, 2011
Wednesday, August 17, 2011
Copper Steel Plate Battery using Rochelle Salt and Cotton Wool
In reference to http://docsfreelunch.blogspot.com/ . Doc mentions a honey cotton wool and copper zinc plates as a good starter point and the low power circuit is handy.
So I built a rochelle salt ,copper and steel plated battery with cotton wool insulation.
The rochelle salts is made by mixing sodium carbonate and creme of tartar. Firstly heat gently vinegar and add slowly the sodium carbonate. Allow enough sodium carbonate to be soluble. Add the creme of tartar until no longer solubable. Cool down after the mixture has thickened.Place cotton wool on a steel plate and pour mixture on the cotton wool. Press the copper plate on top and allow to cool. Once cooled ready to measure the voltage.
Here is a picture of the battery measuring 964 millivolts with a capacitor in series. The capacitor had no charge before attached to the battery. Measuring 20 micro amps puts this battery at about 18-15 micro watts.
Subscribe to:
Posts (Atom)











