Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Auto-Keyer für die Radiofuchsjagd

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Kondensator 100 nF
× 5
Relais (generisch)
× 1
LED (generisch)
× 1
Kondensator 100 µF
× 1
Jumper (generisch)
× 1
Externer Hörer-/Mikrofonstecker für Ihr Amateurfunkgerät
× 1
Umschalter, Umschalter
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
Lötdraht, bleifrei
Amateurfunk

Über dieses Projekt

Amateurfunk-Enthusiasten versuchen oft, ihre Fähigkeiten als Funkpeiler zu verbessern, indem sie üben, ein Funkgerät zu finden, das irgendwo in der Ferne versteckt ist (sogenannter "Fuchs"). Diese Fähigkeiten sind nützlich, um Geräte und Personen mit einem Funksender zu finden und müssen gefunden werden.

Dieses Projekt nimmt einen Arduino und verwendet ihn, um das Radio zum Senden zu aktivieren, und sendet dann die Stations-ID (das Rufzeichen des Amateurfunkers) mit Morsecode. Anschließend wird ein langer Ton gesendet. Während der Übertragung kann der Standort des Funksignals genau bestimmt werden.

Ich hatte meine allererste "Fuchsjagd" mit Funkpeilung am ARRL Teacher's Institute 2011 und war begeistert (obwohl unser Team versehentlich den falschen "Fuchs" gefunden hat). Es schien eine großartige Aktivität für die Mittelschüler zu sein, die ich in meinem naturwissenschaftlichen Unterricht unterrichte. Leider schien mir der Bau entweder zu kompliziert oder kostete mehr, als ich ausgeben wollte.

Vor kurzem habe ich jedoch festgestellt, dass ich mit einem preiswerten 2-Meter-Radio und einem programmierbaren Mikroprozessor (wie dem Arduino) meinen eigenen "Fuchs" für sehr geringe Kosten herstellen und ein lustiges Sommer-Lernprojekt haben kann.

Für dieses Projekt habe ich ein Baofeng UV-3R-Radio verwendet, da es billig ist (und ich benutze es nicht mehr) und ein Arduino Uno. Ich gehe davon aus, dass die Verwendung eines anderen Radios mit einer anderen Buchse ähnliche Schritte zum Testen der Buchse und des Mikrofons erfordern würde, aber die Schaltung und die Arduino-Skizze wären bis auf das Funkrufzeichen des Betreibers gleich.

Hinweis: Der Schaltplan ist weniger kompliziert als er aussieht. Die 0,01 Mikrofarad-Kondensatoren wurden hinzugefügt, um zu verhindern, dass die Schaltung beim Senden RFI (Hochfrequenzstörungen) aufnimmt. Ohne sie machte das Arduino ungewöhnliche und inkonsistente Dinge (oft neu gestartet), wenn das Radio so nah an der Schaltung sendete. Der andere Kondensator soll die Rechteckwelle des Arduino glätten und zu einer Sinuswelle machen, damit sie besser klingt.

Code

  • Fuchsjagd-Funkschlüssel
Fuchsjagd-FunkschlüsselArduino
Der Arduino, der das Funkgerät zum Senden einschaltet und den Morsecode sendet, um sich selbst zu identifizieren und sendet einen 5-Sekunden-Ton. */ // Pin 12 ist mit einem Relais verbunden.// Pin 13 ist mit einem Tonkreis verbunden.// modifiziert von:Mike Myers (http://mikemyers.me) @netnutmike// Let's Make It Episode 6 (http ://tech-zen.tv/index.php/shows/let-s-make-it/episodes/59-sensor-fun-with-arduino-1-massive-failure-but-4-successes-let-s -make-it-episode-6)// Definiere den Morsecode für das Alphabet und die Zahlenchar* Buchstaben[] ={ ".-", // A "-...", // B "-.-." , // C "-..", // D ".", // E "..-.", // F "--.", // G "....", // H " ..", // I ".---", // J "-.-", // K ".-..", // L "--", // M "-.", / / N "---", // O ".--.", // P "--.-", // Q ".-.", // R "...", // S " -", // T "..-", // U "...-", // V ".--", // W "-..-", // X "-.--" , // Y "--.." // Z};char* Zahlen[] ={ "-----", // 0 ".----", // 1 "..--- ", // 2 "...--", // 3 "....-", // 4 ".....", // 5 "-....", // 6 " --...", // 7 "---..", // 8 "----." // 9 --- Ende des 1. Segments des geliehenen Codes von Mike Myers};int relay =12;int TonePin =13; int-Frequenz =1000; // Frequenz des Toneint dotDelay =70; // Dauer des Punktes im Morsecode, dies ist auch die Zeit zwischen den Punkten und demhesint charDelay =500; // Dauer der Wartezeit zwischen Buchstaben für Farsnworth methodint wordDelay =1100; // Dauer der Wartezeit zwischen Wörtern für Farsnworth methodint cycleDelay =15000; // HALBE der Dauer, da der größte Wert 16383// Die Setup-Routine wird einmal ausgeführt, wenn Sie reset:void setup () drücken { // den digitalen Pin als Ausgang initialisieren. pinMode(12, AUSGANG); pinMode(13, AUSGANG); Verzögerung (2000); // anfängliche Verzögerung nach dem Einschalten} // die Schleifenroutine läuft immer und immer wieder:void loop () { digitalWrite (relay, HIGH); // Relais einschalten (HIGH ist der Spannungspegel) Verzögerung (1000); // auf eine Sekunde warten SendText("NF7Z FOX"); Verzögerung (1000); // auf einen zweiten Ton warten (TonePin, Frequenz); // 7 Sek. Tonverzögerung senden (7000); kein Ton (TonPin); Verzögerung (10000); // 10 Sekunden ohne Ton senden DigitalWrite (Relais, LOW); // Schalten Sie das Relais aus, indem Sie die Spannung auf LOW setzen (cycleDelay); // Zykluszeit warten (weil der größte Wert 16383) ist delay(cycleDelay); // Zykluszeit warten}//================================================================//// modifiziert von:Mike Myers (http://mikemikes.me) @netnutmike// Funktion:morseCodeSequence/ /// Eingabe:zu sendendes Zeichenarray aus Punkten und Strichen //// Description:// Diese Funktion nimmt als Eingabe ein Array oder "." und "-" und// ruft dotOrDash für jedes Element im Array auf.//// Am Ende der Sequenz gibt es eine Verzögerung von dreimal // der Punktdauer.//===============================================================ungültige morseCodeSequence (char * Sequenz) { int i =0; // Schleife für jedes Element im Array while (sequence[i] !=NULL) { dotOrDash(sequence[i]); // Punkt oder Bindestrich aussenden i++; // Inkrement zum nächsten Element im Array } delay(charDelay); // Lücke zwischen Buchstaben}//================================================================//// Funktion:SendText//// Eingabe:Zeichen Array von Text in Englisch//// Description:// Diese Funktion nimmt Text als Eingabe und sendet Morsecode für jeden Buchstaben.// Nach jedem Buchstaben gibt es eine Pause.////================================================================void SendText(char* MorseCodeLetters ) {int i =0; char-ch; // Schleife für jedes Element im Array while (MorseCodeLetters[i] !=NULL) { ch =MorseCodeLetters[i]; // Ist es ein Kleinbuchstabe? if (ch>='a' &&ch <='z') { morseCodeSequence(letters[ch - 'a']); } else if (ch>='A' &&ch <='Z') // Großbuchstabe { morseCodeSequence(letters[ch - 'A']); } else if (ch>='0' &&ch <='9') // Zahl { morseCodeSequence(numbers[ch - '0']); } else if (ch ==' ') // Leerzeichen (4-mal warten dotDelay { delay(wordDelay); // Lücke zwischen Wörtern } else { } i++; // Inkrement zum nächsten Element im Array } delay(charDelay ); // Lücke zwischen den Buchstaben}//================================================================//// Funktion:dorOrDash//// modifiziert von:Mike Myers (http://mikemyers.me) @netnutmike// Eingabe:Zeichen, das entweder ein Punkt oder ein Bindestrich sein sollte//// Description:// Diese Funktion schaltet zuerst die Ausgabe ein und prüft dann, // ob das Zeichen ein "." dotDelay.// // Falls das Zeichen kein "." // Zeichen ist ein "-", aber in den meisten Fällen würde es keine Rolle spielen.//// Nach der Verzögerungszeit wird der Pin auf Low gesetzt und der // Ton wird ausgeschaltet.//// Dann verzögert es um einen Punkt Verzögerung, so dass die Punkte und Striche// laufen nicht zusammen.//================================================================void dotOrDash (char dotOrDash) { Ton (TonePin, Frequenz); if (dotOrDash =='.') { delay(dotDelay); } else // muss a sein - { delay(dotDelay * 3); } kein Ton (TonPin); Verzögerung (dotDelay); // Lücke zwischen den Blitzen}

Schaltpläne


Herstellungsprozess

  1. Radio
  2. Jagdmesser
  3. UFO-Angriff!
  4. 3D RGB Arduclock
  5. MyRiver
  6. Joystick-Spiel
  7. Finde mich
  8. PULSEOXIMETER für NOTFALL bei CORONAVIRUS-KRANKHEIT
  9. Health Band - Ein intelligenter Assistent für ältere Menschen
  10. Kondensatorbank in kVAR &µF-Rechner für Leistungsfaktorkorrektur