Advertisement
yo9gjx

A.R.D.F. Fox hunting Arduino training controler

Feb 4th, 2025 (edited)
95
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.44 KB | None | 0 0
  1. const int buzzerPin = 12;
  2. const int ledPin = 13;
  3. const int unitDuration = 200; // Base time unit in milliseconds
  4.  
  5. String words[] = {"MOE", "MOI", "MOS", "MOH", "MO5"};
  6.  
  7. void setup() {
  8.   pinMode(buzzerPin, OUTPUT);
  9.   pinMode(ledPin, OUTPUT);
  10. }
  11.  
  12. void loop() {
  13.   for (int i = 0; i < 5; i++) {
  14.     unsigned long startTime = millis();
  15.     while (millis() - startTime < 60000) { // Run for 1 minute
  16.       transmitWord(words[i]);
  17.     }
  18.   }
  19. }
  20.  
  21. void transmitWord(String word) {
  22.   for (int i = 0; i < word.length(); i++) {
  23.     char character = word.charAt(i);
  24.     morseSymbol(character);
  25.     if (i < word.length() - 1) delay(unitDuration * 3); // Inter-letter space
  26.   }
  27.   delay(unitDuration * 7); // Inter-word space
  28. }
  29.  
  30. void morseSymbol(char c) {
  31.   String morseCode = getMorseCode(c);
  32.   for (int i = 0; i < morseCode.length(); i++) {
  33.     digitalWrite(buzzerPin, HIGH);
  34.     digitalWrite(ledPin, HIGH);
  35.     int duration = (morseCode[i] == '.') ? unitDuration : unitDuration * 3;
  36.     delay(duration);
  37.     digitalWrite(buzzerPin, LOW);
  38.     digitalWrite(ledPin, LOW);
  39.     if (i < morseCode.length() - 1) delay(unitDuration); // Inter-symbol space
  40.   }
  41. }
  42.  
  43. String getMorseCode(char c) {
  44.   switch (toupper(c)) {
  45.     case 'M': return "--";
  46.     case 'O': return "---";
  47.     case 'E': return ".";
  48.     case 'I': return "..";
  49.     case 'S': return "...";
  50.     case 'H': return "....";
  51.     case '5': return ".....";
  52.     default: return "";
  53.   }
  54. }
  55.  
Advertisement
Comments
  • yo9gjx
    15 days
    # text 0.14 KB | 0 0
    1. Code for basic training in Radio Orienteering sport, Fox hunting, for ARDUINO UNO or NANO transmitting basic morse MOE, MOI, MOS, MOH, MO5.
Add Comment
Please, Sign In to add comment
Advertisement