MÁY NÓI XIN CHÀO

Tóm tắt ý tưởng

Máy Nói Xin Chào – Greeting Machine là thiết bị thường thấy trong các cửa hàng dịch vụ, nó có thể phát câu xin chào hoặc đơn giản hơn là tiếng chuông “kính cong” chào mừng khi khách hàng đi vào.

Dự án này sẽ thực hiện một phiên bản máy nói xin chào “cải tiến” với nhiều tính năng vượt trội: phân biệt ra / vào, đếm số lượt khách hàng và đo dung lượng hiện tại của phòng, dự án được thực hiện bằng các phần cứng Robotics của MakerEdu với những thao tác lắp đặt và lâp trình vô cùng đơn giản.

Mô tả công dụng

  • Phân biệt được khách hàng ra / vào cửa hàng bằng việc kết hợp 2 cảm biến vật cản hồng ngoại.
  • Phát ra âm thanh xin chào / tạm biệt tương ứng với khách đi ra / vào.
  • Đếm số lượng khách vào (check in) của cửa hàng.
  • Hiển thị dung lượng của phòng (số lượng khách hàng trong cửa hàng) hiện tại.

Danh sách vật dụng

Vật dụng  Hình ảnh Chức năng / Chuẩn giao tiếp

Mạch MakerEdu Creator (x1)

Mạch điều khiển trung tâm, tương thích Arduino Uno, giao tiếp với máy tính qua cổng USB
Mạch hiển thị MKE-M07 LCD1602 I2C module (x1)
 

Màn hình hiển thị thông tin, chuẩn giao tiếp I2C

Cảm Biến Vật Cản Hồng Ngoại E18-D80NK (x2)

Cảm biến vật cản phía trước bằng tia hồng ngoại trong khoảng tối đa 80cm, chuẩn giao tiếp Digital

Mạch phát âm thanh MKE-M11 UART control MP3 Player module (x1) Mạch phát âm thanh MP3 từ thẻ nhớ, chuẩn giao tiếp Digital UART
Cáp Kết Nối MakerEDU XH2.54 4Wires (x2)

Cáp kết nối phần cứng MakerEdu.vn chuẩn XH2.54 4 dây
Cáp USB Type-C Cable 1m – Hshop.vn (x1)

Cáp USB-C kết nối mạch MakerEdu Creator với máy tính

Flowchart

Hướng dẫn kết nối

LƯU Ý QUAN TRỌNG: CẦN XOÁ CHƯƠNG TRÌNH CŨ TRÊN MẠCH VIETDUINO TRƯỚC KHI THỰC HIỆN KẾT NỐI VỚI CÁC PHẦN CỨNG MỚI ĐỂ TRÁNH CÁC XUNG ĐỘT CÓ THỂ LÀM HƯ HỎNG MẠCH!!!

  • Bước 1: Xoá chương trình cũ có sẵn trên mạch Vietduino trước khi thực hiện kết nối các phần cứng mới.
  • Bước 2: Lắp Shield lên mạch Vietduino Uno
  • Bước 3: Kết nối các phần cứng theo sơ đồ sau:

  • Bước 4: Tạo file MP3 trong thẻ nhớ theo cú pháp 0001-000x và lắp đặt thẻ nhớ vào mạch phát âm thanh MP3.

[000X_Nội Dung File][Định dạng MP3, WMA,…]

Hướng dẫn lập trình Mblock for Arduino

LƯU Ý QUAN TRỌNG: TRƯỚC KHI THỰC HIỆN CẦN CÀI ĐẶT PHẦN MỀM MBLOCK, CẤU HÌNH PHẦN MỀM VỚI MẠCH VIETDUINO UNO VÀ CÀI ĐẶT CÁC EXTENSION CỦA MAKEREDU.VN THEO HƯỚNG DẪN TẠI ĐÂY

Khai Báo Biến

***Lưu ý: Khi khai báo các biến nếu có “int_” phía trước tên biến sẽ là kiểu số nguyên (Integer), mặc định nếu không có sẽ là kiểu số thực (Float).

Hình Thành Các Bộ Phận Code

Code Hoàn Chỉnh

***Link dự án tại Mblock: MÁY NÓI XIN CHÀO – Mblock Community

Giải thích code

Phân loại   Khối lệnh  Chức năng 
Events Bắt đầu chương trình
Control Lặp lại mãi mãi
Thực hiện đoạn mã các tập lệnh trong khối này nếu các điều kiện chỉ định được đáp ứng
Chờ một khoảng thời gian bao nhiêu giây
Đợi cho đến khi
Pin Đọc tín hiệu Digital
Operators Cả hai mệnh đề điều kiện đều đúng
Ghép hai chuỗi lại với nhau
Phép so sánh bằng nhau
Phép so sánh lớn hơn
Variables Tăng / giảm biến một giá trị nhất định
MKE-M07,08 Xóa nội dung hiển thị trên màn hình LCD
In dòng chữ hiển thị trên màn hình LCD
MKE-M11 Phát âm thanh từ file trong thẻ nhớ

Hướng dẫn lập trình Arduino

LƯU Ý QUAN TRỌNG: TRƯỚC KHI THỰC HIỆN CẦN CÀI ĐẶT PHẦN MỀM ARDUINO, CẤU HÌNH PHẦN MỀM VỚI MẠCH VIETDUINO UNO VÀ CÀI ĐẶT BỘ THƯ VIỆN CỦA MAKEREDU.VN THEO HƯỚNG DẪN TẠI ĐÂY

// Include library
// Cai dat thu vien
#include <SoftwareSerial.h>
#include "LiquidCrystal_I2C.h"
#include "MKL_DFRobotDFPlayerMini.h"

// Define connected sensor pin
// Dat ten cong ket noi cho cam bien
#define  SENSOR1_PIN    11
#define  SENSOR2_PIN    10

// Initialize DFPlayer Mini on the second serial port on RX and TX pins 
// Khoi tao DFPlayer Mini qua cong ket noi noi tiep tren hai chan RX va TX
SoftwareSerial mySoftwareSerial(13, 12); 
DFRobotDFPlayerMini myDFPlayer; 
// Set the LCD address to 0x27 for a 16 chars and 2 line display
// Thiet lap dia chi LCD 0x27 de hien thi 16 ky tu tren hai dong
LiquidCrystal_I2C LCD(0x27, 16, 2);  

// Declare variables 
// Khai bao bien
int soKhach = 0;
int checkin = 0;

void setup(){
// Initialize LCD 1602 to display
// Khoi tao LCD 1602 de hien thi
  LCD.init();  
// Turn on LCD backlight   
// Bat den nen LCD 1602    
  LCD.backlight();
// We initialize software serial connection 
// Khoi tao cong ket noi software serial   
  mySoftwareSerial.begin(9600);
//Use softwareSerial to communicate with mp3 module.
//Sử dụng software serial ket noi voi module mp3.
  myDFPlayer.begin(mySoftwareSerial);
  myDFPlayer.setTimeOut(500);
// Set Sensor Pin as Input
// Thiet lap chan SENSOR la Input
  pinMode(SENSOR1_PIN, INPUT); 
  pinMode(SENSOR2_PIN, INPUT); 
}

void loop() {
  // Setting LCD Display
  // Thiet lap hien thi tren LCD
    LCD.setCursor(0, 0);
    LCD.print("Capacity");
    LCD.setCursor(9, 0);
    LCD.print("Checkin");
    LCD.setCursor(0, 1);
    LCD.print(soKhach);
    LCD.print("/40");
    LCD.print("   ");
    LCD.setCursor(10, 1);
    LCD.print(checkin);
// If SENSOR1 be Actived
// Nếu SENSOR1 duoc kich hoat
    if (digitalRead(SENSOR1_PIN) == 0) {
// Wait until SENSOR2 be Actived and SENSOR1 be Inactived
// Doi den khi SENSOR2 kich hoat va SENSOR1 ngung kich hoat
     while (!((digitalRead(SENSOR2_PIN) == 0)&&(digitalRead(SENSOR1_PIN) == 1))) {}
// Play Welcome sound and prin on LCD
// Phat tieng noi xin chao va hien thi len LCD
        myDFPlayer.playMp3Folder(1);  
        soKhach += 1;
        checkin += 1;
        LCD.setCursor(0, 0);
        LCD.print("MakerLab Welcome");
        delay(1000);
    }
// If SENSOR2 be Actived
// Nếu SENSOR2 duoc kich hoat
    if (digitalRead(SENSOR2_PIN) == 0) {
// Wait until SENSOR1 be Actived and SENSOR2 be Inactived
// Doi den khi SENSOR1 kich hoat va SENSOR2 ngung kich hoat
    while (!((digitalRead(SENSOR1_PIN) == 0)&&(digitalRead(SENSOR2_PIN) == 1))) {}
        myDFPlayer.playMp3Folder(2); 
        if (soKhach > 0) 
        {
            soKhach -= 1;
         }
      LCD.setCursor(0, 0);
      LCD.print("MakerLab Goodbye"); 
      delay(1000);  
    } 
}

***Link tải code tại Github: makereduvn/MakerEdu_Development_Kit (github.com)

Hình ảnh thành phẩm

Tìm kiếm

Các kênh truyền thông

Bài viết phổ biến

Các chuyên mục

Đăng ký theo dõi

Hãy đăng ký theo dõi MakerLab.vn để cập nhật các bài viết và thông tin công nghệ mới nhất!

Bài viết liên quan

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments