Mündəricat:
- Addım 1: Arduino və RFID RC-522 qurmaq (Fiziki Bağlantı)
- Addım 2: Arduino Kodu.,
- Addım 3: MySQL qurmaq
- Addım 4: İşlənən IDE -nin qurulması
- Addım 5: Proqramın icrası
- Addım 6: Nəticə
Video: RFID RC-522 və Arduino Mega istifadə edərək sadə bir Supermarket Tətbiqi: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Sizi başqa bir dərsliyimdə yenidən görmək xoşdur, burada sadə GUI yaratmaq üçün RFID RC-522 və Arduino ilə işləməklə sadə bir supermarket proqramı yaratmağınıza kömək edəcəyəm.
Qeyd: İşləmə kodu işləyərkən Arduino serial monitorunu işə salmayın, çünki hər ikisi eyni portu istifadə etməli olduğu üçün liman qarşıdurması meydana gələcək
Ehtiyacınız var:
- Arduino Mega və ya Arduino Uno (Mega istifadə etdim)
- RFID-RC522
- 7 kişi -dişi tullanan tel
- Bəzi şəxsiyyət vəsiqələri (isteğe bağlı)
- RFID Kitabxanası (Aşağıdakı link olmalıdır)
- Wamp server
- IDE 2.2.1 işlənir (bundan böyük istifadə etməyin)
- BezierSQLib-0.2.0 kitabxana emal üçün (Aşağıdakı linkdən yükləyin)
Sonra Aşağıdakı RFID kitabxanasını yükləyin və Sketch-> Kitabxanaya daxil et-> Fayl menyusunda Zip Kitabxanası əlavə edərək Arduino IDE-yə əlavə edin.
Addım 1: Arduino və RFID RC-522 qurmaq (Fiziki Bağlantı)
sadəcə yuxarıdakı şəkildə göstərildiyi kimi arduino-nu RFID-RC522 ilə bağlayın. Xəbərdarlıq: yalnız 3.3V təchiz edin, əks halda modul yanacaq
Uno/Nano və Mega üçün qeyd edin
RC522 MODÜLÜ Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ Yoxdur GND GND GND RST D9 D8 3.3V 3.3V 3.3V
Addım 2: Arduino Kodu.,
Aşağıdakı kodu kopyalayın və Arduino -ya yükləyin
/*PINOUT: RC522 MODÜLÜ 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*//*Standart Arduino SPI kitabxanasını daxil edin */ #include/ *RFID kitabxanasını daxil et */ #include
/* SDA (SS) və RST (sıfırlama) pinləri üçün istifadə olunan DIO -nu təyin edin. */
#SDA_DIO 9 təyin edin #RESET_DIO 8 təyin edin
/ * RFID kitabxanasının bir nümunəsini yaradın */
RFID RC522 (SDA_DIO, RESET_DIO); int oxucu = 0;
boş quraşdırma ()
{Serial.begin (9600); / * SPI interfeysini aktiv edin */ SPI.begin (); / * RFID oxuyucusunu işə salın */ RC522.init (); }
boşluq döngəsi ()
{ / * Müvəqqəti döngə sayğacı * / bayt i;
/* Bir kart aşkar edildi? */
if (RC522.isCard ()) { / * Əgər belədirsə, seriya nömrəsini alın * / RC522.readCardSerial ();
/ * Seriya nömrəsini UART -a çıxarın */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); } Serial.print (","); Serial.print (oxucu ++); Serial.println (); } gecikmə (1000); }
Addım 3: MySQL qurmaq
- MySQL üçün Wamp serverini qurun və məlumatları saxlamaq üçün konfiqurasiya edin (
- MySQL konsolunu açmaq üçün wamp xidmətini işə salın
- verilənlər bazası seçin
- Sonra məlumatlarınız üçün cədvəl yaradın
cədvəl yaratmaq rfid (ID int (8), token int (1), Ad varchar (20), Məbləğ int (4));
İndi RFID etiket dəyərinizi necə əldə edəcəyinizi öyrənmək üçün bu linki izləyin və sonra məlumat daxil etmək üçün aşağıdakı kodu istifadə edin. İD dəyərini RFID etiket dəyərinizlə əvəz etməyi unutmayın.
rfid dəyərlərinə daxil edin (3756178, 1, 'Qələm', 20);
etiket dəyərini ilk dəfə oxuduqdan sonra avtomatik olaraq 2 olaraq dəyişəcək, DB -yə daxil edilməmiş kartı oxuduqda 0 -u təyin etməyəcək və sonra Naməlum Kart kimi göstərəcək ki, token dəyərini 1 olaraq istifadə edin..
Addım 4: İşlənən IDE -nin qurulması
- Qenerasiya IDE 2.2.1 -ni yükləyin və quraşdırın
- Yuxarıda göstərilən ZIP -ı MyDocuments/Processing/Libraries -ə çıxarın
- İndi IDE emalını açın və kitabxananın yuxarıdakı şəkildəki kimi düzgün quraşdırıldığını yoxlayın
- Sonra işləmək üçün aşağıdakı kodu kopyalayın və öz adınızı verin
idxal de.bezier.data.sql.*; idxal emalı.serial.*; // java.math. BigInteger idxal edin;
// 2005-05-10 fjenett tərəfindən yaradılmışdır
// yenilənmiş fjenett 20080605
MySQL db bağlantısı;
String s = ""; int Wheight = 700; int Genişlik = 1200; uzun şəxsiyyət vəsiqəsi; int token; int Miqdarı; int Cəmi = 0;
Sətir a = {"NULL", "NULL"};
int end = 10; // 10 nömrəsi linefeed üçün ASCII -dir (serial.println sonu), daha sonra fərdi mesajları parçalamaq üçün bunu axtaracağıq String serial; // 'serial' adlı yeni bir sətir elan edin. Bir simli bir simvol ardıcıllığıdır (məlumat növü "char" olaraq bilinir) Serial port; String Curr, əvvəlki, Ad; PFont f;
boş quraşdırma ()
{// ölçüsü (Genişlik, Sükan); ölçü (700, 500); f = createFont ("Arial", 24, doğru); // bu nümunə // mysql serverini lokal olaraq ("localhost" da) işlədiyinizi güman edir. // //-istifadəçi adını-,-şifrəni-- mysql hesabınızla əvəz edin. // String istifadəçisi = "kök"; String keçid = ""; // istifadə ediləcək verilənlər bazasının adı // String database = "IOT_Database"; // yaradılacaq cədvəlin adı String table = ""; // server "localhost" verilənlər bazasına qoşulmaq dbconnection = yeni MySQL (bu, "localhost", verilənlər bazası, istifadəçi, keçid); port = yeni Serial (bu, Serial.list () [0], 9600); // port və baud dərəcəsi (Arduino ilə eyni olmalıdır) təyin edərək obyekti işə salmaq port.clear (); // Arduino serial = port.readStringUntil (son) bir sətrin ortasında oxumağa başlamağımız halında, ilk oxunuşu atan serial kitabxanasının funksiyası; // serialı portdan printlnə qədər oxuyan və sonra simli dəyişənimizə simvol təyin edən ('serial' adlanan) serial = null funksiyası; } void draw () {background (255); textFont (f, 24); doldurun (0); mətn ("Toplam Məbləğ Rs:", 400, 400); mətn (Cəmi, 585, 400); məlumatlar (); while (port.available ()> 0) {// serial portdan gələn məlumatlar olduğu müddətcə oxuyun və saxlayın serial = port.readStringUntil (end); } if (serial! = sıfır) {prev = Curr; cərəyan = a [1]; a = split (serial, ','); // dəyərləri ayrı hüceyrələrə (Arduino proqramınızda göstərilən vergüllərlə ayrılmış) saxlayan yeni bir sıra ('a' adlanır) əgər ((Curr). bərabərdir (əvvəlki)) {//} başqa {// println ("Curr ", qarağat); // println ("Əvvəlki", əvvəlki); funksiya (); }}}
boşluq funksiyası ()
{if (dbconnection.connect ()) {// indi yenidən oxuyun // dbconnection.query ("ID ="+a [0]+"" olan rfiddən "SELECT *"); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); mö'cüzə = dbconnection.getInt ("mö'cüzə"); Məbləğ = dbconnection.getInt ("Məbləğ"); } if (token == 0) {println ("Ok"); textFont (f, 54); doldurun (255, 0, 0, 160); mətn ("Naməlum maddə aşkarlandı", 50, 300); gecikmə (2000); } else if (token == 1) {Total = Total+Məbləği; dbconnection.query ("ID ="+a [0]+"" "rfid set token = 2 yeniləmə); println ("Ok"); textFont (f, 24); doldurun (255, 0, 0, 160); // mətn ("maddə əlavə edildi", 10, 30); gecikmə (1000); } if if (token == 2) {Total = Total-Miqdarı; dbconnection.query ("ID ="+a [0]+"" olan rfid set token = 1 yeniləmə); println ("Ok"); textFont (f, 24); doldurun (255, 0, 0, 160); // mətn ("Maddə Silindi", 10, 30); gecikmə (1000); } başqa {} dbconnection.close (); } başqa {// əlaqə uğursuz oldu! }}
boş məlumat ()
{int mövqeyi = 100; if (dbconnection.connect ()) {dbconnection.query ("Token = 2 olan rfiddən SELECT *"); while (dbconnection.next ()) {Ad = dbconnection.getString ("Ad"); Məbləğ = dbconnection.getInt ("Məbləğ"); textFont (f, 24); doldurun (0, 0, 255, 160); mətn (Ad, 10, vəzifə); doldurun (0, 0, 0, 160); mətn (Məbləğ, 215, mövqe); mövqe = mövqe+30; }} dbconnection.close (); }
Addım 5: Proqramın icrası
Proqramı çalıştır düyməsini basaraq işə salın, açılan pəncərəni bağlamayın, icra dayandırılacaq və MySQL -də saxlanılan məlumatları görmək üçün sorğunun altındadır …
Addım 6: Nəticə
Dərsliyimi oxuduğunuz üçün sizə təşəkkür etmək istəyirəm. Faydalı tapsanız və bəyəndiyiniz (sevdiyiniz) bir şəkil atsanız və ya mənə bir şey soruşsanız, bu təlimatları etməyə həvəsləndirdiyim üçün minnətdar olaram. bilmək istədiyiniz hər hansı bir sual verməkdən çekinmeyin …
Xoşbəxt Kodlaşdırma Arduino…
Tövsiyə:
Telegram tətbiqi ilə sadə bir IOT necə edilir: 5 addım
Telegram tətbiqi ilə sadə bir IOT necə qurulur: İndiki nəsildə İnternet hər şeydir. Əşyaların İnterneti indiki dünyada böyük rol oynayır. Çox vaxt itirmədən IOT -un praktik işinə keçə bilərik. Burada ledləri idarə edəcəyik və eyni zamanda
Başlayanlar üçün mötərizədən istifadə edərək sadə bir veb səhifəsi necə yaradılır: 14 addım
Başlayanlar üçün mötərizədən istifadə edərək sadə bir veb səhifəsi necə yaradılır: Giriş Aşağıdakı təlimatlar mötərizələrdən istifadə edərək veb səhifəsi hazırlamaq üçün addım -addım təlimat verir. Mötərizələr, veb inkişafına əsas diqqət yetirən bir mənbə kodu redaktorudur. Adobe Systems tərəfindən yaradılmışdır, pulsuz və açıq mənbəli bir proqramdır
Dərslik: DS18B20 və Arduino UNO istifadə edərək sadə bir temperatur sensoru necə hazırlanır: 3 addım
Dərslik: DS18B20 və Arduino UNO -dan istifadə edərək sadə bir temperatur sensoru necə hazırlanır: Təsvir: Bu dərslik, temperatur sensörünün işlək hala gətirilməsi ilə bağlı bir neçə sadə addımı göstərəcək. Layihənizi gerçəkləşdirmək üçün bir neçə dəqiqə çəkin. Uğurlar ! DS18B20 rəqəmsal termometri 9 bitdən 12 bitə qədər Selsi temperaturu təmin edir
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Arduino Mega 2560 və IoT: 8 Adımdan istifadə edərək Kaldırma Tətbiqi üçün Motor İdarəetmə Sistemi (Şəkillərlə birlikdə)
Arduino Mega 2560 və IoT istifadə edərək tətbiqin qaldırılması üçün motor idarəetmə sistemi: İndiki vaxtda IoT əsaslı mikrokontroller sənaye tətbiqində geniş istifadə olunur. İqtisadi cəhətdən kompüter əvəzinə istifadə olunur. Layihənin məqsədi, nəzarət, məlumat qeyd etmə və 3 fazalı induksiya motorunu tam rəqəmsal hala gətirməkdir