Mundarija:

Arduino Morse kod uzatuvchisi: 11 qadam
Arduino Morse kod uzatuvchisi: 11 qadam

Video: Arduino Morse kod uzatuvchisi: 11 qadam

Video: Arduino Morse kod uzatuvchisi: 11 qadam
Video: Как использовать лазерный передатчик и лазерный датчик для Arduino 2024, Noyabr
Anonim
Arduino Morse kodini uzatuvchi
Arduino Morse kodini uzatuvchi
Arduino Morse kodini uzatuvchi
Arduino Morse kodini uzatuvchi

Bu yo'riqnomada siz Arduino Uno -dan foydalanib, Morze kodli uzatgichni yaratasiz va siz uzatgan xabarlarni o'qish uchun ketma -ket monitordan foydalanasiz.

Sizga kerak bo'lgan qismlar:

Arduino Uno

Non paneli

Buzzer

Tugmalar

Jumper simlari

1 -qadam: O'zingizning elektron jadvalingizni quvvat bilan ta'minlang

O'zingizning elektron jadvalingizni quvvat bilan ta'minlang
O'zingizning elektron jadvalingizni quvvat bilan ta'minlang

Arduino Uno -dagi 5V -pinli o'tish simini non panelidagi ijobiy chiziqqa ulang.

2 -qadam: O'zingizning taxtangizni joylashtiring

O'zingizning taxtangizni joylashtiring
O'zingizning taxtangizni joylashtiring

Endi Arduino -dagi GND pinlaridan birining simini non panelidagi manfiy chiziqqa ulang.

3 -qadam: tugmachani joylashtiring

Tugmani kiriting
Tugmani kiriting

Tugmani kiriting. Uning ikkita oyog'i kanalning har ikki tomonida, non paneli o'rtasida joylashganligiga va oyoqlari mahkam o'rnatilganligiga ishonch hosil qiling. Qattiq bosganingizda ularni egish oson, shuning uchun tugmani bosganingizda ehtiyot bo'ling.

4 -qadam: tugmachani erga qo'ying

Tugmachani bosing
Tugmachani bosing

Tugmani erga ulang, uning bir uchini tugmachaning yuqori oyog'i bilan bir qatorga, ikkinchi uchini esa ilgari erga ulangan manfiy qatorga qo'ying.

5 -qadam: tugmachani ulang

Tugmani ulang
Tugmani ulang

Tugmalar sxemasini yoping va Arduino -ning pastki tugmachasi bilan bir qatorda simni va Arduino -dagi 7 -pinni ulab, kirishini o'qishiga ruxsat bering.

6 -qadam: Buzzerni joylashtiring

Buzzerni joylashtiring
Buzzerni joylashtiring

Ovozli signalni tepadagi "+" belgisi yoki bir oz uzunroq oyog'i 5V ga ulangan simingiz bilan bir xil bo'lishi uchun joylashtiring.

7 -qadam: Buzzerni erga qo'ying

Buzzerni erga qo'ying
Buzzerni erga qo'ying

Qisqa oyog'i bilan bir qatorda joylashgan sim bilan tugmachani erga oldindan GND ga ulangan non panelidagi salbiy chiziqqa ulang.

8 -qadam: Buzzerni yoqing

Buzzerni yoqing
Buzzerni yoqing

Qo'ng'iroqni quvvat bilan ta'minlang va Arduino -ni Arduino -ga 8 -pinli uzun oyog'i bilan bir qatorda sim bilan boshqarishga ruxsat bering.

9 -qadam: Kodingizni yozing

O'z kodingizni yozing
O'z kodingizni yozing

Kodimizni nusxa ko'chiring va joylashtiring yoki biriktirilgan faylni yuklab oling.

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

Alfavitning statik belgisi = {'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'}; imzosiz uzun push_length, start_push, end_push; // qaysi tugmani bosish vaqti int tugmasi = 7; // int buzzer tugmasi uchun kirish pimi = 8; // LED String kodi uchun chiqish pin = ""; // bitta alifbo saqlanadigan satr

bo'sh o'rnatish () {

Serial.begin (9600); pinMode (tugma, INPUT_PULLUP); // pinMode sxemasini soddalashtirish uchun ichki tortish qarshiligi ishlatiladi (signal, OUTPUT); Serial.println ("Xabaringizni boshlang!"); }

bo'sh halqa ()

{MorseTransmission: while (digitalRead (tugma) == YUQORI) {} start_push = millis (); // tugmani bosish vaqti (buzzer, 150); while (digitalRead (tugma) == LOW) {} end_push = millis (); // tugmachani bo'shatish vaqti noTone (buzzer); push_length = end_push - start_push; // tugmani bosish vaqti, agar (push_length> 50) {// hisobni o'chirish kodini hisobga olish uchun += dot_or_dash (push_length); // nuqta yoki tire} o'qish funktsiyasi} ((millis () - end_push) <500) // agar tugmalar orasidagi vaqt 0,5 sekunddan oshsa, pastadirni o'tkazib, keyingi alifboga o'ting {if (digitalRead (tugma) == LOW)) {goto MorseTransmission; }} Morse_translation (kod); // kodni alifboga hal qilish funktsiyasi}

char dot_or_dash (suzuvchi uzunlik)

{if (length 50) {return '.'; // agar tugma 0,6 sekunddan kam bosilsa, bu nuqta} boshqa if (uzunlik> 600) {qaytish '-'; // agar tugma 0,6 soniyadan ko'proq bosilsa, bu chiziqcha}}

bekor Morse_translation (String morsecode)

{int i = 0; agar (kod == ".-.-.-") {Serial.print ("."); // tanaffus uchun} else {while (Morse ! = "E") // kirish kodini harflar qatori bilan taqqoslash uchun loop {if (Morse == morsecode) {Serial.print (Alfavit ); tanaffus; } i ++; } agar (Morse == "E") {Serial.println ("Xato!"); // agar kirish kodi hech qanday harfga mos kelmasa, xato}} code = ""; // kodni bo'sh qatorga qaytarish}

10 -qadam: Chiqish natijalarini o'qish uchun ketma -ket monitordan foydalaning

Chiqishlarni o'qish uchun ketma -ket monitordan foydalaning!
Chiqishlarni o'qish uchun ketma -ket monitordan foydalaning!

Xabarlarni ko'rish uchun ketma -ket monitorni oching va Morse kodini yaratish tugmachasini bosing. Nuqta va chiziqlarni to'g'ri tartiblash uchun yuqoridagi qo'llanmadan foydalaning!

11 -qadam: Siz shunga o'xshash loyihalarni xohlaysizmi?

Yana shunga o'xshash loyihalarni xohlaysizmi?
Yana shunga o'xshash loyihalarni xohlaysizmi?

MakeCrate yordamida oyiga 2-3 ta loyihaning qismlarini va ko'rsatmalar va videolarni oling!

Tavsiya: