Widerstandsnetzwerk als Digital-Analog-Wandler
(EN google-translate)
(PL google-translate)
Bild 0-1: R-2R-Widerstandsnetzwerk
Audioverstärkung mit TDA7052
Bild 0-2: Audioverstärkung mit TDA7052
Bild 0-3: Variante Audioverstärkung mit TDA7052
unsigned char sinus[] = {
127,142,158,173,188,201,213,224,234,241,
247,251,253,253,251,247,241,234,224,213,
201,188,173,158,142,127,111,95,80,65,
52,40,29,19,12,6,2,0,0,2,
6,12,19,29,40,52,65,80,95,111
};
int i;
long p;
void setup()
{
DDRB=255;
i=0;
}
void loop()
{
PORTB = sinus[i];
i++;
i%=50;
//delay(1);
//for(p=0;p<5;p++)
// DDRB=255;
}
Code 0-1: Testprogramm.
Erzeugen des Sinusverlaufs mit einem C++-Programm:
#include<math.h>
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int i;
double x,y,z;
for(i=0;i<50;i++)
{
x=((double)i/50.0)*2.0*M_PI;
y=sin(x);
z=(y+1.0)*127.0;
printf("%i,",(int)z);
}
}
Code 0-2: sinus.cpp