设置的问题,我们一直在寻找到目前为止,我们只能产生一个振幅的信号 - 相当于高逻辑电平。为了能够产生任何其他的波形,我们需要,可以生产出各种不同的输出电压。虽然我们最后一次看着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[255];
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);
}
}
|