Widerstandsnetzwerk als Digital-Analog-Wandler
(EN google-translate)
(PL google-translate)
![R-2R-Widerstandsnetzwerk](http://www.kramann.info/80_Robuste_Systemintegration/09_Arduino/26_DA_Wandler/netz.png)
Bild 0-1: R-2R-Widerstandsnetzwerk
Audioverstärkung mit TDA7052
![Audioverstärkung mit TDA7052](http://www.kramann.info/80_Robuste_Systemintegration/09_Arduino/26_DA_Wandler/tda7052.png)
Bild 0-2: Audioverstärkung mit TDA7052
![Variante Audioverstärkung mit TDA7052](http://www.kramann.info/80_Robuste_Systemintegration/09_Arduino/26_DA_Wandler/tda7052_2.png)
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