Mục lục:

Hệ thống thông báo mã thông báo: 5 bước
Hệ thống thông báo mã thông báo: 5 bước

Video: Hệ thống thông báo mã thông báo: 5 bước

Video: Hệ thống thông báo mã thông báo: 5 bước
Video: Báo cáo đồ án tốt nghiệp - 9.5 2024, Tháng mười một
Anonim
Hệ thống thông báo mã thông báo
Hệ thống thông báo mã thông báo

Trong phần hướng dẫn trước, chúng ta đã biết cách tạo Arduino để nói. Hôm nay chúng ta sẽ khám phá thêm một chút về chủ đề tương tự. Tất cả chúng ta đều phải có một lúc nào đó trong đời bắt gặp hệ thống Thông báo có thể là trong ngân hàng hoặc nhà ga xe lửa. Bạn có bao giờ thắc mắc những hệ thống thông báo đó hoạt động như thế nào không? Chúng hoạt động trên nguyên tắc tương tự như dự án cuối cùng của chúng tôi. Vì vậy, hôm nay trong hướng dẫn này, chúng tôi sẽ tạo một Hệ thống thông báo mã thông báo có khả năng thông báo mã thông báo từ 1 đến 999, tức là có tổng số 999 mã thông báo (1000 nếu bạn bao gồm 0). Vì vậy, chúng ta hãy bắt đầu quá trình xây dựng !!!

Bước 1: Thu thập nguồn cung cấp

Thu thập các nguồn cung cấp
Thu thập các nguồn cung cấp
Thu thập các nguồn cung cấp
Thu thập các nguồn cung cấp
Thu thập các nguồn cung cấp
Thu thập các nguồn cung cấp

Này nếu bạn đang tìm kiếm một cửa hàng trực tuyến để mua các thành phần thì UTSource.net là trang web bạn cần xem. Họ có rất nhiều mô-đun và linh kiện điện tử với giá cả phải chăng. Họ cũng cung cấp Dịch vụ PCB cho tối đa 16 lớp. Kiểm tra trang web của họ.

Hãy xem các mô-đun chúng ta cần cho dự án này -

1. Bảng Arduino Uno

2. Bàn phím ma trận 4 * 4

3. Mô-đun thẻ SD

4. Giắc cắm âm thanh 3,5 mm

5. Loa tích hợp bộ khuếch đại và cáp AUX

6. Một số dây tiêu đề

Hầu hết các thành phần này đã được sử dụng trong các dự án trước đây của chúng tôi.

Bước 2: Sơ đồ mạch

Sơ đồ mạch
Sơ đồ mạch

Sơ đồ mạch cho dự án này giống hệt như trong dự án Talking Arduino. Sự khác biệt duy nhất là Bàn phím. Giao diện bàn phím khá đơn giản. Chỉ cần kết nối các hàng bàn phím với các chân của Arduino như hình trên.

(Bàn phím mà tôi sử dụng trong dự án này không giống như trong mạch vì tôi không tìm thấy cái phù hợp trong danh sách bộ phận của Fritzing. Vì vậy, hãy bỏ qua chân đầu tiên và chân cuối cùng của bàn phím trong mạch.)

Kết nối kênh bên trái và bên phải của Giắc cắm âm thanh với chân số 10 của Arduino. Và chân nối đất với mặt đất của Arduino.

Làm theo sơ đồ để thực hiện các kết nối còn lại.

Bước 3: Chuẩn bị tệp âm thanh

Chuẩn bị tệp âm thanh
Chuẩn bị tệp âm thanh
Chuẩn bị tệp âm thanh
Chuẩn bị tệp âm thanh

Bây giờ bạn phải ghi nhớ điều này rằng khi sử dụng mô-đun thẻ SD và thư viện TMRpcm, bạn chỉ có thể sử dụng định dạng âm thanh.wav. Không có định dạng âm thanh nào khác sẽ hoạt động.

Vì vậy, để chuyển đổi các tệp âm thanh đã ghi của bạn hoặc các tệp bạn định cài đặt trên thẻ SD, bạn phải sử dụng bộ chuyển đổi âm thanh trực tuyến này >> BẤM VÀO ĐÂY

Giữ các cài đặt cho chuyển đổi như trong hình trên.

Và nếu bạn muốn những giọng nói số hóa thú vị mà chúng ta nghe thấy trên các hệ thống thực, thì hãy kiểm tra trang web này để chuyển đổi văn bản thành giọng nói. Và sau đó chúng ta có thể tải xuống ở định dạng mp3, sau đó có thể chuyển đổi thành định dạng.wav từ trang web được đề cập ở trên.

NHẤN VÀO ĐÂY ĐỂ TRUY CẬP CÁC TRANG WEB

Bạn cũng có thể tải xuống các tệp âm thanh mà tôi đã sử dụng từ bên dưới. Vì vậy, với điều đó đã xong thời gian để lập trình bảng.

Bước 4: Mã hóa

Mã hóa
Mã hóa

Tải xuống tệp.ino từ bên dưới. Biên dịch và tải chương trình lên Bảng Arduino của bạn. Nếu bạn gặp bất kỳ vấn đề nào khi tải lên mã, vui lòng liên hệ với tôi hoặc để lại bình luận bên dưới. Tôi rất vui được giúp bạn.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const byte ROWS = 4; // bốn hàng const byte COLS = 4; // khóa ký tự bốn cột [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // kết nối với sơ đồ hàng của byte bàn phím colPins [COLS] = {9, 8, 7, 6}; // kết nối với sơ đồ cột của bàn phím Bàn phím bàn phím = Bàn phím (makeKeymap (các phím), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD thất bại"); trở lại; } / * tmrpcm.setVolume (5); tmrpcm.play ("ba.wav"); // Dùng để kiểm tra (Không đưa vào mã cuối cùng) delay (1000); * /} void loop () {Serial.println ("Nhập num gồm ba chữ số -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Chỉ đợi khóa} // Chờ khóa được phát hành while (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Đã gửi mã thông báo"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); chậm trễ (2000); đánh dấu(); } if (myNum [3] == 'B') {Serial.println ("Mã thông báo chưa được gửi"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg table"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("đóng"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); i = 0; } if (myNum [3] == 'D') {Serial.println ("Con"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); i = 0; }} void check () {for (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); chậm trễ (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); chậm trễ (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("hai.wav"); chậm trễ (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("ba.wav"); chậm trễ (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); chậm trễ (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); chậm trễ (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); chậm trễ (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("bảy.wav"); chậm trễ (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("Eight.wav"); chậm trễ (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); chậm trễ (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Nếu bạn thay đổi tên của các tệp âm thanh thì hãy đảm bảo rằng bạn cũng chỉnh sửa chúng trong mã. Sau đó, dự án của bạn đã sẵn sàng để được thử nghiệm. Hãy xem nó hoạt động như thế nào.

Bước 5: Làm việc của Dự án

Hoạt động của dự án
Hoạt động của dự án

Tôi đã tải lên một video về dự án bên dưới. Bạn có thể kiểm tra điều đó. Dự án đã hoạt động như mong đợi của tôi. Hạn chế duy nhất mà tôi gặp phải là không có màn hình hiển thị riêng cho dự án. Chúng tôi không thể giữ cho máy tính xách tay được kết nối mọi lúc. Trường hợp khác của nó nếu bạn làm việc trên máy tính xách tay cả ngày và có sẵn nhiều cổng USB.

Vì vậy, tôi muốn các bạn thêm một màn hình LCD (bất kỳ sẽ làm gì) trong dự án này và gửi cho tôi một liên kết của dự án đó.

Dự án này có thể được sử dụng trong văn phòng của bạn tại quầy lễ tân nếu bạn có nhiều người đến thăm hàng ngày.

Thêm một bộ nguồn và màn hình LCD riêng biệt sẽ làm cho dự án này trở nên độc lập. Tôi giao nhiệm vụ đó cho các bạn.

Nếu bạn thích công việc của tôi, hãy giúp tôi bằng cách chia sẻ các dự án của tôi trên các tay cầm truyền thông xã hội của bạn. Đó là nó cho bây giờ. Hẹn gặp lại các bạn với một dự án khác trong thời gian sớm nhất.

Đề xuất: