ዝርዝር ሁኔታ:
- ደረጃ 1: Arduino እና RFID RC-522 (አካላዊ ግንኙነት) ማቀናበር
- ደረጃ 2 - የአርዲኖ ኮድ።
- ደረጃ 3 - MySQL ን ማቀናበር
- ደረጃ 4 - IDE ን ማቀናበር
- ደረጃ 5 - ፕሮግራሙን ማከናወን
- ደረጃ 6 መደምደሚያ
ቪዲዮ: RFID RC-522 እና Arduino Mega: 6 ደረጃዎች በመጠቀም ቀላል የሱፐርማርኬት መተግበሪያ
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
እኔ በሌላ መማሪያዬ ላይ እዚህ እንደገና እርስዎን ማየቱ ጥሩ ነው ፣ እዚህ ቀለል ያለ GUI ለመፍጠር በማቀናበር RFID RC-522 ን እና አርዱዲኖን በመጠቀም ቀላል የሱፐርማርኬት መተግበሪያን ለመፍጠር እረዳዎታለሁ።
ማሳሰቢያ -የማቀናበሪያ ኮድ በሚሠራበት ጊዜ የአርዲኖን ተከታታይ ማሳያ አያሂዱ ምክንያቱም የወደብ ግጭት ስለሚከሰት ሁለቱም ተመሳሳይ ወደብ መጠቀም አለባቸው
ትፈልጋለህ:
- አርዱዲኖ ሜጋ ወይም አርዱዲኖ ኡኖ (ሜጋን እጠቀም ነበር)
- RFID-RC522
- 7 ከወንድ እስከ ሴት ዝላይ ሽቦዎች
- አንዳንድ የመታወቂያ ካርዶች (አማራጭ)
- የ RFID ቤተ -መጽሐፍት (የግድ ፣ ከዚህ በታች ያለው አገናኝ)
- Wamp አገልጋይ
- IDE ን በማቀናበር ላይ 2.2.1 (ከዚያ በላይ አይጠቀሙ)
- BezierSQLib-0.2.0 ቤተ-መጽሐፍትን ለማቀናበር (ከዚህ በታች ያለውን አገናኝ ያውርዱ)
ከዚያ ከዚህ በታች ያለውን የ RFID ቤተ-መጽሐፍትን ያውርዱ እና Sketch-> ቤተ-መጽሐፍትን ያካትቱ->. Zip ቤተ-መጽሐፍትን በፋይል ምናሌ ውስጥ ጠቅ በማድረግ ወደ አርዱዲኖ አይዲኢ ያክሉት።
ደረጃ 1: Arduino እና RFID RC-522 (አካላዊ ግንኙነት) ማቀናበር
ከላይ ባለው ምስል ላይ እንደሚታየው በቀላሉ አርዱዲኖውን ከ RFID-RC522 ጋር ያገናኙ። ማስጠንቀቂያ-አቅርቦት 3.3 ቪ ብቻ ካልሆነ ሞጁሉ ይቃጠላል።
ለኡኖ/ናኖ እና ሜጋ ፒን ያውጡ
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
ደረጃ 2 - የአርዲኖ ኮድ።
ከዚህ በታች ያለውን ኮድ ይቅዱ እና ከዚያ በአርዱኖዎ ላይ ይስቀሉት
* */ #ያካትቱ/ *የ RFID ቤተ -መጽሐፍትን ያካትቱ */ #ያካትቱ
/* ለ SDA (SS) እና RST (ዳግም ማስጀመር) ካስማዎች ጥቅም ላይ የዋለውን ዲአይኦ ይግለጹ። */
#ጥራት SDA_DIO 9 #መለየት RESET_DIO 8
/ * የ RFID ቤተ -መጽሐፍት ምሳሌ ይፍጠሩ */
RFID RC522 (SDA_DIO ፣ RESET_DIO); int አንባቢ = 0;
ባዶነት ማዋቀር ()
{Serial.begin (9600); / * የ SPI በይነገጽን ያንቁ */ SPI.begin (); / * የ RFID አንባቢን መጀመሪያ/ * RC522.init (); }
ባዶነት loop ()
{ / * ጊዜያዊ ሉፕ ቆጣሪ * / ባይት i;
/* ካርድ ተገኝቷል? */
ከሆነ (RC522.isCard ()) { / * እንደዚያ ከሆነ የመለያ ቁጥሩን * / RC522.readCardSerial ();
/ * የመለያ ቁጥሩን ወደ UART */ ለ (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum ፣ DEC)) ያውጡ። //Serial.print(RC522.serNum ፣ HEX); } Serial.print (","); Serial.print (አንባቢ ++); Serial.println (); } መዘግየት (1000); }
ደረጃ 3 - MySQL ን ማቀናበር
- ለ MySQL የ Wamp አገልጋይ ይጫኑ እና ውሂብ ለማከማቸት ያዋቅሩት (
- የ wamp serveropen MySQL ኮንሶልን ያሂዱ
- የውሂብ ጎታ ይምረጡ
- ከዚያ ለውሂብዎ ሰንጠረዥን ይፍጠሩ
ሰንጠረዥ rfid (መታወቂያ int (8) ፣ ማስመሰያ int (1) ፣ ስም ቫርቻር (20) ፣ መጠን int (4)) መፍጠር ፤
የ RFID መለያ እሴትዎን እንዴት ማግኘት እንደሚችሉ ለመማር አሁን ይህንን አገናኝ ይመልከቱ እና ውሂብ ለማስገባት ከዚህ በታች ያለውን ኮድ ይጠቀሙ። የመታወቂያ እሴትን በ RFID መለያ እሴት መተካትዎን አይርሱ።
ወደ rfid እሴቶች ያስገቡ (3756178 ፣ 1 ፣ ‘እርሳስ’ ፣ 20);
የመለያ እሴቱን ለመጀመሪያ ጊዜ ካነበቡ በኋላ በራስ -ሰር ወደ 2 ይቀየራል ፣ በዲቢ ውስጥ ያልገባውን ካርድ ሲያነቡ 0 ን አይጠቀምም 0 ይመድባል ከዚያም እንደ ያልታወቀ ካርድ ያሳያል።.
ደረጃ 4 - IDE ን ማቀናበር
- የሂደቱን አይዲኢ ያውርዱ እና ይጫኑ 2.2.1
- ከላይ የተሰጠውን ዚፕ ወደ MyDocuments/Processing/Libraries ያውጡ
- አሁን IDE ን ይክፈቱ እና ቤተ -መጽሐፍት በትክክል እንደተጫነ ያረጋግጡ ወይም ከላይ ባለው ምስል ላይ እንዳልሆነ ያረጋግጡ
- ከዚያ ከዚህ በታች ያለውን ኮድ ለመቅዳት ይቅዱ እና የራስዎን ስም ይሰይሙ
ማስመጣት de.bezier.data.sql.*; የማስመጣት ሂደት. // java.math. BigInteger ን ያስመጡ።
// የተፈጠረ 2005-05-10 በ fjenett
// ዘምኗል fjenett 20080605
MySQL dbconnection;
ሕብረቁምፊ s = ""; int Wheight = 700; int ወርድ = 1200; ረጅም መታወቂያ; int ማስመሰያ; int መጠን; int ጠቅላላ = 0;
ሕብረቁምፊ a = {"NULL" ፣ "NULL"};
int መጨረሻ = 10; // ቁጥር 10 ASCII ለ linefeed (የ serial.println መጨረሻ) ነው ፣ በኋላ እኛ የግል መልእክቶችን ለማፍረስ ይህንን እንፈልጋለን ሕብረቁምፊ ተከታታይ; // ‹ተከታታይ› የተባለ አዲስ ሕብረቁምፊ ያውጁ። ሕብረቁምፊ የቁምፊዎች ቅደም ተከተል ነው (የውሂብ ዓይነት “ቻር” በመባል ይታወቃል) ተከታታይ ወደብ; ሕብረቁምፊ ከርር ፣ ቀዳሚ ፣ ስም; PFont f;
ባዶነት ማዋቀር ()
{// መጠን (ስፋት ፣ ወርድ); መጠን (700, 500); f = createFont ("Arial", 24, true); // ይህ ምሳሌ የ // mysql አገልጋዩን በአከባቢ (በ ‹አካባቢያዊhost› ላይ) እያሄዱ እንደሆኑ ያስባል። // // ይተካሉ-የተጠቃሚ ስም-፣-የይለፍ ቃል-በ mysql- መለያዎ። // ሕብረቁምፊ ተጠቃሚ = "ሥር"; ሕብረቁምፊ ማለፊያ = ""; የሚጠቀምበት የውሂብ ጎታ ስም // ሕብረቁምፊ የውሂብ ጎታ = "IOT_Database"; / የተፈጠረውን የጠረጴዛ ስም/ String table = ""; // ከአገልጋይ የውሂብ ጎታ ጋር ይገናኙ "localhost" dbconnection = new MySQL (ይህ ፣ “localhost” ፣ የውሂብ ጎታ ፣ ተጠቃሚ ፣ ማለፊያ); ወደብ = አዲስ ተከታታይ (ይህ ፣ Serial.list () [0] ፣ 9600); // ወደብ እና የባውድ መጠን (ከአርዱዲኖ ጋር መዛመድ አለበት) ወደብ.ኩላር () ጋር በመመደብ ዕቃውን ማስጀመር። የመጀመሪያውን ንባብ ከሚጥለው ተከታታይ ቤተ -መጽሐፍት/ ተግባር ፣ እኛ ከአርዱዲኖ ተከታታይ = port.readStringUntil (መጨረሻ) በሕብረቁምፊ መሃል ማንበብ ከጀመርን። // ሕብረቁምፊውን ከተከታታይ ወደብ እስከ ህትመት ድረስ የሚያነብ እና ከዚያ ሕብረቁምፊ ተለዋዋጭ (‹ተከታታይ› ተብሎ የሚጠራው) ተከታታይ = ባዶ ነው። } ባዶ ባዶ () (ዳራ (255)); textFont (ረ, 24); መሙላት (0); ጽሑፍ ("ጠቅላላ መጠን Rs:", 400, 400); ጽሑፍ (ጠቅላላ ፣ 585 ፣ 400); ውሂብ (); ሳለ (port.available ()> 0) {// ከተከታታይ ወደብ የሚመጣ ውሂብ እስካለ ድረስ ያንብቡት እና ያከማቹት ተከታታይ = port.readStringUntil (መጨረሻ); } ከሆነ (ተከታታይ! = ባዶ) {prev = curr; ከር = ሀ [1]; ሀ = መከፋፈል (ተከታታይ ፣ '፣'); // ((curr).equals (prev)) {//} ሌላ {// println ("curr "፣ ኩር); // println (“ቀዳሚ” ፣ ቀዳሚ); ተግባር (); }}}
ባዶ ተግባር ()
{ከሆነ (dbconnection.connect ()) {// አሁን መልሰው ያንብቡት // dbconnection.query ("መታወቂያ ="+a [0]+"") ከ "rfid ይምረጡ"); ሳለ (dbconnection.next ()) {ID = dbconnection.getInt («መታወቂያ»); token = dbconnection.getInt ("ማስመሰያ"); መጠን = dbconnection.getInt ("መጠን"); } ከሆነ (ማስመሰያ == 0) {println («እሺ»); textFont (ረ, 54); መሙላት (255 ፣ 0 ፣ 0 ፣ 160); ጽሑፍ ("ያልታወቀ ንጥል ተገኝቷል", 50, 300); መዘግየት (2000); } ሌላ ከሆነ (ማስመሰያ == 1) {ጠቅላላ = ጠቅላላ+መጠን ፤ dbconnection.query ("ዝማኔ rfid set token = 2 የት ID ="+a [0]+""); println ("እሺ"); textFont (ረ, 24); መሙላት (255 ፣ 0 ፣ 0 ፣ 160); // ጽሑፍ (“ንጥል ታክሏል” ፣ 10 ፣ 30); መዘግየት (1000); } ሌላ ከሆነ (ማስመሰያ == 2) {ጠቅላላ = ጠቅላላ-መጠን; dbconnection.query ("ዝማኔ rfid set token = 1 የት መታወቂያ ="+ሀ [0]+""); println ("እሺ"); textFont (ረ, 24); መሙላት (255 ፣ 0 ፣ 0 ፣ 160); // ጽሑፍ (“ንጥል ተወግዷል” ፣ 10 ፣ 30); መዘግየት (1000); } ሌላ {} dbconnection.close (); } ሌላ {// ግንኙነት አልተሳካም! }}
ባዶ ውሂብ ()
{int position = 100; ከሆነ (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid token = 2"); ሳለ (dbconnection.next ()) {ስም = dbconnection.getString ("ስም")); መጠን = dbconnection.getInt ("መጠን"); textFont (ረ, 24); መሙላት (0 ፣ 0 ፣ 255 ፣ 160); ጽሑፍ (ስም ፣ 10 ፣ አቀማመጥ); መሙላት (0 ፣ 0 ፣ 0 ፣ 160); ጽሑፍ (መጠን ፣ 215 ፣ አቀማመጥ); አቀማመጥ = አቀማመጥ+30; }} dbconnection.close (); }
ደረጃ 5 - ፕሮግራሙን ማከናወን
የአሂድ አዝራሩን ጠቅ በማድረግ ፕሮግራሙን ያሂዱ የብቅ ባይ መስኮቱ መዘጋት በ MySQL ውስጥ የተከማቸ መረጃን ለማየት መገደልን ያቆማል።
ደረጃ 6 መደምደሚያ
ትምህርቴን ስላነበባችሁ ላመሰግናችሁ እወዳለሁ። ጠቃሚ ሆኖ ካገኙት እና መውደድን (ተወዳጅ) ቢጥሉ ወይም እነዚህን ትምህርት ሰጪዎች ለማድረግ እንድነሳሳ ስለሚያደርግኝ ማንኛውንም ነገር ቢጠይቁኝ አደንቃለሁ። ማወቅ ያለብዎትን ማንኛውንም ጥያቄ ለመጠየቅ ነፃነት ይሰማዎ…
መልካም ኮድ አርዱዲኖ…
የሚመከር:
በበይነመረብ ላይ ኖድሙክን በመጠቀም በብላይንክ መተግበሪያ በኩል መሪን መቆጣጠር 5 ደረጃዎች
በበይነመረብ ላይ ኖደሙክን በመጠቀም በብላይንክ መተግበሪያ በኩል መሪን መቆጣጠር - ጤና ይስጥልኝ ዛሬ እኛ በይነመረብ ላይ ስማርትፎን በመጠቀም እንዴት LED ን መቆጣጠር እንደሚችሉ እናሳይዎታለን
የ Android መተግበሪያ ክፍል 1: ቁርጥራጮችን በመጠቀም የሚረጭ ማያ ገጽ/ኮትሊን 5 ደረጃዎች
የ Android መተግበሪያ ክፍል 1 - ቁርጥራጮችን/ኮትሊን በመጠቀም የሚረጭ ማያ ገጽ - እንደገና ሰላም ፣ ምናልባት ምናልባት አንዳንድ " ነፃ " በኮቪድ 19 ምክንያት በቤት ውስጥ ጊዜ እና ከዚህ በፊት ለመማር የፈለጉትን ርዕሶች ለመመልከት ተመልሰው መሄድ ይችላሉ። የ Android መተግበሪያ ልማት በእርግጠኝነት ለእኔ አንዱ ነው እና ከጥቂት ሳምንታት በፊት ለመስጠት ወሰንኩ
BC547 ትራንዚስተር በመጠቀም 4 -ደረጃ ደረጃዎች በመጠቀም ቀላል የንክኪ ዳሳሽ ያድርጉ
BC547 ትራንዚስተር በመጠቀም ቀላል የመዳሰሻ ዳሳሽ ያድርጉ - ሂይ ጓደኛ ፣ ዛሬ እኔ ትራንዚስተር BC547 ን በመጠቀም ቀላል የንክኪ ዳሳሽ አደርጋለሁ። ይህ ወረዳ በጣም ቀላል እና በጣም ፍላጎት ያለው ወረዳ ነው። እንጀምር ፣
ለ BLE ሞጁሎች ቀላል IOS መተግበሪያ 4 ደረጃዎች
ለ BLE ሞጁሎች ቀላል የ IOS መተግበሪያ - ይህ ሊማር የሚችል በጣም መሠረታዊ ተግባር ያለው የ iOS መተግበሪያን እንዴት መፍጠር እንደሚችሉ ያስተላልፋል። ይህ አስተማሪ የ iOS BLE መተግበሪያን የማድረግ አጠቃላይ ሂደቱን አያልፍም። እሱ አንዳንድ አስፈላጊ ንጥረ ነገሮችን በከፍተኛ ደረጃ አጠቃላይ እይታ ብቻ ይሰጣል
ቀላል የስልክ መጽሐፍ መተግበሪያ እንዴት እንደሚፈጠር C#: 7 ደረጃዎች
ቀለል ያለ የስልክ መጽሐፍ መተግበሪያ እንዴት እንደሚፈጠር ሐ#ሰላም ፣ እኔ ሉቃስ ነኝ ፣ የመጀመሪያ አስተማሪዬ ነው። ማይክሮሶፍት ቪዥዋል ስቱዲዮ ውስጥ C#ን በመጠቀም ቀላል የስልክ መጽሐፍ መተግበሪያን እንዴት መፍጠር እንደሚችሉ ላሳይዎት እፈልጋለሁ። ይህንን ፕሮጀክት ከማድረግዎ በፊት የፕሮግራም መሰረታዊ ዕውቀት ቢኖረን ጥሩ ነው። እንጀምር. እኛ