Мазмуну:

Arduino Морзе кодун өткөргүч: 11 кадам
Arduino Морзе кодун өткөргүч: 11 кадам

Video: Arduino Морзе кодун өткөргүч: 11 кадам

Video: Arduino Морзе кодун өткөргүч: 11 кадам
Video: «Нағыз әке». Телехикая. 16-бөлім 2024, Ноябрь
Anonim
Arduino Morse коду өткөргүч
Arduino Morse коду өткөргүч
Arduino Morse коду өткөргүч
Arduino Morse коду өткөргүч

Бул көрсөтмөдө сиз Морзе кодунун өткөргүчүн түзүү үчүн Arduino Uno колдоносуз жана сиз жөнөткөн билдирүүлөрдү окуу үчүн сериялык мониторду колдоносуз.

Сизге керектүү тетиктер:

Arduino Uno

Breadboard

Коңгуроо

Баскычтар

Өткөргүч зымдар

1 -кадам: Нан тактаңызга кубат берүү

Нан тактаңызга кубат берүү
Нан тактаңызга кубат берүү

Arduino Unoңуздагы 5V пинден секиргич зымды нан тактаңыздагы оң сызыкка туташтырыңыз.

2 -кадам: Нан тактаңызды жерге коюңуз

Нан тактаңызды негиздеңиз
Нан тактаңызды негиздеңиз

Эми Arduinoдогу GND пиндеринин каалаганын зымыңызды панелиңиздеги терс сызыкка туташтырыңыз.

3 -кадам: Баскычыңызды кыстарыңыз

Баскычыңызды кыстарыңыз
Баскычыңызды кыстарыңыз

Баскычыңызды киргизиңиз. Анын эки буту нан бышыргычтын ортосунан каналдын ар бир тарабында жана буттары бекем салынганын текшериңиз. Күч басканда аларды бүгүү оңой, андыктан баскычты ылдый басканда кам көрүңүз.

4 -кадам: Баскычыңызды жерге коюңуз

Баскычыңызды жерге коюңуз
Баскычыңызды жерге коюңуз

Кнопканы жерге туташтырыңыз, анын бир четин баскычыңыздын жогорку буту менен бир катарга, экинчисин мурда жерге туташтырган терс сапка киргизиңиз.

5 -кадам: Сиздин баскычты туташтыруу

Сиздин баскычты туташтыруу
Сиздин баскычты туташтыруу

Баскычтын схемасын жабыңыз жана Arduino анын кирүүсүн төмөнкү баскычтын буту менен бир катардагы зымды туташтырып, Arduino боюнча 7 -пин туташтырыңыз.

6 -кадам: Буззериңизди салыңыз

Буззериңизди салыңыз
Буззериңизди салыңыз

Үстүңкү жагындагы "+" белгиси же бир аз узунураак бутуңуз 5Vга туташкан зымыңыздын бир жагында тургандай кылып, коңгуроону салыңыз.

7 -кадам: Буззерди жерге коюңуз

Буззерди жерге коюу
Буззерди жерге коюу

Кыска буту менен бир катардагы зым менен жерге баскычты жерге GND менен мурда туташкан нан тактасындагы терс сызыкка туташтырыңыз.

8 -кадам: Буззерди кубаттаңыз

Буззерди кубаттаңыз
Буззерди кубаттаңыз

Зумерди кубат менен камсыздап, Arduino аны Ардуиного 8 -пинге чейин узун буту менен бир катардагы зым менен башкарууга уруксат бериңиз.

9 -кадам: Кодуңузду жазыңыз

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

Биздин кодду көчүрүү жана чаптоо, же тиркелген файлды жүктөө.

статикалык String Морзе = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," E "};

статикалык чар Alphabet = {'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 коду үчүн outpu pin = ""; // бир алфавит сакталган сап

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

Serial.begin (9600); pinMode (баскыч, INPUT_PULLUP); // ички тартылуу каршылыгы pinMode чынжырын жөнөкөйлөтүү үчүн колдонулат (ызы -чуу, OUTPUT); Serial.println ("Билдирүүңүздү баштаңыз!"); }

боштук цикл ()

{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); // функциясы чекитти же сызыкты} окуп жатканда} ((миллис () - end_push) <500) // эгерде баскычтын ортосундагы убакыт 0,5сектан жогору басса, циклди өткөрүп, кийинки алфавитке өтүңүз {if (digitalRead (button) == LOW)) {goto MorseTransmission; }} Morse_translation (код); // кодду алфавитке ачуу функциясы}

char dot_or_dash (калкыма узундугу)

{if (length 50) {return '.'; // эгерде баскыч 0,6сектан аз басса, анда чекит} башка if (узундугу> 600) {return '-'; // эгерде баскыч 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 ("Error!"); // эгерде киргизүү коду эч бир тамга дал келбесе, ката}} код = ""; // бош сапка кодду кайра коюу}

10 -кадам: Чыгууңузду окуу үчүн Сериялык Мониторду колдонуңуз

Сериалдык мониторду колдонуп, жыйынтыгыңызды окуңуз!
Сериалдык мониторду колдонуп, жыйынтыгыңызды окуңуз!

Морзе кодун түзүү үчүн баскычты басканда билдирүүлөрүңүздү көрүү үчүн сериялык мониторду ачыңыз. Чекиттериңизди жана сызыкчаларыңызды ирээтке келтирүү үчүн жогорудагы көрсөтмөнү колдонуңуз!

11 -кадам: Дагы ушундай долбоорлорду каалайсызбы?

Ушул сыяктуу дагы долбоорлорду каалайсызбы?
Ушул сыяктуу дагы долбоорлорду каалайсызбы?

MakeCrate менен куруу үчүн айына 2-3 долбоордун бөлүктөрүн жана нускамаларды жана видеолорду алыңыз!

Сунушталууда: