TDA 7000 FM Radio

A dream of all electronics hobysts. After several failed attempts of making a FM radio, I was about to giveup the topic. All those were transistor based. None of them worked, at lest the white noise is not received. So this time, jumped to this ‘radio on a chip’ to get some motivation energy.

Schematic

Mostly based on the test circuit of the Data Sheet and this and this.

Image

The semiconductor attacked by the ceramic army

I did not have any trimmer caps at that moment, so channels are tuned by pushing the inductor.

The amplifer is not a good one if you care the gain, health of the speaker and the power consumption. If you build this, google for a good amplifier circuit. Following circuit that was built with the parts in hand is for testing purposes only.

Image

Image

Tracing Voronoi Diagrams – The Greedy Approach

Voronoi Diagrams are pretty and useful. I use them for PCB isolation milling. This piece of code (C++/MFC) traces the voronoi diagrom of some random points. The algorithm is the most simple, lowest performing greedy method.

void TraceVoronoi(CDC* pDC, std::vector<CPoint>& vPoints, std::vector<COLORREF>& vColors)
{
    for (int x = 0; x < 600; ++x)
    {
        for (int y = 0; y < 400; ++y)
        {
            double dMinDist = 100000000;
            CPoint pt;
            int n = 0;
            for (int i = 0; i < vPoints.size(); ++i)
            {
                CPoint a = vPoints[i];
                double d = (x - a.x) * (x - a.x) + (y - a.y) * (y - a.y);
                //double d = abs(x - a.x) + abs(y - a.y); // Manhattan distance
                //double d = max(abs(x - a.x), abs(y - a.y)); // ?? distance
                if (d < dMinDist)
                {
                    pt = a;
                    n = i;
                    dMinDist = d;
                }
           }
           pDC->SetPixelV(x, y, vColors[n]);
       }
   }
   // Points
   for (int i = 0; i < vPoints.size(); ++i)
   {
       CPoint a = vPoints[i];
       pDC->FillSolidRect(a.x - 1, a.y - 1, 3, 3, 0x0);
   }
}

Output 1

Image

Output 2 (B/W)

Image

Output 3 (Manhattan Distance)

Image

Output 4 (?? Distance)

Image