Bạn đã từng đặt tiền lì xì vào hộ bố mẹ và không thể lấy lại? Nếu đã từng, hãy tự làm chiếc hộp này ngay!
Chắc chắn bạn đã trải qua nhiều lần bị bố mẹ yêu cầu đưa tiền lì xì 'giữ hộ' sau mỗi dịp Tết. Và đương nhiên, bạn không thể từ chối lời mời 'giữ hộ' này từ bố mẹ. Nhưng khi bạn cần tiền, bố mẹ lại không trả, với lý do hợp lý khiến bạn không thể lấy lại được tiền.
Hôm nay, chúng tôi sẽ hướng dẫn cách tự làm một chiếc hộp cất tiền lì xì mà chỉ có bạn mới có thể mở được.
Chuẩn bị:
Một hộp nhựa (giá khoảng 5.000 đồng, bạn có thể chọn các vật liệu khác an toàn hơn nếu muốn :D)
Hai chiếc bản lề nhỏ (giá 5.000 đồng)
Một bo mạch Arduino UNO R3 (giá khoảng 180.000 đồng)
Một module RFID RC522 (giá khoảng 90.000 đồng)
Một Servo sg90 (giá khoảng 50.000 đồng)
Dây kết nối đực cái, mỗi cái (giá khoảng 14.000 đồng)
Các linh kiện cần chuẩn bị
Bước 1: Tạo cấu trúc cơ bản cho hộp
Đánh dấu vị trí đặt bản lề trên hộp
Đặt bản lề trên hộp và đánh dấu vị trí để đục lỗ.
Sau khi đục lỗ, sử dụng ốc để lắp bản lề vào hộp. Bạn có thể sử dụng keo con voi để cố định ốc.
Cấu trúc bản lề cho phần nắp hộp
Thực hiện tương tự với phần nắp hộp. Bây giờ chúng ta đã hoàn thành phần cơ khí cho hộp và tiếp tục với phần điện tử.
Bước 2: Lắp các linh kiện điện tử
Đặt bản lề servo
Đục một lỗ trên nắp hộp để chứa Servo SG90, sau đó lắp servo vào và cố định bằng ốc. Servo không chỉ hoạt động như một khóa cho hộp mà còn làm núm giúp dễ dàng mở nắp hộp.
Gắn servo lên nắp hộp
Sử dụng ốc và keo con voi để cố định servo một cách chắc chắn hơn.
Đối với cơ cấu khóa, chúng ta sẽ sử dụng miếng nhựa đơn kèm theo servo khi mua.
Thanh gờ để khóa nắp hộp
Tạo thanh gờ trên nắp hộp để servo có thể gài vào và khóa nắp hộp một cách chắc chắn.
Đục lỗ để lắp cổng USB Type B
Tiếp theo, đục một lỗ trên thành hộp để có cổng USB type B. Khi cần sử dụng hộp, chúng ta sẽ cấp điện qua cổng này.
Bước 3: Hàn chân kết nối cho module RC522 và nối dây với Arduino
Hàn chân kết nối
Khi mua module RFID RC522, chúng ta cần phải hàn chân kết nối trước khi sử dụng.
Các chân kết nối trên RC522
Module RC522 có tổng cộng 8 chân kết nối, tuy nhiên chỉ cần sử dụng 7 chân. Trong đó có 2 chân nguồn và 5 chân tín hiệu.
Sơ đồ kết nối như sau:
Kết nối chân RST với chân 9 trên Arduino
Kết nối chân SDA với chân 10 trên Arduino
Kết nối chân MOSI với chân 11 trên Arduino
Kết nối chân MISO với chân 12 trên Arduino
Kết nối chân SCK với chân 13 trên Arduino
Kết nối chân 3.3V với chân 3.3V trên Arduino
Kết nối chân GND với chân GND trên Arduino
Kết nối module RC522 với Arduino theo sơ đồ đã chỉ ra.
Bước 4: Kết nối Servo với Arduino và cố định Module RFID RC522
Kết nối servo Sg90 với Arduino
Trên Servo có 3 dây: 2 dây nguồn thường là màu đỏ và nâu, dây tín hiệu thường là màu cam. Kết nối dây tín hiệu với chân số 3 trên Arduino. Dây nguồn kết nối với chân 5V và chân GND trên Arduino.
Cố định module RC522 lên nắp hộp
Sau đó, cố định module RC522 lên nắp hộp.
Bước 5: Nạp code, đọc ID của thẻ.
Vì Arduino không tích hợp sẵn thư viện MFRC522, vì vậy chúng ta cần phải thêm vào. Hướng dẫn cách thêm thư viện vào Arduino có thể tìm trong các hướng dẫn.
Các bạn có thể tải thư viện MFRC522 tại đây. Sau khi thêm thư viện, copy code vào Arduino và nạp code lên arduino.
#include < SPI.h >
#include < Servo.h >
#include < RFID.h >
#define SS_PIN 10
#define RST_PIN 9
Servo Mytourservo;
RFID rfid(SS_PIN, RST_PIN);
unsigned char reading_card[5];
unsigned char master[5] = {228,56,192,167,187};
unsigned char master2[5] = {89,200,225,213,165};
unsigned char i,a,b,d;
void indication(int);
void allow();
int pos = 0;
void setup()
{
Mytourservo.attach(3);
Serial.begin(9600);
SPI.begin();
ADCSRA = 0;
rfid.init();
for (pos = 180; pos >= 0; pos -= 1)
{
Mytourservo.write(pos);
delay(10);
}
Mytourservo.detach();
}
void loop()
{
a=b=1;
if (rfid.isCard())
{
if (rfid.readCardSerial())
{
Serial.println(' ');
Serial.println('So ID cua the la:');
for (i = 0; i < 5; i )
{
Serial.print(rfid.serNum[i]);
Serial.print(' ');
reading_card[i] = rfid.serNum[i];
}
Serial.println();
}
{
for (i = 0; i < 5; i )
{
reading_card[i] = rfid.serNum[i];
}
for (i = 0; i < 5; i )
{
if (reading_card[i]!=master[i])
{
a=0;
}
if (reading_card[i]!=master2[i])
{
b=0;
}
}
d=a b;
if (d == 1)
{
allow();
}
}
}
rfid.halt();
}
void allow() {
Mytourservo.attach(3);
for (pos = 0; pos <= 180; pos = 1)
{
Mytourservo.write(pos);
delay(5);
}
delay(2000);
for (pos = 180; pos >= 0; pos -= 1)
{
Mytourservo.write(pos);
delay(30);
}
Mytourservo.detach();
}
Lấy ID thẻ của bạn
Sau khi nạp code thành công, bấm tổ hợp phím Ctrl Shift M để mở Serial Monitor. Quẹt thẻ qua module RC522 để hiển thị ID của thẻ.
Thay ID thẻ của bạn vào đây
Sau khi có ID thẻ, thay ID vào 2 dòng trong đoạn code. Đây là ví dụ với 2 thẻ đi kèm với module RC522. Thay ID xong, nạp code lại.
Chiếc hộp đựng tiền lì xì an toàn đã được hoàn thành. Bây giờ bạn có thể đặt tiền vào và chỉ bạn mới có thể mở ra để lấy tiền. Chúc bạn thành công!
Chúng tôi xin gửi lời cảm ơn đến cửa hàng Linh Kiện Hà Nội đã đồng hành cùng chúng tôi trong quá trình thực hiện bài viết này.
Nếu bạn có bất kỳ thắc mắc nào trong quá trình thực hành, hãy tham gia nhóm Facebook tại đây để đặt câu hỏi và thảo luận cùng cộng đồng.