lmb312 发表于 2013-5-30 11:48:02

Arduino的函数发生器

   设置的问题,我们一直在寻找到目前为止,我们只能产生一个振幅的信号 - 相当于高逻辑电平。为了能够产生任何其他的波形,我们需要,可以生产出各种不同的输出电压。虽然我们最后一次看着PWM方法为我们提供了一种方法可以做到这一点,它是不适合生产可变波形 - 因为它是基于时间的。我们可以看到,如果我们试图使用PWM产生一个三角波形:用示波器查看输出。
无效设置() {      pinMode(11,输出);}无效循环(){   (INT I = 0; I <0;- )      {          analogWrite(11,I),延迟(1);      }

原理图 }
    该电路是一个8位的DAC,被称为一个R-2R 梯形电阻网络。我们的每八位有助于所得到的输出电压。 这个是一个简单的DA实现功能,具体大家可以去搜索下梯形电阻网络,了解下原理。
    由于最近在做一个装置,没有信号模块,所以想到用arduino做一个正玄波信号发生装置。转自http://www.auctoris.co.uk/2011/0 ... n-generator-part-2/ 还有其他信号发生的教程,请参考。
       正玄波:由于我只需要把正选信号用引脚接出,我就没有多电路了

int sine;


void setup()
{
   pinMode(0, OUTPUT);
   pinMode(1, OUTPUT);
   pinMode(2, OUTPUT);
   pinMode(3, OUTPUT);
   pinMode(4, OUTPUT);
   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);
   pinMode(7, OUTPUT);
   
   float x;
   float y;
   for(int i=0;i<255;i++)
   {
          x=(float)i;
          y=sin((x/255)*2*PI);
          sine=int(y*128)+128;
   }
}


void loop()
{
   for (int i=0;i<255;i++)
   {
          PORTD=sine;
          delayMicroseconds(10);
   }
}

lmb312 发表于 2013-5-30 11:48:32

lmb312 发表于 2013-5-30 11:51:56

实际测的波形图

FoieDEEEE_仲敬 发表于 2013-6-2 16:14:18

表示只是很想用那台示波器而已
页: [1]
查看完整版本: Arduino的函数发生器