Съдържание:

Предавател на азбука на азбуката на Ардуино: 11 стъпки
Предавател на азбука на азбуката на Ардуино: 11 стъпки

Видео: Предавател на азбука на азбуката на Ардуино: 11 стъпки

Видео: Предавател на азбука на азбуката на Ардуино: 11 стъпки
Видео: 3 НАБОРА ДЛЯ НАЧИНАЮЩИХ РАДИОЛЮБИТЕЛЕЙ | АЗБУКА ЭЛЕКТРОНЩИКА 2024, Ноември
Anonim
Предавател на азбука на азбуката на Ардуино
Предавател на азбука на азбуката на Ардуино
Предавател на азбука на азбуката на Ардуино
Предавател на азбука на азбуката на Ардуино

В тази инструкция ще използвате Arduino Uno, за да създадете предавател на азбуката на Морз и да използвате серийния монитор, за да прочетете съобщенията, които сте предали.

Части, от които се нуждаете:

Arduino Uno

Платка

Звуков сигнал

Бутони

Кабелни проводници

Стъпка 1: Осигурете захранване на вашата дъска

Осигурете захранване на вашата дъска
Осигурете захранване на вашата дъска

Свържете джъмпер проводник от 5V щифт на вашия Arduino Uno към положителната линия на вашата дъска.

Стъпка 2: Заземете вашата дъска

Заземете вашата дъска
Заземете вашата дъска

Сега свържете проводник от всеки от щифтовете GND на Arduino към отрицателната линия на вашата дъска.

Стъпка 3: Поставете своя бутон

Вмъкнете своя бутон
Вмъкнете своя бутон

Поставете своя бутон. Уверете се, че два от краката му са от всяка страна на канала по средата на дъската и че краката са поставени здраво. Лесно е да ги огънете, когато натиснете силно, така че внимавайте, докато натискате бутона надолу.

Стъпка 4: Заземете бутона

Заземете копчето си
Заземете копчето си

Свържете бутона към земята, като вмъкнете единия край в същия ред като горния крак на вашия бутон, а другия край в отрицателния ред, който преди това сте свързали към земята.

Стъпка 5: Свържете вашия бутон

Свържете своя бутон
Свържете своя бутон

Затворете веригата на бутоните и оставете Arduino да прочете входа си, като свържете проводник от същия ред като долния крак на бутона и щифт 7 на Arduino.

Стъпка 6: Поставете вашия зумер

Поставете вашия зумер
Поставете вашия зумер

Поставете зумера си така, че знакът „+“в горната част или малко по -дългият крак да са от същата страна на макета като проводника, свързан към 5V.

Стъпка 7: Заземете зумера

Заземете зумера
Заземете зумера

Свържете бутона към земята с проводник от същия ред като неговия по -къс крак към отрицателната линия на макета, който преди това сте свързали към GND.

Стъпка 8: Включете зумера

Включете зумера
Включете зумера

Осигурете захранване на зумера и позволете на Arduino да го контролира с проводник от същия ред като по -дългия си крак към щифт 8 на Arduino.

Стъпка 9: Напишете своя код

Напишете своя код
Напишете своя код

Копирайте и поставете нашия код или изтеглете прикачения файл.

статичен низ на Морс = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," 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'}; unsigned long push_length, start_push, end_push; // време, за което бутонът е натиснат int button = 7; // входен щифт за бутон бутон int зумер = 8; // изходен извод за LED String code = ""; // низ, в който се съхранява една азбука

void setup () {

Serial.begin (9600); pinMode (бутон, INPUT_PULLUP); // вътрешен издърпващ резистор се използва за опростяване на веригата pinMode (зумер, OUTPUT); Serial.println ("Започнете съобщението си!"); }

void loop ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // време на тона на натискане на бутон (зумер, 150); while (digitalRead (button) == LOW) {} end_push = millis (); // време на освобождаване на бутона noTone (зумер); push_length = end_push - start_push; // времето, за което бутонът е натиснат, ако (push_length> 50) {// за да се отчете кодът за премахване на превключвателя += dot_or_dash (push_length); // функция за четене на точка или тире} while ((millis () - end_push) <500) // ако времето между натискането на бутона е по -голямо от 0.5sec, пропуснете цикъла и преминете към следващата азбука {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morse_translation (код); // функция за дешифриране на кода в азбука}

char dot_or_dash (плаваща дължина)

{if (дължина 50) {return '.'; // ако бутонът е натиснат по-малко от 0.6sec, това е точка} else if (дължина> 600) {return '-'; // ако бутонът е натиснат повече от 0,6 сек, това е тире}}

void Morse_translation (Низ на Morsecode)

{int i = 0; if (код == ".-.-.-") {Serial.print ("."); // за прекъсване} else {while (Morse ! = "E") // цикъл за сравняване на входния код с буквен масив {if (Morse == morsecode) {Serial.print (Азбука ); прекъсване; } i ++; } if (Morse == "E") {Serial.println ("Грешка!"); // ако входният код не съвпада с нито една буква, грешка}} код = ""; // нулиране на кода на празен низ}

Стъпка 10: Използвайте серийния монитор, за да прочетете вашия изход

Използвайте серийния монитор, за да прочетете вашия изход!
Използвайте серийния монитор, за да прочетете вашия изход!

Отворете серийния монитор, за да видите съобщенията си, докато натискате бутона, за да създадете азбука на Морз. Използвайте ръководството по -горе, за да подредите правилно точките и тиретата!

Стъпка 11: Искате ли още подобни проекти?

Искате ли още подобни проекти?
Искате ли още подобни проекти?

Вземете части за 2-3 проекта на месец и инструкции и видео, за да ги изградите с MakeCrate!

Препоръчано: