Daftar Isi:

Aplikasi Supermarket Sederhana Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah
Aplikasi Supermarket Sederhana Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah

Video: Aplikasi Supermarket Sederhana Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah

Video: Aplikasi Supermarket Sederhana Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah
Video: Ini yang Kalian Cari, Cara Menggunakan Ektp Multi Card di RFID RC522 2024, Juli
Anonim
Aplikasi Supermarket Sederhana Menggunakan RFID RC-522 dan Arduino Mega
Aplikasi Supermarket Sederhana Menggunakan RFID RC-522 dan Arduino Mega

Senang bertemu kalian lagi di sini di tutorial saya yang lain, di sini saya akan membantu Anda membuat aplikasi supermarket sederhana menggunakan RFID RC-522 dan Arduino dengan Pengolahan untuk membuat GUI sederhana.

Catatan: jangan jalankan monitor serial Arduino saat menjalankan kode pemrosesan karena konflik port akan terjadi karena keduanya harus menggunakan port yang sama

Anda Membutuhkan:

  1. Arduino Mega atau Arduino Uno (saya menggunakan Mega)
  2. RFID-RC522
  3. 7 kabel jumper pria ke wanita
  4. Beberapa kartu identitas (opsional)
  5. Perpustakaan RFID (Harus, Tautan Di Bawah)
  6. Server wamp
  7. Memproses IDE 2.2.1 (jangan gunakan yang lebih besar dari itu)
  8. Pustaka BezierSQLib-0.2.0 untuk diproses (Unduh tautan di bawah)

Kemudian Unduh perpustakaan RFID Di Bawah Ini dan Tambahkan ke Arduino IDE Anda dengan mengklik Sketsa-> Sertakan Perpustakaan-> Tambahkan Perpustakaan. Zip di menu file

Langkah 1: Menyiapkan Arduino dan RFID RC-522 (Koneksi Fisik)

Menyiapkan Arduino dan RFID RC-522 (Koneksi Fisik)
Menyiapkan Arduino dan RFID RC-522 (Koneksi Fisik)

cukup sambungkan arduino dengan RFID-RC522 seperti yang ditunjukkan pada gambar di atas. Peringatan: hanya suplai 3.3V jika tidak modul akan terbakar

Pin Out untuk Uno/Nano dan Mega

RC522 MODUL 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

Langkah 2: Kode Arduino.,

Salin kode di bawah ini lalu unggah di Arduino Anda

/*PINOUT: MODUL RC522 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 */ /* Termasuk perpustakaan Arduino SPI standar */ #include /* Sertakan perpustakaan RFID */ #include

/* Tentukan DIO yang digunakan untuk pin SDA (SS) dan RST (reset). */

#menentukan SDA_DIO 9 #menentukan RESET_DIO 8

/* Membuat instance dari perpustakaan RFID */

RFID RC522(SDA_DIO, RESET_DIO); int pembaca=0;

batalkan pengaturan()

{ Serial.begin(9600); /* Aktifkan antarmuka SPI */ SPI.begin(); /* Inisialisasi pembaca RFID */ RC522.init(); }

lingkaran kosong()

{ /* Penghitung loop sementara */ byte i;

/* Apakah kartu telah terdeteksi? */

if (RC522.isCard()) { /* Jika demikian maka dapatkan nomor serinya */ RC522.readCardSerial();

/* Keluarkan nomor seri ke UART */ for(i = 0; i <= 2; i++) { Serial.print(RC522.serNum, DEC); //Serial.print(RC522.serNum, HEX); } Serial.print(", "); Serial.print(pembaca++); Serial.println(); } penundaan(1000); }

Langkah 3: Menyiapkan MySQL

Menyiapkan MySQL
Menyiapkan MySQL
  1. Instal server Wamp untuk MySQL dan konfigurasikan untuk menyimpan data (
  2. Jalankan server wamp, buka konsol MySQL
  3. pilih basis data
  4. Kemudian buat tabel untuk data Anda

buat tabel rfid(ID int(8), token int(1), Nama varchar(20), Jumlah int(4));

Sekarang lihat tautan ini untuk mempelajari cara mendapatkan nilai tag RFID Anda kemudian gunakan kode di bawah ini untuk memasukkan data. Jangan lupa untuk mengganti nilai ID dengan nilai tag RFID Anda

masukkan ke nilai rfid(3756178, 1, 'Pensil', 20);

gunakan nilai token sebagai 1 sehingga setelah membaca nilai tag untuk pertama kali otomatis akan berubah menjadi 2, jangan gunakan 0 untuk nilai token ketika membaca kartu yang tidak dimasukkan dalam DB akan memberikan 0 kemudian menampilkannya sebagai Kartu Tidak Dikenal..

Langkah 4: Menyiapkan IDE Pemrosesan

Menyiapkan IDE Pemrosesan
Menyiapkan IDE Pemrosesan
  1. Unduh dan Instal Processing IDE 2.2.1
  2. Ekstrak ZIP yang diberikan di atas ke MyDocuments/Processing/Libraries
  3. Sekarang buka pemrosesan IDE dan periksa perpustakaan terpasang dengan benar atau tidak seperti pada gambar di atas
  4. Kemudian Salin kode di bawah ini untuk diproses dan beri nama Anda sendiri

impor de.bezier.data.sql.*;impor pemrosesan.serial.*; //import java.math. BigInteger;

// dibuat 2005-05-10 oleh fjenett

// memperbarui fjenett 20080605

koneksi db MySQL;

String s=" "; int Berat=700; int Lebar=1200; identitas panjang; tanda int; int Jumlah; int Jumlah=0;

String a={"NULL", "NULL"};

int akhir = 10; // angka 10 adalah ASCII untuk linefeed (akhir serial.println), nanti kita akan mencari ini untuk memecah pesan individual String serial; // mendeklarasikan string baru bernama 'serial'. String adalah urutan karakter (tipe data dikenal sebagai "char") Port serial; String curr, sebelumnya, Nama; PFont f;

batalkan pengaturan()

{ //ukuran(Lebar, Berat); ukuran (700, 500); f=createFont("Arial", 24, benar); // contoh ini mengasumsikan bahwa Anda menjalankan // server mysql secara lokal (pada "localhost"). // // ganti --username--, --password-- dengan akun mysql Anda. // String pengguna = "akar"; String lulus = ""; // nama database yang akan digunakan // String database = "IOT_Database"; // nama tabel yang akan dibuat String tabel = ""; // terhubung ke database server "localhost" dbconnection = new MySQL(this, "localhost", database, user, pass); port = Serial baru(ini, Serial.list()[0], 9600); // menginisialisasi objek dengan menetapkan port dan baud rate (harus sesuai dengan Arduino) port.clear(); // fungsi dari perpustakaan serial yang mengeluarkan pembacaan pertama, jika kita mulai membaca di tengah-tengah string dari Arduino serial = port.readStringUntil(end); // fungsi yang membaca string dari port serial sampai println dan kemudian memberikan string ke variabel string kita (disebut 'serial') serial = null; } batal menggambar() { latar belakang(255); teksFont(f, 24); isi(0); text("Jumlah Total Rp:", 400, 400); teks(Total, 585, 400); data(); while (port.available() > 0) { //selama ada data yang berasal dari serial port, baca dan simpan serial = port.readStringUntil(end); } if (serial != null) { sebelumnya=curr; kur=a[1]; a = split(serial, ', '); //array baru (disebut 'a') yang menyimpan nilai ke dalam sel terpisah (dipisahkan dengan koma yang ditentukan dalam program Arduino Anda) if((curr).equals(prev)) { // } else { //println("curr ", kur); //println("Sebelumnya", sebelumnya); fungsi(); } } }

fungsi batal()

{ if (dbconnection.connect()) { // sekarang baca kembali // dbconnection.query("SELECT * from rfid where ID="+a[0]+""); while (dbconnection.next()) { ID = dbconnection.getInt("ID"); token = dbconnection.getInt("token"); Jumlah = dbconnection.getInt("Jumlah"); } if(token==0) { println("Oke"); teksFont(f, 54); isi(255, 0, 0, 160); text("Barang Tidak Diketahui Terdeteksi", 50, 300); penundaan(2000); } else if(token==1) { Total=Total+Jumlah; dbconnection.query("perbarui rfid set token=2 di mana ID="+a[0]+""); println("Oke"); teksFont(f, 24); isi(255, 0, 0, 160); //text("Item Ditambahkan", 10, 30); penundaan (1000); } else if(token==2) { Total=Total-Jumlah; dbconnection.query("perbarui rfid set token=1 di mana ID="+a[0]+""); println("Oke"); teksFont(f, 24); isi(255, 0, 0, 160); //text("Item Dihapus", 10, 30); penundaan (1000); } else {} dbconnection.close(); } else { // koneksi gagal ! } }

data kosong()

{ int posisi=100; if (dbconnection.connect()) { dbconnection.query("SELECT * from rfid where token=2"); while (dbconnection.next()) { Nama = dbconnection.getString("Nama"); Jumlah = dbconnection.getInt("Jumlah"); teksFont(f, 24); isi(0, 0, 255, 160); teks(Nama, 10, posisi); isi(0, 0, 0, 160); teks(Jumlah, 215, posisi); posisi=posisi+30; } } dbconnection.close(); }

Langkah 5: Menjalankan Program

Menjalankan Program
Menjalankan Program
Menjalankan Program
Menjalankan Program
Menjalankan Program
Menjalankan Program
Menjalankan Program
Menjalankan Program

Jalankan program dengan mengklik tombol run jangan tutup jendela popup menutup akan menghentikan eksekusi dan kueri di bawah untuk melihat data yang tersimpan di MySQL…

Langkah 6: Kesimpulan

Saya ingin mengucapkan terima kasih telah membaca tutorial saya. Saya akan sangat menghargai jika Anda menganggapnya berguna dan memberikan suka (favorit) atau bertanya kepada saya apa pun karena itu membuat saya termotivasi untuk melakukan instruksi ini. jangan ragu untuk mengajukan pertanyaan yang perlu Anda ketahui…

Selamat Mengkode Arduino…

Direkomendasikan: