Einfacher DIY-Frequenzmesser bis zu 6,5 MHz
Komponenten und Verbrauchsmaterialien
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 |
Notwendige Werkzeuge und Maschinen
![]() |
|
Apps und Onlinedienste
![]() |
|
Über dieses Projekt
Das im Video vorgestellte Gerät ist ein Frequenzmesser, der mit einem Arduino Nano-Mikrocontroller hergestellt wird. Es kann die Frequenz von Signalen mit rechteckiger, sinusförmiger und dreieckiger Form messen.
Sein Messbereich reicht von wenigen Hertz bis 6,5 Megahertz. Drei Messzeitintervalle sind ebenfalls verfügbar - 0,1, 1 und 10 Sekunden. Wenn wir nur Rechtecksignale messen, ist kein Formungsverstärker erforderlich und das Signal wird direkt dem digitalen Pin 5 von Arduino zugeführt.
Der Code ist dank der Bibliothek "FreqCount", die Sie auch unten herunterladen können, sehr einfach.
Das Gerät ist sehr einfach und besteht aus mehreren Komponenten:
- Arduino Nano-Mikrocontroller
- Formverstärkerplatine
- LCD-Anzeige
- Auswahl der Eingangssignalform
- Eingang JACK
- und Zeitintervallschalter:Wir können drei Intervalle wählen 0,1 -1 -und 10 Sekunden.

Wie Sie im Video sehen können, ist das Instrument im gesamten Bereich sehr präzise und wir können den Frequenzmesser auch mit dem unten beschriebenen einfachen Verfahren kalibrieren:
Suchen Sie im Arduino-Bibliotheksordner die FreqCount-Bibliothek,
Suchen Sie in der Datei FreqCount.cpp die Zeilen:
#wenn definiert (TIMER_USE_TIMER2) &&F_CPU ==12000000L
float korrekt =count_output * 0,996155;
und ersetze sie durch:
#wenn definiert (TIMER_USE_TIMER2) &&F_CPU ==16000000L
float korrekt =count_output * 1.000000;
wobei 1.000000 Ihr Korrekturfaktor ist, der
Die Korrektur muss durch Anlegen von 1 MHz an den Eingang des Frequenzmessers erfolgen.
Nachdem Sie die Datei geändert haben, laden Sie eine neue Skizze auf das Arduino-Board hoch.
Schließlich ist der Frequenzmesser in einer passenden Kunststoffbox eingebaut und ist ein weiteres nützliches Instrument im Elektroniklabor.
Code
- Code
- FreqCount-Master
CodeC/C++
#include//https://github.com/PaulStoffregen/FreqCount/archive/master.zip#include LiquidCrystal lcd(12, 11, 6, 4, 3, 2 ); // RS, E, D4, D5, D6, D7void setup () { lcd.begin (16, 2); // LCD 16X2 PinMode (7, INPUT); FreqCount.begin(1000);}unsigned long f;float f0;int x,n=3,r;void loop() { if(digitalRead(7)==HIGH){n++;x=0;delay(100);} lcd.setCursor(0,1); if(n==1){x++;if(x==1){FreqCount.begin(100);}r=-1;lcd.print("T =0.1 s");} if(n==2 ){x++;if(x==1){FreqCount.begin(10000);}r=1;lcd.print("T =10 s");} if(n==3){x++;if(x ==1){FreqCount.begin(1000);}r=0;lcd.print("T =1 s");} if(n>3){n=1;} lcd.setCursor(0,0); lcd.print("F ="); if(f>=1000000 &&n==3){f0=f/1000000.0;lcd.print(f0,6+r);lcd.print("MHz");} if(f<1000000 &&n==3 ){f0=f/1000.0;lcd.print(f0,3+r);lcd.print("kHz");} if(f>=100000 &&n==1){f0=f/100000.0;lcd. print(f0,6+r);lcd.print("MHz");} if(f<100000 &&n==1){f0=f/100.0;lcd.print(f0,3+r);lcd. print("kHz");} if(f>=10000000 &&n==2){f0=f/10000000.0;lcd.print(f0,6+r);lcd.print("MHz");} if( f<10000000 &&n==2) {f0=f/10000.0;lcd.print(f0,3+r);lcd.print("kHz");} if (FreqCount.available()) {f =FreqCount. lesen(); lcd.setCursor(10,1);lcd.print("***"); } Verzögerung (200); lcd.clear();}
FreqCount-MasterC/C++
Keine Vorschau (nur Download).
Schaltpläne

Herstellungsprozess
- Einfaches Zahlenschloss
- Multimeter
- Frequenz- und Phasenmessung
- DIY einfachste IV9 Numitron-Uhr mit Arduino
- DIY Einfaches 20-kHz-Arduino-Oszilloskop auf Nokia 5110 LCD
- DIY 37 LED-Roulette-Spiel
- empfindlicher DIY-Erdbebendetektor ADXL335
- DIY Lötkolbensteuerung für 862D+
- Arduino Nano Tetris-Spiel auf hausgemachter 16x8-Matrix
- Fahre niemals allein