Arduino ingen DAC SINUSVÅG
/ * RESISTIV STEGE DAC PRODUKTIONEN
Detta kommer att PRODUCERA en SINUSVÅG Anslut en 1 Meg resistor till varje stift. Anslut alla motstånden tillsammans. Den gemensamma punkten kommer du mäter en SINUSVÅG. Med ett oscilloskop. För att skapa en användbar utgång en hög impedans krävs förstärkare. */
void setup() {pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT);}
void loop() {/ / Call Max frekvens slingan 10.000 gånger för (unsigned int lt = 0; lt < = 10000; lt ++) {/ / lt = loop tid MaxFrequency();} delay(200); / / Max frekvens loopa slutet //Call lägre frekvens slingan 10.000 gånger för (unsigned int LFlt = 0; LFlt < = 10000; LFlt++) {//LFlt = lägre frekvens loop tid Frequency(10); / / 10 delayMicroseconds} delay(200); Kalla lägre frekvens loopen 10 000 gånger med en längre fördröjning mellan stegen för (unsigned int LFlt = 0; LFlt < = 10000; LFlt++) {//LFlt = lägre frekvens loop tid Frequency(100); / / 100 delayMicroseconds} delay(200); Lägre frekvens slutet / * avkommentera detta block för att sopa / / Call funktionen frekvens 200 gånger loop tiden är mycket längre så mindre öglor för (unsigned int St = 0; St < = 200. St ++) / / ST = sopa tid {för (int F = 1; F < = 30. F = F + 1) / / F = längre fördröjning fördröjning = lägre frekvens {Frequency(F); / / passera F som tid att funktionen frekvens} för (int F = 50; F > = 1; F = F - 1) {Frequency(F);} delay(200); } / / Sopa frekvens LOOP slutet * / / / Uncoment för att sopa}
void MaxFrequency() {för (int upp = 2; UPP < = 10; UP++) / / räkna upp stift 2-10 ändra eller lägga till stift här {digitalWrite (upp, hög);} för (int ner = 10. NED > = 2; DOWN--) / / räkna ner stift 10-2 ändra eller lägga till stift här {digitalWrite (ner, låg);}}
Annullera frekvens (int tid) / / tid = fördröjningstiden {för (int upp = 2; UPP < = 10; UP++) / / räkna upp stift 2-10 ändra eller lägga till stift här {digitalWrite (upp, hög); delayMicroseconds(TIME);} för (int ner = 10. NED > = 2; NED--) / / räkna ner stift 10-2 ändra eller lägga till stift här {digitalWrite (ner, låg); delayMicroseconds(TIME);
} delayMicroseconds(10); Rulla det för oscilloskop sync}