Mündəricat:

Arduino Morse Kod Vericisi: 11 addım
Arduino Morse Kod Vericisi: 11 addım

Video: Arduino Morse Kod Vericisi: 11 addım

Video: Arduino Morse Kod Vericisi: 11 addım
Video: Как сделать радиопередатчик всего из 2 компонентов - отличная идея, которую вы раньше не видели 2024, Noyabr
Anonim
Arduino Morse Kod Vericisi
Arduino Morse Kod Vericisi
Arduino Morse Kod Vericisi
Arduino Morse Kod Vericisi

Bu təlimatda, Morze Kodu ötürücü yaratmaq üçün Arduino Uno istifadə edəcəksiniz və ötürdüyünüz mesajları oxumaq üçün serial monitordan istifadə edəcəksiniz.

Ehtiyac duyacağınız hissələr:

Arduino Uno

Çörək lövhəsi

Buzzer

Düymələr

Jumper telləri

Addım 1: Breadboardunuza Güc Verin

Breadboardunuza Güc Verin
Breadboardunuza Güc Verin

Arduino Uno üzərindəki 5V pinindən bir keçid telini çörək lövhənizdəki müsbət xəttə bağlayın.

Addım 2: Breadboardunuzu yerə qoyun

Breadboardunuzu əsaslandırın
Breadboardunuzu əsaslandırın

İndi Arduino üzərindəki hər hansı bir GND pinindən bir çörək taxtanızdakı mənfi xəttə bir tel bağlayın.

Addım 3: Düymənizi daxil edin

Düymənizi daxil edin
Düymənizi daxil edin

Düyməni daxil edin. Çanaq taxtanızın ortasındakı kanalın hər tərəfində iki ayağının olduğundan əmin olun və ayaqları möhkəm bir şəkildə daxil edilir. Bərk basdığınız zaman onları əymək asandır, buna görə düyməni aşağı basarkən diqqətli olun.

Addım 4: Düymənizi yerə qoyun

Düymənizi Yerə Qoyun
Düymənizi Yerə Qoyun

Bir ucunu düymənin yuxarı ayağı ilə eyni sıraya, digər ucunu isə əvvəllər yerə bağladığınız mənfi sıraya daxil edərək düyməni yerə bağlayın.

Addım 5: Düymənizi bağlayın

Düyməni bağlayın
Düyməni bağlayın

Düymə dövrəsini bağlayın və Arduinonun alt düymə ayağı ilə eyni cərgədən bir tel bağlayaraq Arduinonun 7 pinini bağlayaraq girişini oxumasına icazə verin.

Addım 6: Buzzerinizi daxil edin

Buzzerinizi daxil edin
Buzzerinizi daxil edin

Üstünüzdəki "+" işarəsi və ya biraz daha uzun ayağınız, 5V -ə qoşulmuş telinizlə çörək taxtasının eyni tərəfində olması üçün səs siqnalınızı daxil edin.

Addım 7: Buzzeri yerə qoyun

Buzzerin zəmini
Buzzerin zəmini

Düyməni daha qısa ayağı ilə eyni cərgədəki tel ilə əvvəllər GND -yə bağladığınız çörək taxtasındakı mənfi xətlə yerə bağlayın.

Addım 8: Buzzerə güc verin

Buzzerə güc verin
Buzzerə güc verin

Səs siqnalına güc verin və Arduinonun Arduino'ya 8 -ci pinlə bağlanması üçün uzun ayağı ilə eyni cərgədəki bir tel ilə idarə etməsinə icazə verin.

Addım 9: Kodunuzu yazın

Kodunuzu Yazın
Kodunuzu Yazın

Kodumuzu kopyalayın və yapışdırın və ya əlavə edilmiş faylı yükləyin.

statik String Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," E "};

statik simvol Əlifba = {'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', 'E'}; işarəsiz uzun push_length, start_push, end_push; // hansı düymənin basıldığı zaman int düyməsi = 7; // int buzzer düyməsini basmaq üçün giriş pin = 8; // LED String kodu üçün çıxış pin = ""; // bir əlifbanın saxlandığı sətir

boş quraşdırma () {

Serial.begin (9600); pinMode (düymə, INPUT_PULLUP); // daxili çəkmə rezistoru pinMode sxemini sadələşdirmək üçün istifadə olunur (səs siqnalı, ÇIXIŞ); Serial.println ("Mesajınıza başlayın!"); }

boşluq döngəsi ()

{MorseTransmission: while (digitalRead (düymə) == YÜKSEK) {} start_push = millis (); // düyməni basma zamanı tonu (səs siqnalı, 150); while (digitalRead (düymə) == LOW) {} end_push = millis (); // düyməni buraxma vaxtı noTone (səs siqnalı); push_length = end_push - start_push; // (push_length> 50) {// düyməsini silmək üçün hesaba keçmək üçün düyməni basıldığı vaxt += dot_or_dash (push_length); // nöqtə və ya tire} oxumaq funksiyası ((millis () - end_push) <500) // düymələr arasındakı vaxt 0,5 saniyədən çox olarsa, döngəni atın və növbəti əlifbaya keçin {if (digitalRead (düymə) == LOW)) {goto MorseTransmission; }} Morse_translation (kod); // kodu əlifbaya deşifr etmək funksiyası}

char dot_or_dash (üzmə uzunluğu)

{if (length 50) {return '.'; // düymə 0.6 saniyədən az bassa, nöqtə} başqa bir nöqtədir (uzunluq> 600) {qayıt '-'; // düyməyə 0,6 saniyədən çox basarsanız, bu tire}}

etibarsız Morse_translation (String morsecode)

{int i = 0; əgər (kod == ".-.-.-") {Serial.print ("."); // fasilə üçün} başqa {while (Morse ! = "E") // giriş kodunu hərflər dizisi ilə müqayisə etmək üçün loop {if (Morse == morsecode) {Serial.print (Alphabet ); fasilə; } i ++; } əgər (Morse == "E") {Serial.println ("Xəta!"); // əgər giriş kodu heç bir hərflə uyğun gəlmirsə, səhv}} code = ""; // kodu boş sətrə sıfırlayın}

Addım 10: Çıxışınızı oxumaq üçün Serial Monitordan istifadə edin

Çıxışınızı oxumaq üçün Serial Monitordan istifadə edin!
Çıxışınızı oxumaq üçün Serial Monitordan istifadə edin!

Morse Kodu yaratmaq üçün düyməni basarkən mesajlarınızı görmək üçün serial monitoru açın. Nöqtələrinizi və tirelarınızı uyğun şəkildə sıralamaq üçün yuxarıdakı bələdçidən istifadə edin!

Addım 11: Bunun kimi daha çox layihə istəyirsiniz?

Daha çox belə layihələr istəyirsiniz?
Daha çox belə layihələr istəyirsiniz?

MakeCrate ilə ayda 2-3 layihə üçün hissələr və təlimat və video əldə edin!

Tövsiyə: