kramann.info
© Guido Kramann

Login: Passwort:










26 Widerstandsnetzwerk als Digital-Analog-Wandler

26 Resistor network as a digital-to-analog converter (EN google-translate)

26 Sieć rezystorów jako konwerter cyfrowo-analogowy (PL google-translate)

R-2R-Widerstandsnetzwerk

Bild 26-1: R-2R-Widerstandsnetzwerk

Audioverstärkung mit TDA7052

Audio amplification with TDA7052

Wzmacnianie dźwięku za pomocą TDA7052

Audioverstärkung mit TDA7052

Bild 26-2: Audioverstärkung mit TDA7052

Variante Audioverstärkung mit TDA7052

Bild 26-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 26-1: Testprogramm.

Erzeugen des Sinusverlaufs mit einem C++-Programm:

Generating the sine wave with a C program:

Generowanie fali sinusoidalnej za pomocą programu C:

#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 26-2: sinus.cpp