Სარჩევი:

არდუინოს მორსის კოდის გადამცემი: 11 ნაბიჯი
არდუინოს მორსის კოდის გადამცემი: 11 ნაბიჯი

ვიდეო: არდუინოს მორსის კოდის გადამცემი: 11 ნაბიჯი

ვიდეო: არდუინოს მორსის კოდის გადამცემი: 11 ნაბიჯი
ვიდეო: LEARN MORSE CODE from a MEMORY CHAMP (in 15 minutes) 2024, ივლისი
Anonim
არდუინოს მორსის კოდის გადამცემი
არდუინოს მორსის კოდის გადამცემი
არდუინოს მორსის კოდის გადამცემი
არდუინოს მორსის კოდის გადამცემი

ამ ინსტრუქციაში თქვენ გამოიყენებთ Arduino Uno– ს მორსის კოდის გადამცემის შესაქმნელად და სერიული მონიტორის გამოყენებით თქვენ მიერ გადაცემული შეტყობინებების წასაკითხად.

ნაწილები დაგჭირდებათ:

არდუინო უნო

პურის დაფა

ბუზერი

ღილაკები

ჯუმბერის მავთულები

ნაბიჯი 1: მიეცით ძალა თქვენს Breadboard- ს

მიეცით ძალა თქვენს Breadboard- ს
მიეცით ძალა თქვენს Breadboard- ს

შეაერთეთ ჯამპერის მავთული თქვენი Arduino Uno– ს 5V პინიდან დადებით დაფაზე.

ნაბიჯი 2: დაფქვით თქვენი პურის დაფა

დაფქვა შენი პურის დაფა
დაფქვა შენი პურის დაფა

ახლა დააკავშირეთ მავთული Arduino– ს ნებისმიერი GND ქინძისთავებიდან თქვენს პურის დაფაზე არსებულ უარყოფით ხაზზე.

ნაბიჯი 3: ჩადეთ თქვენი ღილაკი

ჩადეთ თქვენი ღილაკი
ჩადეთ თქვენი ღილაკი

ჩადეთ თქვენი ღილაკი. დარწმუნდით, რომ მისი ორი ფეხი არხის თითოეულ მხარეს არის თქვენი პურის დაფის შუაგულში და ფეხები მყარად არის ჩასმული. ადვილია მათი მოხრა, როდესაც ძლიერად დააჭირეთ, ასე რომ იზრუნეთ ღილაკზე დაჭერისას.

ნაბიჯი 4: დაფქვით თქვენი ღილაკი

დაფქვი შენი ღილაკი
დაფქვი შენი ღილაკი

დააკავშირეთ ღილაკი მიწასთან ერთად, ერთი ბოლო იმავე ღილაკზე ჩასვით, როგორც თქვენი ღილაკის ზედა ფეხი, ხოლო მეორე ბოლო ნეგატიურ რიგში, რომელსაც ადრე დაუკავშირდით მიწას.

ნაბიჯი 5: შეაერთეთ თქვენი ღილაკი

შეაერთეთ თქვენი ღილაკი
შეაერთეთ თქვენი ღილაკი

დახურეთ ღილაკის წრე და მიეცით საშუალება Arduino– ს წაიკითხოს მისი შეყვანა, მავთულის შეერთებით იმავე რიგიდან, როგორც ქვედა ღილაკის ფეხი, და მიამაგრეთ 7 Arduino– ზე.

ნაბიჯი 6: ჩადეთ თქვენი ბუზერი

ჩადეთ თქვენი Buzzer
ჩადეთ თქვენი Buzzer

ჩადეთ ზუზერი ისე, რომ "+" ნიშანი თავზე, ან ოდნავ გრძელი ფეხი, იყოს პურის დაფის იმავე მხარეს, როგორც თქვენი მავთული 5V- ზეა დაკავშირებული.

ნაბიჯი 7: დაფქვით ბუზერი

მიწისქვეშა ბუზერი
მიწისქვეშა ბუზერი

დააკავშირეთ ღილაკი მიწასთან მავთულხლართებით იმავე რიგიდან, როგორც მისი მოკლე ფეხი იმ უარყოფით ხაზზე, რომელიც თქვენ ადრე დაუკავშირეთ GND- ს.

ნაბიჯი 8: ჩართეთ Buzzer

ჩართეთ Buzzer
ჩართეთ Buzzer

მიეცით ძალა ზუზერს და მიეცით საშუალება არდუინოს გააკონტროლოს იგი იმავე რიგის მავთულით, როგორც მისი გრძელი ფეხი არდუინოს 8 -ზე.

ნაბიჯი 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'}; ხელმოუწერელი გრძელი ბიძგი_სიგრძე, დაწყების_წახნაგი, ბოლო_წახნაგი; // დრო, რომლისთვისაც დააჭირეთ ღილაკს int ღილაკს = 7; // შეყვანის პინი ღილაკზე int int buzzer = 8; // გამომავალი პინი LED სიმებიანი კოდისთვის = ""; // სტრიქონი, რომელშიც ინახება ერთი ანბანი

void setup () {

სერიული.დაწყება (9600); pinMode (ღილაკი, INPUT_PULLUP); // შიდა გამყვანი რეზისტორი გამოიყენება მიკროსქემის pinMode- ის გასამარტივებლად (ზარი, OUTPUT); Serial.println ("დაიწყე შენი შეტყობინება!"); }

ბათილი მარყუჟი ()

{MorseTransmission: while (digitalRead (ღილაკი) == HIGH) {} 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); // ფუნქცია წაკითხვის წერტილი ან ტირე} ხოლო ((millis () - end_push) <500) // თუ ღილაკს შორის დრო 0,5 წმ -ზე მეტია, გამოტოვეთ მარყუჟი და გადადით შემდეგ ანბანზე {if (digitalRead (button) == LOW) {goto MorseTransmission; }} მორსული_თარგმნა (კოდი); // ფუნქცია კოდის ანშიფრად გაშიფვრაზე}

char dot_or_dash (float length)

{თუ (სიგრძე 50) {დაბრუნება '.'; // თუ ღილაკს დააჭირეთ 0.6 წმ-ზე ნაკლები, ეს არის წერტილი} სხვაგან თუ (სიგრძე> 600) {დაბრუნება '-'; // თუ ღილაკზე დაჭერით 0,6 წმ -ზე მეტი, ეს არის ტირე}}

ბათილია მორსის_თარგმნა (სიმებიანი მორსის კოდი)

{int i = 0; if (კოდი == ".-.-.-") {Serial.print ("."); // for break} else {while (მორსი ! = "E") // მარყუჟი შეყვანის კოდის შესადარებლად ასოებით მასივი {if (მორსი == მორსკოდი) {Serial.print (ანბანი ); შესვენება; } i ++; } if (მორსი == "E") {Serial.println ("შეცდომა!"); // თუ შეყვანის კოდი არ ემთხვევა არცერთ ასოს, შეცდომა}} კოდი = ""; // გადატვირთეთ კოდი ცარიელ სტრიქონზე}

ნაბიჯი 10: გამოიყენეთ სერიული მონიტორი თქვენი შედეგის წასაკითხად

გამოიყენეთ სერიული მონიტორი თქვენი შედეგის წასაკითხად!
გამოიყენეთ სერიული მონიტორი თქვენი შედეგის წასაკითხად!

გახსენით სერიული მონიტორი თქვენი შეტყობინებების სანახავად მორზ კოდის შესაქმნელად ღილაკზე დაჭერისას. გამოიყენეთ ზემოთ მოცემული სახელმძღვანელო თქვენი წერტილებისა და ტირეების სათანადოდ თანმიმდევრობით!

ნაბიჯი 11: გსურთ მეტი მსგავსი პროექტი?

გსურთ მეტი მსგავსი პროექტი?
გსურთ მეტი მსგავსი პროექტი?

მიიღეთ ნაწილები თვეში 2-3 პროექტისთვის და ინსტრუქცია და ვიდეო მათ ასაშენებლად MakeCrate– ით!

გირჩევთ: