Mục lục:

Bộ phát mã Arduino Morse: 11 bước
Bộ phát mã Arduino Morse: 11 bước

Video: Bộ phát mã Arduino Morse: 11 bước

Video: Bộ phát mã Arduino Morse: 11 bước
Video: Giải Mã Remote RF Bằng Arduino Uno R3 | Thực Hành Arduino | Điện tử DAT 2024, Tháng mười một
Anonim
Bộ phát mã Arduino Morse
Bộ phát mã Arduino Morse
Bộ phát mã Arduino Morse
Bộ phát mã Arduino Morse

Trong hướng dẫn này, bạn sẽ sử dụng Arduino Uno để tạo bộ phát Mã Morse và sử dụng trình theo dõi nối tiếp để đọc các thông báo bạn đã truyền.

Các bộ phận bạn sẽ cần:

Arduino Uno

Breadboard

Buzzer

nút

Dây nhảy

Bước 1: Cung cấp nguồn cho Breadboard của bạn

Cung cấp nguồn cho Breadboard của bạn
Cung cấp nguồn cho Breadboard của bạn

Kết nối dây jumper từ chân 5V trên Arduino Uno của bạn với dây dương trên bảng mạch của bạn.

Bước 2: Nối đất cho Breadboard của bạn

Nối đất cho Breadboard của bạn
Nối đất cho Breadboard của bạn

Bây giờ kết nối dây từ bất kỳ chân GND nào trên Arduino với đường âm trên bảng mạch của bạn.

Bước 3: Chèn nút của bạn

Chèn nút của bạn
Chèn nút của bạn

Chèn nút của bạn. Đảm bảo rằng hai chân của nó ở mỗi bên của kênh xuống giữa breadboard của bạn và các chân được lắp vào một cách chắc chắn. Bạn có thể dễ dàng uốn cong chúng khi bạn ấn mạnh, vì vậy hãy cẩn thận trong khi ấn nút xuống.

Bước 4: Tiếp đất nút của bạn

Nút nối đất của bạn
Nút nối đất của bạn

Kết nối nút với mặt đất bằng cách chèn một đầu vào cùng hàng với chân trên cùng của nút và đầu kia vào hàng phủ định mà bạn đã kết nối với đất trước đó.

Bước 5: Kết nối nút của bạn

Kết nối nút của bạn
Kết nối nút của bạn

Đóng mạch nút và cho phép Arduino đọc đầu vào của nó bằng cách kết nối dây từ cùng hàng với chân nút dưới cùng và chân 7 trên Arduino.

Bước 6: Chèn Buzzer của bạn

Chèn Buzzer của bạn
Chèn Buzzer của bạn

Chèn bộ rung sao cho dấu "+" ở trên cùng hoặc chân dài hơn một chút, ở cùng phía của bảng mạch với dây của bạn được kết nối với 5V.

Bước 7: Nối đất cho Buzzer

Nối đất cho Buzzer
Nối đất cho Buzzer

Nối nút với đất bằng dây từ cùng hàng với chân ngắn hơn của nó với dây âm trên bảng mạch mà bạn đã kết nối trước đó với GND.

Bước 8: Cấp nguồn cho Buzzer

Cấp nguồn cho Buzzer
Cấp nguồn cho Buzzer

Cung cấp nguồn cho bộ rung và cho phép Arduino điều khiển nó bằng một dây từ cùng hàng với chân dài hơn của nó đến chân 8 trên Arduino.

Bước 9: Viết mã của bạn

Viết mã của bạn
Viết mã của bạn

Sao chép và dán mã của chúng tôi hoặc tải xuống tệp đính kèm.

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

static char 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'}; unsigned long push_length, start_push, end_push; // thời gian nút nào được nhấn int button = 7; // chân nhập cho nút nhấn int buzzer = 8; // chân outpu cho LED String code = ""; // chuỗi trong đó một bảng chữ cái được lưu trữ

void setup () {

Serial.begin (9600); pinMode (nút, INPUT_PULLUP); // điện trở pullup bên trong được sử dụng để đơn giản hóa mạch pinMode (buzzer, OUTPUT); Serial.println ("Bắt đầu tin nhắn của bạn!"); }

void loop ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // âm báo thời gian tại nút bấm (buzzer, 150); while (digitalRead (button) == LOW) {} end_push = millis (); // lúc thả nút noTone (buzzer); push_length = end_push - start_push; // thời gian cho nút nào được nhấn if (push_length> 50) {// tính đến mã gỡ lỗi chuyển đổi + = dot_or_dash (push_length); // hàm đọc dấu chấm hoặc dấu gạch ngang} while ((millis () - end_push) <500) // nếu thời gian giữa các lần nhấn nút lớn hơn 0,5 giây, bỏ qua vòng lặp và chuyển đến bảng chữ cái tiếp theo {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morse_translation (mã); // hàm giải mã thành bảng chữ cái}

char dot_or_dash (float length)

{if (chiều dài 50) {return '.'; // nút if nhấn dưới 0,6 giây, nó là dấu chấm} else if (length> 600) {return '-'; // nếu nút nhấn hơn 0,6 giây, nó là một dấu gạch ngang}}

void Morse_translation (Chuỗi morsecode)

{int i = 0; if (mã == ".-.-.-") {Serial.print ("."); // for break} else {while (Morse ! = "e") // vòng lặp để so sánh mã đầu vào với mảng chữ cái {if (Morse == morsecode) {Serial.print (Alphabet ); nghỉ; } i ++; } if (Morse == "E") {Serial.println ("Lỗi!"); // nếu mã đầu vào không khớp với bất kỳ chữ cái nào, lỗi}} code = ""; // đặt lại mã thành chuỗi trống}

Bước 10: Sử dụng Serial Monitor để đọc đầu ra của bạn

Sử dụng Màn hình nối tiếp để đọc đầu ra của bạn!
Sử dụng Màn hình nối tiếp để đọc đầu ra của bạn!

Mở màn hình nối tiếp để xem các tin nhắn của bạn khi bạn nhấn nút để tạo Mã Morse. Sử dụng hướng dẫn ở trên để sắp xếp thứ tự các dấu chấm và dấu gạch ngang của bạn một cách thích hợp!

Bước 11: Muốn có nhiều dự án như thế này?

Muốn có nhiều dự án như thế này?
Muốn có nhiều dự án như thế này?

Nhận các phần cho 2-3 dự án mỗi tháng và hướng dẫn và video để xây dựng chúng với MakeCrate!

Đề xuất: