Proses manufaktur
| × | 1 | ||||
| × | 5 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
| ||||
|
Penggemar radio ham sering mencoba untuk menjaga keterampilan menemukan arah radio mereka tetap tajam dengan berlatih menemukan radio yang tersembunyi di suatu tempat yang jauh (disebut "rubah"). Keterampilan ini berguna untuk menemukan peralatan dan orang-orang dengan pemancar radio dan perlu ditemukan.
Proyek ini mengambil Arduino dan menggunakannya untuk menyalakan radio untuk mengirim dan kemudian mengirimkan ID stasiun (tanda panggilan operator radio ham) menggunakan kode Morse. Nada panjang kemudian dikirim. Saat mentransmisikan, lokasi sinyal radio dapat ditentukan.
Saya melakukan "perburuan rubah" pertama saya menggunakan pencarian arah radio di ARRL Teacher's Institute 2011 dan menyukainya (meskipun tim kami secara tidak sengaja menemukan "rubah" yang salah). Sepertinya itu akan menjadi kegiatan yang bagus untuk siswa sekolah menengah yang saya ajar di kelas sains saya. Sayangnya, membangun satu tampaknya terlalu rumit atau lebih mahal daripada yang bersedia saya keluarkan.
Namun, baru-baru ini, saya menyadari bahwa dengan radio 2 meter yang murah dan mikroprosesor yang dapat diprogram (seperti Arduino), saya dapat membuat "rubah" sendiri dengan biaya yang sangat murah, dan memiliki proyek pembelajaran musim panas yang menyenangkan.
Untuk proyek ini, saya menggunakan radio Baofeng UV-3R karena murah (dan saya tidak menggunakannya lagi), dan Arduino Uno. Saya berasumsi menggunakan radio yang berbeda dengan jack yang berbeda akan memerlukan langkah yang sama untuk menguji jack dan mikrofon, tetapi sirkuit dan sketsa Arduino akan sama kecuali untuk tanda panggilan radio operator.
Catatan: Skemanya tidak terlalu rumit daripada yang terlihat. Kapasitor mikrofarad .01 ditambahkan untuk mencegah rangkaian mengambil RFI (interferensi frekuensi radio) saat transmisi. Tanpa mereka, Arduino melakukan hal-hal yang tidak biasa dan tidak konsisten (sering restart) ketika radio ditransmisikan begitu dekat dengan sirkuit. Kapasitor lainnya adalah untuk menghaluskan gelombang persegi Arduino dan menjadikannya gelombang sinus sehingga terdengar lebih baik.
/*Oleh Nelson Farrier Aktifkan radio dan kirim nada Kunci radio Baofeng UV-3R dengan menghidupkan dan mematikan relai, lalu ID dan dan mengirimkan nada 5 detik. */ // Pin 12 terhubung ke relay.// Pin 13 terhubung ke rangkaian nada.// dimodifikasi dari:Mike Myers (http://mikemyers.me) @netnutmike// Let's Make It Episode 6 (http://mikemyers.me) ://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)// tentukan kode morse untuk alfabet dan angkachar* huruf[] ={ ".-", // 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* angka[] ={ "-----", // 0 ".----", // 1 "..--- ", // 2 "...--", // 3 "....-", // 4 ".....", // 5 "-....", // 6 " --...", // 7 "---..", // 8 "----." // 9 --- akhir segmen pertama kode pinjaman dari Mike Myers};int relay =12;int TonePin =13; int frekuensi =1000; // frekuensi toneint dotDelay =70; // durasi titik dalam kode morse, ini juga merupakan waktu antara titik dan tanda hubung charDelay =500; // durasi menunggu antar huruf untuk metode Farsnworthint wordDelay =1100; // durasi menunggu antar kata untuk metode Farsnworthint cycleDelay =15000; // SETENGAH durasinya karena nilai terbesarnya adalah 16383// rutinitas setup berjalan satu kali ketika Anda menekan reset:void setup() { // menginisialisasi pin digital sebagai output. pinMode(12, OUTPUT); pinMode(13, OUTPUT); penundaan(2000); // penundaan awal setelah dinyalakan}// rutinitas loop berjalan berulang-ulang selamanya:void loop() { digitalWrite(relay, HIGH); // nyalakan relai (TINGGI adalah level tegangan) delay(1000); // tunggu sebentar SendText("NF7Z FOX"); penundaan (1000); // tunggu nada kedua(TonePin, frekuensi); // kirim penundaan nada 7 detik(7000); tidakNada(NadaPin); penundaan (10000); // 10 detik mengirimkan tanpa nada digitalWrite(relay, LOW); // matikan relai dengan membuat penundaan tegangan LOW(cycleDelay); // tunggu waktu siklus (karena nilai terbesarnya adalah 16383) delay(cycleDelay); // tunggu waktu siklus}//==================================================================//// dimodifikasi dari:Mike Myers (http://mikemyers.me) @netnutmike// Fungsi:morseCodeSequence/ /// Input:Array Karakter Titik dan Garis yang akan dikirim //// Deskripsi:// Fungsi ini mengambil input array atau "." dan "-" dan// memanggil dotOrDash untuk setiap item dalam array.//// Di akhir urutan, ada penundaan 3 kali // durasi titik.//=================================================================void morseCodeSequence(char* sequence){ int i =0; // Loop untuk setiap elemen dalam array while (urutan[i] !=NULL) { dotOrDash(urutan[i]); // Kirim titik atau tanda hubung i++; // Kenaikan ke elemen berikutnya dalam array } delay(charDelay); // celah antar huruf}//=================================================================//// Fungsi:SendText//// Input:Karakter Array teks dalam bahasa Inggris//// Deskripsi:// Fungsi ini mengambil teks sebagai input dan mengirimkan kode Morse untuk setiap huruf.// Kemudian ada jeda setelah setiap huruf.////================================================================batalkan SendText(char* MorseCodeLetters ){ int i =0; karakter ch; // Loop untuk setiap elemen dalam array while (Surat KodeMor[i] !=NULL) { ch =KodeKodeMor[i]; // Apakah itu huruf kecil? if (ch>='a' &&ch <='z') { morseCodeSequence(huruf[ch - 'a']); } else if (ch>='A' &&ch <='Z') // Huruf Besar { morseCodeSequence(huruf[ch - 'A']); } else if (ch>='0' &&ch <='9') // Number { morseCodeSequence(angka[ch - '0']); } else if (ch ==' ') // Spasi (tunggu 4 kali dotDelay { delay(wordDelay); // gap antar kata } else { } i++; // Kenaikan ke elemen berikutnya dalam array } delay(charDelay ); // jarak antar huruf}//=================================================================//// Fungsi:dorOrDash//// dimodifikasi dari:Mike Myers (http://mikemyers.me) @netnutmike// Input:Karakter yang harus berupa titik atau tanda hubung//// Deskripsi:// Fungsi ini pertama-tama mengaktifkan output kemudian melihat // jika karakternya adalah "." dan jika demikian, menunda dotDelay.// // Jika karakternya bukan ".", maka rutin menganggapnya // adalah "-" dan menjaga output tetap tinggi selama 3 kali panjang// dotDelay. Ini dapat ditingkatkan dengan memastikan // karakter adalah "-" tetapi untuk kebanyakan kasus itu tidak masalah.//// Setelah waktu tunda pin diambil rendah mematikan nada //.//// Kemudian penundaan untuk satu waktu tunda titik sehingga titik dan garis // tidak berjalan bersama.//=================================================================void dotOrDash(char dotOrDash){ tone(TonePin, frekuensi); if (dotOrDash =='.') { delay(dotDelay); } else // harus berupa - { delay(dotDelay * 3); } noTone(Pin Nada); penundaan(dotDelay); // celah di antara kedipan}
Proses manufaktur
Komponen dan persediaan Arduino UNO × 1 Resistor 221 ohm Anda dapat menentukan nilai resistansi resistor, pastikan nilai resistansi tidak terlalu kecil × 3 LED (generik) Saya menggunakan led biru, merah, hijau. × 3 Breadboard (generik) × 1 Kabel jumper (
Komponen dan persediaan SparkFun Arduino Pro Mini 328 - 5V/16MHz Semua versi pengontrol mikro Arduino dapat digunakan. × 1 Sensor Ultrasonik - HC-SR04 (Generik) × 1 Buzzer × 1 Kabel jumper (generik) × 1 Kacamata hitam × 1 Alat dan mesin yan
Komponen dan persediaan Arduino Nano R3 × 1 Maxim Integrated MAX30102 Sensor Denyut Jantung dan Denyut Jantung × 1 Display DRobot Gravity I2C OLED-2864 × 1 Alat dan mesin yang diperlukan Printer 3D (generik) Besi solder (generik) Apli
Komponen dan persediaan Sensor Ultrasonik - HC-SR04 (Generik) × 2 Arduino Nano R3 × 1 Resistor foto × 1 Maxim Integrated 8x8 LED Matrix MAX7219 × 2 Ukuran Setengah Papan Tempat Memotong Roti Tanpa Solder × 1 Kabel jumper (generik) × 1