Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Auto-Keyer para Radio Fox Hunting

Componentes e suprimentos

Arduino UNO
× 1
Capacitor 100 nF
× 5
Relé (genérico)
× 1
LED (genérico)
× 1
Capacitor 100 µF
× 1
Fios de jumpers (genérico)
× 1
Monofone externo / plugue de microfone para seu rádio amador
× 1
Alternar interruptor, alternar
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Arame de solda, sem chumbo
Rádio amador

Sobre este projeto


Os entusiastas do radioamador freqüentemente tentam manter suas habilidades de localização de rádio afiadas, praticando para encontrar um rádio escondido em algum lugar distante (chamado de "raposa"). Essas habilidades são úteis para localizar equipamentos e pessoas com um transmissor de rádio e precisam ser encontradas.

Este projeto pega um Arduino e o usa para ligar o rádio para transmitir e então enviar o ID da estação (o indicativo de operadora de rádio amador) usando o código Morse. Um tom longo é então enviado. Durante a transmissão, a localização do sinal de rádio pode ser identificada.

Eu tive minha primeira "caça à raposa" usando localização de direção por rádio no ARRL Teacher's Institute 2011 e adorei (embora nossa equipe tenha acidentalmente encontrado a "raposa" errada). Parecia que seria uma ótima atividade para os alunos do ensino médio que ensino em minhas aulas de ciências. Infelizmente, construir um parecia muito complicado ou custava mais do que eu estava disposto a gastar.

Recentemente, no entanto, percebi que com um rádio barato de 2 metros e um microprocessador programável (como o Arduino), eu poderia fazer minha própria "raposa" por um custo muito baixo e ter um divertido projeto de aprendizado de verão.

Para este projeto, usei um rádio Baofeng UV-3R por ser barato (e não estou usando mais) e um Arduino Uno. Estou assumindo que usar um rádio diferente com um conector diferente exigiria etapas semelhantes para testar o conector e o microfone, mas o circuito e o esboço do Arduino seriam os mesmos, exceto pelo indicativo de chamada de rádio do operador.

Nota: O esquema é menos complicado do que parece. Os capacitores de 0,01 microfarad foram adicionados para evitar que o circuito receba RFI (interferência de radiofrequência) durante a transmissão. Sem eles, o Arduino fazia coisas incomuns e inconsistentes (muitas vezes reiniciando) quando o rádio transmitia tão perto do circuito. O outro capacitor é para suavizar a onda quadrada do Arduino e torná-la uma onda senoidal para que soe melhor.

Código

  • Fox Hunting Radio Keyer
Fox Hunting Radio Keyer Arduino
O Arduino que aciona o rádio para transmitir e envia o código Morse para se identificar.
 / * Por Nelson Farrier Acione o rádio e envie as teclas de tom para o rádio Baofeng UV-3R ligando e desligando o relé, depois os IDs e e envia um tom de 5 segundos. * / // O pino 12 está conectado a um relé.// O pino 13 está conectado a um circuito de tom.// modificado de:Mike Myers (http://mikemyers.me) @ netnutmike // Let's Make It Episódio 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) // define o código Morse para o alfabeto e os números * letras [] ={".-", // 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 * numbers [] ={"-----", // 0 ".----", // 1 "..--- ", // 2" ...-- ", // 3" ....- ", // 4" ..... ", // 5" -.... ", // 6" --... ", // 7" --- .. ", // 8" ----. " // 9 --- fim do primeiro segmento do código emprestado de Mike Myers}; int relay =12; int TonePin =13; frequência interna =1000; // frequência do toneint dotDelay =70; // duração do ponto em código morse, este é também o tempo entre os pontos e o traço charDelay =500; // duração da espera entre letras para o método de Farsnworth wordDelay =1100; // duração da espera entre palavras por Farsnworth methodint cycleDelay =15000; // METADE da duração porque o maior valor é 16383 // a rotina de configuração é executada uma vez quando você pressiona reset:void setup () {// inicializa o pino digital como uma saída. pinMode (12, SAÍDA); pinMode (13, SAÍDA); atraso (2000); // atraso inicial após ligar} // a rotina do loop é executada continuamente:void loop () {digitalWrite (relay, HIGH); // liga o relé (HIGH é o nível de tensão) delay (1000); // aguarde um segundo SendText ("NF7Z FOX"); atraso (1000); // espera por um segundo tom (TonePin, frequência); // envia um atraso de tom de 7 segundos (7000); noTone (TonePin); atraso (10000); // 10 segundos de transmissão sem tom digitalWrite (relay, LOW); // desligue o relé tornando a tensão LOW delay (cycleDelay); // espera pelo tempo de ciclo (porque o maior valor é 16383) delay (cycleDelay); // aguarde o tempo do ciclo} // =========================================================================//// modificado de:Mike Myers (http://mikemyers.me) @ netnutmike // Função:morseCodeSequence / /// Input:Matriz de caracteres de pontos e traços a serem enviados //// Descrição:// Esta função recebe como entrada uma matriz ou "." e "-" e // chama dotOrDash para cada item na matriz.//// No final da sequência, há um atraso de 3 vezes // a duração do ponto.//=========================================================================void morseCodeSequence (char * sequence) {int i =0; // Loop para cada elemento no array while (sequence [i]! =NULL) {dotOrDash (sequence [i]); // Envie o ponto ou traço i ++; // Incrementa para o próximo elemento na matriz} delay (charDelay); // lacuna entre letras} // =========================================================================//// Função:SendText //// Input:Matriz de caracteres de texto em inglês //// Descrição:// Esta função recebe o texto como entrada e envia o código Morse para cada letra.// Em seguida, há uma pausa após cada letra.////=========================================================================void SendText (char * MorseCodeLetters ) {int i =0; char ch; // Loop para cada elemento na matriz while (MorseCodeLetters [i]! =NULL) {ch =MorseCodeLetters [i]; // É uma letra minúscula? if (ch> ='a' &&ch <='z') {morseCodeSequence (letras [ch - 'a']); } else if (ch> ='A' &&ch <='Z') // Letra maiúscula {morseCodeSequence (letras [ch - 'A']); } else if (ch> ='0' &&ch <='9') // Número {morseCodeSequence (números [ch - '0']); } else if (ch =='') // Espaço (esperar 4 vezes dotDelay {delay (wordDelay); // intervalo entre as palavras} else {} i ++; // Incrementar para o próximo elemento na matriz} delay (charDelay ); // lacuna entre letras} // =========================================================================//// Função:dorOrDash //// modificado de:Mike Myers (http://mikemyers.me) @ netnutmike // Entrada:caractere que deve ser um ponto ou um traço //// Descrição:// Esta função primeiro ativa a saída e, em seguida, verifica // se o caractere é um "." dotDelay.// // Se o caractere não for um ".", a rotina assume que // é um "-" e mantém a saída alta por 3 vezes o comprimento de // dotDelay. Isso pode ser melhorado certificando-se de que o // caractere é um "-", mas na maioria dos casos isso não importa.//// Após o tempo de atraso, o pino é baixado desligando o // tom.//// Em seguida, ele atrasa um ponto de atraso para que o pontos e travessões // não funcionam juntos.//=======================================================================void dotOrDash (char dotOrDash) {tom (TonePin, frequência); if (dotOrDash =='.') {delay (dotDelay); } else // deve ser um - {delay (dotDelay * 3); } noTone (TonePin); atraso (dotDelay); // intervalo entre flashes} 

Esquemas


Processo de manufatura

  1. Rádio
  2. Faca de caça
  3. Ataque OVNI!
  4. 3D RGB Arduclock
  5. MyRiver
  6. Joystick Game
  7. Encontre-me
  8. OXÍMETRO DE PULSO para uso de EMERGÊNCIA durante a DOENÇA DE CORONAVIRUS
  9. Health Band - Um Assistente Inteligente para Idosos
  10. Banco de capacitores na calculadora kVAR e µF para correção do fator de potência