Mục lục:
- Bước 1: Thiết lập Arduino và RFID RC-522 (Kết nối vật lý)
- Bước 2: Mã Arduino.,
- Bước 3: Thiết lập MySQL
- Bước 4: Thiết lập IDE xử lý
- Bước 5: Thực hiện chương trình
- Bước 6: Kết luận
Video: Ứng dụng siêu thị đơn giản sử dụng RFID RC-522 và Arduino Mega: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Rất vui được gặp lại các bạn ở đây trong bài hướng dẫn khác của tôi, ở đây tôi sẽ giúp các bạn tạo một ứng dụng siêu thị đơn giản bằng cách sử dụng RFID RC-522 và Arduino với Xử lý để tạo GUI đơn giản.
Lưu ý: không chạy theo dõi nối tiếp Arduino trong khi chạy mã xử lý vì xung đột cổng sẽ xảy ra vì cả hai phải sử dụng cùng một cổng
Bạn cần:
- Arduino Mega hoặc Arduino Uno (tôi đã sử dụng Mega)
- RFID-RC522
- 7 dây nhảy nam nữ
- Một số thẻ ID (tùy chọn)
- Thư viện RFID (Phải, Liên kết bên dưới)
- Máy chủ Wamp
- Xử lý IDE 2.2.1 (không sử dụng lớn hơn thế)
- Thư viện BezierSQLib-0.2.0 để xử lý (Tải xuống liên kết bên dưới)
Sau đó, Tải xuống thư viện RFID Dưới đây và Thêm nó vào IDE Arduino của bạn bằng cách nhấp vào Sketch-> Bao gồm Thư viện-> Thêm Thư viện. Zip trong menu tệp
Bước 1: Thiết lập Arduino và RFID RC-522 (Kết nối vật lý)
chỉ cần kết nối arduino với RFID-RC522 như trong hình trên. Cảnh báo: chỉ cung cấp 3.3V nếu không mô-đun sẽ bị cháy
Pin Out cho Uno / Nano và Mega
RC522 MODULE Uno / Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N / A N / A GND GND GND RST D9 D8 3,3V 3,3V 3,3V
Bước 2: Mã Arduino.,
Sao chép mã Dưới đây rồi tải nó lên Arduino của bạn
/ * PINOUT: RC522 MODULE Uno / Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N / AN / A GND GND GND RST D9 D8 3.3V 3.3V 3.3V * / / * Bao gồm thư viện Arduino SPI tiêu chuẩn * / #include / * Bao gồm thư viện RFID * / #include
/ * Xác định DIO được sử dụng cho các chân SDA (SS) và RST (đặt lại). * /
#define SDA_DIO 9 #define RESET_DIO 8
/ * Tạo một phiên bản của thư viện RFID * /
RFID RC522 (SDA_DIO, RESET_DIO); int reader = 0;
void setup ()
{Serial.begin (9600); / * Kích hoạt giao diện SPI * / SPI.begin (); / * Khởi tạo đầu đọc RFID * / RC522.init (); }
void loop ()
{/ * Bộ đếm vòng lặp tạm thời * / byte i;
/ * Có thẻ bị phát hiện không? * /
if (RC522.isCard ()) {/ * Nếu vậy thì lấy số sê-ri của nó * / RC522.readCardSerial ();
/ * Xuất số sê-ri vào UART * / for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (đầu đọc ++); Serial.println (); } delay (1000); }
Bước 3: Thiết lập MySQL
- Cài đặt máy chủ Wamp cho MySQL và định cấu hình nó để lưu trữ dữ liệu (
- Chạy bảng điều khiển MySQL wamp serveropen
- chọn cơ sở dữ liệu
- Sau đó, tạo bảng cho dữ liệu của bạn
tạo bảng rfid (ID int (8), token int (1), Tên varchar (20), Số tiền int (4));
Bây giờ hãy xem liên kết này để tìm hiểu cách lấy giá trị thẻ RFID của bạn, sau đó sử dụng mã bên dưới để chèn dữ liệu. Đừng quên thay thế giá trị ID bằng giá trị thẻ RFID của bạn
chèn vào các giá trị rfid (3756178, 1, 'Pencil', 20);
sử dụng giá trị mã thông báo là 1 để sau khi đọc giá trị thẻ lần đầu tiên, nó sẽ tự động chuyển thành 2, không sử dụng 0 cho giá trị mã thông báo khi thẻ đọc không được chèn vào DB, nó sẽ gán 0 rồi hiển thị dưới dạng Thẻ không xác định..
Bước 4: Thiết lập IDE xử lý
- Tải xuống và cài đặt IDE xử lý 2.2.1
- Giải nén ZIP đã cho ở trên vào MyDocuments / Processing / Libraries
- Bây giờ mở IDE xử lý và kiểm tra thư viện đã được cài đặt đúng hay chưa như trong hình trên
- Sau đó, sao chép mã dưới đây để xử lý và đặt tên cho mã của riêng bạn
import de.bezier.data.sql. *; import processing.serial. *; // nhập java.math. BigInteger;
// được tạo 2005-05-10 bởi fjenett
// cập nhật fjenett 20080605
MySQL dbconnection;
Chuỗi s = ""; int Wheight = 700; int Wwidth = 1200; ID dài; mã thông báo int; int Số tiền; int Tổng = 0;
Chuỗi a = {"NULL", "NULL"};
int end = 10; // số 10 là ASCII cho dòng cấp dữ liệu (end of serial.println), sau này chúng ta sẽ tìm số này để chia nhỏ các thông báo riêng lẻ Chuỗi chuỗi; // khai báo một chuỗi mới có tên là 'serial'. Chuỗi là một chuỗi các ký tự (kiểu dữ liệu được gọi là "char") Cổng nối tiếp; String curr, trước, Tên; PFont f;
void setup ()
{// kích thước (Width, Wheight); kích thước (700, 500); f = createFont ("Arial", 24, true); // ví dụ này giả định rằng bạn đang chạy máy chủ // mysql cục bộ (trên "localhost"). // // thay thế --username--, --password-- bằng tài khoản mysql của bạn. // String user = "root"; Chuỗi pass = ""; // tên cơ sở dữ liệu sẽ sử dụng // String database = "IOT_Database"; // tên của bảng sẽ được tạo String table = ""; // kết nối với cơ sở dữ liệu của máy chủ "localhost" dbconnection = new MySQL (this, "localhost", cơ sở dữ liệu, người dùng, pass); port = new Serial (this, Serial.list () [0], 9600); // khởi tạo đối tượng bằng cách gán cổng và tốc độ truyền (phải khớp với tốc độ truyền của Arduino) port.clear (); // hàm từ thư viện nối tiếp ném ra lần đọc đầu tiên, trong trường hợp chúng ta bắt đầu đọc ở giữa chuỗi từ Arduino serial = port.readStringUntil (end); // hàm đọc chuỗi từ cổng nối tiếp cho đến một println và sau đó gán chuỗi cho biến chuỗi của chúng ta (được gọi là 'nối tiếp') serial = null; } void draw () {background (255); textFont (f, 24); điền (0); text ("Tổng số tiền Rs:", 400, 400); text (Tổng cộng, 585, 400); dữ liệu(); while (port.available ()> 0) {// miễn là có dữ liệu đến từ cổng nối tiếp, hãy đọc và lưu trữ nó serial = port.readStringUntil (end); } if (serial! = null) {pres = curr; curr = a [1]; a = split (nối tiếp, ','); // một mảng mới (được gọi là 'a') lưu trữ các giá trị vào các ô riêng biệt (phân tách bằng dấu phẩy được chỉ định trong chương trình Arduino của bạn) if ((curr).equals (trước)) {//} else {// println ("curr ", curr); // println ("Trước đó", trước); hàm số(); }}}
hàm void ()
{if (dbconnection.connect ()) {// bây giờ đọc lại // dbconnection.query ("SELECT * from rfid where ID =" + a [0] + ""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("mã thông báo"); Số tiền = dbconnection.getInt ("Số tiền"); } if (token == 0) {println ("Ok"); textFont (f, 54); điền vào (255, 0, 0, 160); text ("Đã phát hiện mục không xác định", 50, 300); chậm trễ (2000); } else if (token == 1) {Total = Total + Amount; dbconnection.query ("update rfid set token = 2 where ID =" + a [0] + ""); println ("Được"); textFont (f, 24); điền vào (255, 0, 0, 160); // text ("Mục Đã Thêm", 10, 30); chậm trễ (1000); } else if (token == 2) {Total = Total-Amount; dbconnection.query ("cập nhật rfid set token = 1 trong đó ID =" + a [0] + ""); println ("Được"); textFont (f, 24); điền (255, 0, 0, 160); // text ("Mục Đã xóa", 10, 30); chậm trễ (1000); } else {} dbconnection.close (); } else {// kết nối không thành công! }}
dữ liệu vô hiệu ()
{int position = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Tên = dbconnection.getString ("Tên"); Số tiền = dbconnection.getInt ("Số tiền"); textFont (f, 24); điền (0, 0, 255, 160); text (Tên, 10, chức vụ); điền (0, 0, 0, 160); text (Số lượng, 215, vị trí); vị trí = vị trí + 30; }} dbconnection.close (); }
Bước 5: Thực hiện chương trình
Chạy chương trình bằng cách nhấp vào nút chạy không đóng cửa sổ bật lên, việc đóng cửa sổ bật lên sẽ ngừng thực thi và truy vấn bên dưới để xem dữ liệu được lưu trữ trong MySQL…
Bước 6: Kết luận
Tôi muốn cảm ơn bạn đã đọc hướng dẫn của tôi. Tôi sẽ đánh giá cao nếu bạn thấy nó hữu ích và thả một lượt thích (yêu thích) hoặc hỏi tôi bất cứ điều gì vì nó giúp tôi có động lực để thực hiện những hướng dẫn này. vui lòng hỏi bất kỳ câu hỏi nào bạn cần biết…
Happy Coding Arduino…
Đề xuất:
(Các) đèn LED USB tự làm siêu đơn giản giá rẻ (và các nội dung khác): 16 bước
(Các) Đèn LED USB Tự làm Siêu đơn giản Giá rẻ (và Các nội dung khác): Xin chào và Chào mừng bạn đến với tài liệu hướng dẫn đầu tiên của tôi:) Tôi cá là tất cả chúng ta đều đang thiết lập và tái tạo lại không gian nhà sản xuất của chúng ta một lần nữa sau khi vi-rút, vì vậy tôi nghĩ đã đến lúc chúng ta tạo ra tất cả đều học cách tạo ra USB của riêng mình thay vì phụ thuộc vào đội quân dễ cạn kiệt
Cách tạo IOT đơn giản với ứng dụng Telegram: 5 bước
Cách tạo IOT đơn giản với ứng dụng Telegram: Trong thế hệ hiện tại, Internet là tất cả. Internet of Things đóng một vai trò quan trọng trong thế giới hiện tại. Không mất nhiều thời gian, chúng ta có thể chuyển sang hoạt động thực tế của IOT. Ở đây chúng ta sẽ điều khiển đèn led và cũng o
ĐÈN LED DESKTOP ĐƠN GIẢN ĐƯỢC ĐIỀU KHIỂN ỨNG DỤNG ANDROID: 5 bước
ĐÈN LED DESKTOP ĐƠN GIẢN ĐIỀU KHIỂN ỨNG DỤNG ANDROID: vì vậy trong hướng dẫn này, tôi sẽ chỉ cho bạn cách điều khiển đèn LED rgb với điện thoại thông minh Android. Đèn LED RGB hoạt động dựa trên khái niệm cơ bản về sự kết hợp của các màu cơ bản của bất kỳ bóng râm nào, đó là đỏ, xanh lá cây và xanh lam. Tất cả các màu có các thành phần màu cơ bản này
Tự tạo Máy tạo sương mù siêu âm siêu đơn giản của riêng bạn: 4 bước
Tự tạo Máy tạo sương mù siêu âm siêu đơn giản của riêng bạn: Trong dự án này, tôi sẽ hướng dẫn bạn cách tạo một mạch trình điều khiển đơn giản cho một đĩa áp điện siêu âm 113kHz. Về cơ bản, mạch bao gồm một mạch hẹn giờ 555, một MOSFET và một vài thành phần bổ sung. Trên đường đi, tôi sẽ
DIY - Lò phản ứng hồ quang siêu rẻ và siêu mát: 8 bước (có hình ảnh)
Tự làm - Lò phản ứng hồ quang siêu rẻ và siêu mát: Trong bài hướng dẫn này, tôi sẽ chỉ cho bạn cách bạn có thể tạo lò phản ứng hồ quang cực rẻ tại nhà. Đèn LED tiêu tốn của tôi 2,5 INR và tôi đã sử dụng 25 nên tổng chi phí nhỏ hơn 1