Мазмұны:

Arduino Morse коды таратқышы: 11 қадам
Arduino Morse коды таратқышы: 11 қадам

Бейне: Arduino Morse коды таратқышы: 11 қадам

Бейне: Arduino Morse коды таратқышы: 11 қадам
Бейне: Как использовать лазерный передатчик и лазерный датчик для Arduino 2024, Шілде
Anonim
Arduino Morse коды таратқышы
Arduino Morse коды таратқышы
Arduino Morse коды таратқышы
Arduino Morse коды таратқышы

Бұл нұсқаулықта сіз Морзе коды таратқышты жасау үшін Arduino Uno қолданасыз және сіз жіберген хабарларды оқу үшін сериялық мониторды қолданасыз.

Сізге қажет бөлшектер:

Ардуино Уно

Нан тақтасы

Зумер

Түймелер

Өткізгіш сымдар

1 -қадам: Электрондық тақтаға қуат беріңіз

Нан тақтасына қуат беріңіз
Нан тақтасына қуат беріңіз

Arduino Uno құрылғысындағы 5В түйреуіштен өтпелі сымды нан тақтасындағы оң сызыққа қосыңыз.

2 -қадам: Нан тақтасын қосыңыз

Нанға арналған тақтаны қосыңыз
Нанға арналған тақтаны қосыңыз

Енді Arduino -дағы GND түйреуіштерінің кез келгенінен сымды нан тақтасындағы теріс сызыққа қосыңыз.

3 -қадам: түймені енгізіңіз

Түймеңізді енгізіңіз
Түймеңізді енгізіңіз

Түймені енгізіңіз. Нан тақтасының ортасында оның екі аяғы арнаның әр жағында орналасқанына және аяқтары мықтап салынғанына көз жеткізіңіз. Қатты басқанда оларды бүгу оңай, сондықтан түймені басқан кезде абай болыңыз.

4 -қадам: түймені жерге қосыңыз

Түймеңізді жерге қосыңыз
Түймеңізді жерге қосыңыз

Түймені жерге қосыңыз, оның бір ұшын түйменің жоғарғы аяғымен бір қатарға, ал екінші ұшын бұрын жерге қосқан теріс жолға қосыңыз.

5 -қадам: түймені қосыңыз

Түймеңізді қосыңыз
Түймеңізді қосыңыз

Түймелер тізбегін жабыңыз және Arduino -ға төменгі түйменің аяғы мен Arduino -дағы 7 -ші қатардағы сымды қосу арқылы оның кіруін оқуға рұқсат етіңіз.

6 -қадам: Дабыл сигналын енгізіңіз

Дабыл сигналын енгізіңіз
Дабыл сигналын енгізіңіз

Жоғарғы жағындағы «+» белгісі немесе сәл ұзағырақ аяғы 5В -қа қосылған сыммен бірге тақтаның бір жағында болатындай етіп дыбыстық сигналды енгізіңіз.

7 -қадам: Зумерді жерге қосыңыз

Зумерді жерге қосыңыз
Зумерді жерге қосыңыз

Түймені қысқа аяғымен бір қатардағы сыммен жерге бұрын GND -ге қосқан тақтадағы теріс сызыққа қосыңыз.

8 -қадам: Дабыл сигналын қосыңыз

Зумерді қосыңыз
Зумерді қосыңыз

Дыбыстық сигналға қуат беріңіз және Arduino -ға оны Arduino -ға 8 -ші штырға дейін ұзын аяғымен бір қатардағы сыммен басқаруға рұқсат етіңіз.

9 -қадам: кодты жазыңыз

Кодты жазыңыз
Кодты жазыңыз

Біздің кодты көшіріп, қойыңыз немесе тіркелген файлды жүктеңіз.

статикалық String Morse = {«.-», «-…», «-.-.», «-..», «.», «..-.», «-.», «…. «,».. «,».--- «,» -.- «,».-.. «,»-«,»-. «,» --- «,».--. «, «--.-», «.-.», «…», «-», «..-», «…-», «.--», «-..-», «-.-- «,»-.. «,» E «};

Алфавит статикалық таңбасы = {'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'}; қол қойылмаған ұзын push_length, start_push, end_push; // int батырмасы басылатын уақыт = 7; // int buzzer түймесін басу үшін кіріс түйреуіш = 8; // LED String коды үшін шығыс түйреуіші = «»; // бір алфавит сақталатын жол

жарамсыз орнату () {

Serial.begin (9600); pinMode (түйме, INPUT_PULLUP); // ішкі тартылу резисторы pinMode схемасын жеңілдету үшін қолданылады (дыбыстық сигнал, OUTPUT); Serial.println («Хабарламаңызды бастаңыз!»); }

бос цикл ()

{MorseTransmission: while (digitalRead (түйме) == ЖОҒАРЫ) {} start_push = millis (); // түймені басу кезіндегі уақыт (дыбыстық сигнал, 150); while (digitalRead (түйме) == LOW) {} end_push = millis (); // түймені босату уақыты noTone (дыбыстық сигнал); push_length = end_push - start_push; // егер (push_length> 50) {// батырманы басу уақытын есепке алу коды += dot_or_dash (push_length); // нүкте немесе сызықша} функциясын оқу кезінде} ((миллис () - end_push) <500) // егер түймешіктер арасындағы уақыт 0,5 секундтан жоғары болса, циклды өткізіп, келесі алфавитке өтіңіз {if (digitalRead (түйме) == LOW) {goto MorseTransmission; }} Морзе_трансляциясы (код); // кодты алфавитке ашу функциясы}

char dot_or_dash (өзгермелі ұзындық)

{if (length 50) {return '.'; // егер түймені басу 0,6 секундтан аз болса, онда бұл нүкте} else if (ұзындығы> 600) {қайтару '-'; // егер түйме 0,6 секундтан артық басылса, бұл сызықша}}

жарамсыз Morse_translation (String morsecode)

{int i = 0; if (code == «.-.-.-») {Serial.print («.»); // үзіліс үшін} else {while (Morse ! = «E») // кіріс кодын әріптер массивімен салыстыруға арналған цикл {if (Morse == morsecode) {Serial.print (Alphabet ); үзіліс; } i ++; } if (Morse == «E») {Serial.println («Қате!»); // егер кіріс коды ешқандай әріпке сәйкес келмесе, қателік}} code = «»; // кодты бос жолға қалпына келтіру}

10 -қадам: Шығарылымды оқу үшін сериялық мониторды пайдаланыңыз

Шығу нәтижесін оқу үшін сериялық мониторды қолданыңыз!
Шығу нәтижесін оқу үшін сериялық мониторды қолданыңыз!

Морзе кодын жасау үшін түймені басқанда, хабарламаларды көру үшін сериялық мониторды ашыңыз. Нүктелер мен сызықтарды сәйкес ретке келтіру үшін жоғарыдағы нұсқаулықты пайдаланыңыз!

11 -қадам: Осындай жобалар көбірек болғанын қалайсыз ба?

Тағы да осындай жобалар қажет пе?
Тағы да осындай жобалар қажет пе?

Айына 2-3 жобаның бөлшектерін және MakeCrate көмегімен оларды құру бойынша нұсқаулар мен бейнені алыңыз!

Ұсынылған: