ዝርዝር ሁኔታ:
ቪዲዮ: AVR/Arduino RFID Reader በ UART ኮድ በ C: 4 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:35
RFID በሁሉም ቦታ የሚገኝ እብደት ነው - ከዕቃ ቆጠራ ስርዓቶች እስከ ባጅ መታወቂያ ስርዓቶች። ወደ የመደብር ሱቅ ከሄዱ እና እነዚያን የብረት መመርመሪያ በሚመስሉ ነገሮች በመግቢያ/መውጫ ነጥቦች ላይ ከተጓዙ ፣ ከዚያ RFID ን አይተውታል። RFID ን በማቀናበር ላይ ጥሩ መረጃ ለማግኘት ብዙ ቦታዎች አሉ ፣ እና ይህ አስተማሪው ተከታታይ ግቤትን ለማንበብ በሚያስፈልገው የ C ኮድ ላይ በማተኮር ፓራላክስ RFID አንባቢን (Serial TTL) ን በ AVR ላይ በመጫን ላይ ያተኩራል። ኮዱ በ C ውስጥ ነው እና ማንኛውንም ውጫዊ ቤተመጽሐፍት አይጠቀምም። በእውነቱ ፣ ከ RFID አንባቢው የባውድ ፍጥነት ጋር በማመሳሰል እና የተገናኘበትን ዲጂታል ፒን በማንበብ UART ን ሳይጠቀም በቀጥታ 2400 ባውድን ይናገራል። ተደሰተ? እኔ ራሴ.
ደረጃ 1: ዕቃዎቹን ያግኙ
የሚከተሉትን ክፍሎች ዝርዝር ያስፈልግዎታል
- RFID Reader (Parallax #28140 $ 39.99)
- የ RFID መለያ (ፓራላክስ #32397 $ 0.99)
- AVR ወይም Arduino clone (የአክሲዮን AVR ን የሚጠቀሙ ከሆነ max232 ፣ 5 x 1uF capacitors ፣ እና DE9 አያያዥ ያስፈልግዎታል)
- ብረታ የሌለው የዳቦ ሰሌዳ
አማራጭ
- 4 አቀማመጥ ራስጌ
- ሽቦ
(እና የመለያ መረጃን ለማገናኘት max232 ወዘተ) እንዲሁም የመለያ መረጃን በ RS232 በኩል በመላክ ምትክ የእርስዎን ተወዳጅ LCD ማያ ገጽ ማገናኘት ይችላሉ።
ደረጃ 2 - ክፍሎቹን ያገናኙ
የነገሮች የሃርድዌር ጎን በጣም ቀላል ነው። የእኔን የ RFID አንባቢን በቀጥታ ወደ ዳቦ ሰሌዳዬ ከማስገባት ይልቅ የ RFID ን አንባቢን በተሻለ ሁኔታ ለማንቀሳቀስ ፈጣን ገመድ ለመሥራት መርጫለሁ። ለዚያ ፣ እኔ ከተኛሁበት እና በሶስት ሽቦዎች ላይ ከሸጥኳት አንዲት ሴት ሶኬት ራስጌ ስትሪፕ 4 ቦታዎችን ብቻ አቋረጥኩ። የኤሌክትሪክ ቴፕ የጌትቶ አገናኝን አጠናቀቀ። የ RFID አንባቢ 4 ግንኙነቶች አሉት
- ቪ.ሲ
- አንቃ
- ውጣ
- Gnd
ምናልባት እርስዎ እንደገመቱት ፣ Vcc ን ከ +5V እና Gnd ወደ መሬት ያገናኙ። የ RFID አንባቢ ብዙ ኃይል ስለሚወስድ ፣ እሱን ለማጥፋት እና በተለያዩ ክፍተቶች ላይ ለማብራት የ ENABLE ፒን መታ ማድረግ ይችላሉ። እኔ በቀላሉ ለመቀጠል መርጫለሁ። የተገላቢጦሽ ስለሆነ እሱን ለማግበር LOW ይጎትቱትታል። በአማራጭ ፣ ከመሬት ጋር ማገናኘት ይችላሉ። እኔ ከወሰንኩ የማስቻል/የማሰናከል አማራጮችን ለመስጠት ከፒንዲ 3 ጋር አገናኘሁት። የ OUT ፒን መለያው ካነበበ በኋላ አንባቢው ተከታታይ መረጃውን የሚልክበት ነው። ከፒንዲ 2 ጋር አገናኘሁት። ማስታወሻ ፣ በፓራላክስ ዩኒቨርስ ውስጥ ፣ ቀይ ማለት ሂድ ማለት ነው። ያ ማለት ፣ አረንጓዴ LED ማለት አሃዱ እንቅስቃሴ -አልባ እና ስራ ፈት ነው ፣ ቀይ LED ደግሞ አሀዱ ንቁ ነው ማለት ነው። * ሽርሽር* ምስል ይሂዱ።
ደረጃ 3 - ኮዱን ይፃፉ
ከ RFID አንባቢ ውሂቡን ለማንበብ ፣ መለያ መቼ እንደተሰጠ ማወቅ አለብዎት ፣ ውሂቡን ከተከታታይ ወደብ ያውጡ ፣ ከዚያ ወደ አንድ ቦታ ይላኩት።
የ RFID አንባቢ የውሂብ ቅርጸት
የ Parallax RFID አንባቢ በ 2400 ባውድ ቋሚ እና የበረዶ ፍጥነት ፍጥነት መረጃን ይልካል። የ RFID መለያ 10 ባይት ነው። ስህተትን ለይቶ ለማወቅ/ለማረም ፣ አንባቢው ከዘፈቀደ ጫጫታ ሊነሳ ስለሚችል ፣ ባለ 10 ባይት RFID በመነሻ እና በማቆሚያ ተዘግቷል። የመነሻ ተልዕኮ የመስመር ምግብ (0x0A) እና የማቆሚያ ላኪው የጋሪ መመለሻ (0x0 ዲ) ነው። ይህን ይመስላል -
[ጀምር ሳንቲንኤል | ባይት 1 | ባይት 2 | ባይት 3 | ባይት 4 | ባይት 5 | ባይት 6 | ባይት 7 | ባይት 8 | ባይት 9 | ባይት 10 | Sentinel አቁም]እነዚህ ሦስቱ ዋና ደረጃዎች ናቸው።
መለያ ሲቀርብ ይወቁ
ክትትል በሚደረግበት ፒን ላይ ለውጥ መከሰቱን የጽኑዌር ማሳወቂያ በ AVR ላይ የፒን ለውጥ ማቋረጥን እጠቀም ነበር። ለዚህ AVR ን ማዋቀር ቀላል እና ባንዲራውን ማቀናበር ፣ የትኛውን ፒን መከታተል እንደሚፈልጉ ለ MCU መንገር እና ዓለም አቀፍ ማቋረጫ ቢትን ማዘጋጀት ይጠይቃል። PCINT ን ያዋቅሩ
BSET (PCICR ፣ PCIE2); // የፒን ለውጥ ማቋረጫ መቆጣጠሪያ ምዝገባ pcie2 BSET (PCMSK2 ፣ PCINT18); // ለ PCINT18 (PD2) BSET (SREG ፣ 7) የፒን ለውጥ መቋረጥን ያንቁ ፤ // SREG I-bit ን ያዘጋጁበማቋረጫ ቬክተርዬ ውስጥ መላውን ባይት በጥቂቱ አንብቤ ባይት በዓለም አቀፋዊ ባልተለመደ የቁምፊ ድርድር ውስጥ ISR ን አጭር ለማድረግ ይፈልጋሉ። በእያንዳንዱ መቋረጥ የሚከተሉትን አደርጋለሁ
- ትንሽ ጅምር ላይ መሆኔን ለማረጋገጥ ይፈትሹ
- በ 2400 ባውድ (የ RFID አንባቢ ፍጥነት) በመካከለኛ ምት ላይ ጊዜውን ያቁሙ
- የመነሻውን ቢት ይዝለሉ እና ወደ ቀጣዩ ቢት መሃል ያቁሙ
- እያንዳንዱን ትንሽ ወደ ያልተፈረመ ኢንቲጀር ያንብቡ
- 8 ቢት ሲኖረኝ ፣ ባይት ወደ ቁምፊ ድርድር ያስገቡ
- እኔ 12 ባይት ስሰበስብ ለስህተት መለያ መለያው እንደተነበበ ለ MCU ያሳውቁ።
በተከታታይ ልምምዶች ውስጥ በሙከራ ለተወሰኑ መዘግየቶች ከዴቪድ ሜሊስ ኮዱን ከቀየረው ከሚካኤል ሃርት የ SoftSerial ኮድን ቀይሬያለሁ።
RS232 ውፅዓት ይቃኙ
የ PCINT አሠራር የ RS232 ን ውፅዓት ከ RFID አንባቢ ለማንበብ ኮዱን ይ.ል። እኔ 12 ባይት ባገኘሁበት ጊዜ (ባለ 10 ባይት RFID እና ላኪዎች) እኔ bDataReady ን ወደ 1 አዘጋጀሁ እና ዋናው ሉፕ ውሂቡን እንዲያከናውን እና እንዲያሳይ ያድርጉ።
// ይህ የሚያቋርጥ ተቆጣጣሪ ነው ISR (PCINT2_vect) {ከሆነ (BCHK (PIND ፣ RFID_IN)) // የመነሻ ቢት ወደ ዝቅተኛ ይመለሳል ፤ uint8_t ቢት = 0; TunedDelay (CENTER_DELAY); // ለ (uint8_t x = 0; x <8; x ++) {TunedDelay (INTRABIT_DELAY)/ የመነሻ ቢት ላይ ማዕከል; // ትንሽ ዝለል ፣ ወንድም… ከሆነ (BCHK (PIND ፣ RFID_IN)) BSET (ቢት ፣ x) ፤ ሌላ BCLR (ቢት ፣ x); } TunedDelay (INTRABIT_DELAY); // ዝለል ማቆሚያ ቢት RFID_tag [rxIdx] = ቢት; ++ rxIdx; ከሆነ (rxIdx == 12) bDataReady = 1;}
መለያዎን ያሳዩ
በዋናው () ፣ ለ (ለዘላለም) loop ፣ bDataReady ተዘጋጅቶ እንደሆነ ለማየት እፈትሻለሁ ፣ ይህም አጠቃላይ የ RFID መዋቅር ተልኳል። ከዚያ ትክክለኛ መለያ መሆኑን ለማየት እፈትሻለሁ (ማለትም ቁምፊዎች 0x0A እና 0x0D በቅደም ተከተል ይጀምሩ እና ያቁሙ) ፣ እና እንደዚያ ከሆነ የ RS232 ግንኙነቴን እልክለታለሁ።
ለ (;;) {ከሆነ (bDataReady) {#ifdef _DEBUG_ USART_tx_S ("ባይት ጀምር:"); USART_tx_S (itoa (RFID_tag [0] ፣ & ibuff [0], 16))); ibuff [0] = 0; ibuff [1] = 0; USART_tx_S ("\ n ባይት አቁም"); USART_tx_S (itoa (RFID_tag [11] ፣ & ibuff [0], 16))) ፤#endif if (ValidTag ()) {USART_tx_S ("\ nRFID Tag:"); ለ (uint8_t x = 1; x <11; x ++) {USART_tx_S (itoa (RFID_tag [x] ፣ ibuff ፣ 16))); ከሆነ (x! = 10) USART_tx (& apos: & apos); } USART_tx_S ("\ n"); } rxIdx = 0; bDataReady = 0; }}
ደረጃ 4 ኮድ እና ስንብት
ይህ ገጽ አግባብነት ካለው ኮድ ጋር የዚፕ ፋይል ይ containsል። በ AVR ስቱዲዮ 4.16 ውስጥ ተፃፈ። የፕሮግራም ሰሪ ማስታወሻ ደብተር ፣ ግርዶሽ ወይም ቪ (ወይም ሌላ ነገር) የሚጠቀሙ ከሆነ የታመነ Makefile ን ወደ ማውጫው መቅዳት እና እነዚህን ፋይሎች ወደ ምንጭ መስመር ማከል ያስፈልግዎታል። 16 ሜኸ MCU። በተለየ የሰዓት ድግግሞሽ የሚሮጡ ከሆነ ፣ በባውድ የጥራጥሬ መጠን ላይ ለማስተካከል የተስተካከሉ መዘግየቶችን በሙከራ መወሰን ያስፈልግዎታል። ይህ አስተማሪ በሆነ መንገድ እንደረዳዎት ተስፋ አደርጋለሁ። እንዴት ሊሻሻል እንደሚችል ማንኛውም ጥቆማዎች ካሉዎት እኔን ለማሳወቅ አያመንቱ!
የሚመከር:
አርዱinoኖ እንደ አይኤስፒ -- የሄክስ ፋይልን በ AVR ውስጥ ያቃጥሉ -- በ AVR ውስጥ ፊውዝ -- አርዱዲኖ እንደ ፕሮግራም አውጪ 10 ደረጃዎች
አርዱinoኖ እንደ አይኤስፒ || የሄክስ ፋይልን በ AVR ውስጥ ያቃጥሉ || በ AVR ውስጥ ፊውዝ || አርዱinoኖ እንደ ፕሮግራም አውጪ ……………………… እባክዎን ለተጨማሪ ቪዲዮዎች የዩቲዩብ ቻናሌን SUBSCRIBE ያድርጉ …….. ይህ ጽሑፍ ሁሉም ስለ አርዱዲኖ እንደ አይስፕ ነው። የሄክስ ፋይልን ለመስቀል ከፈለጉ ወይም ፊውዝዎን በ AVR ውስጥ ማዘጋጀት ከፈለጉ ከዚያ የፕሮግራም ባለሙያ መግዛት አያስፈልግዎትም ፣ እርስዎ ማድረግ ይችላሉ
Atmega128A የተመጣጠነ የሞተር መንዳት - ATMEL ICE AVR Timer UART PWM መቆጣጠሪያ 4 ደረጃዎች
Atmega128A የተመጣጠነ የሞተር መንዳት - ATMEL ICE AVR Timer UART PWM መቆጣጠሪያ - በዚህ ትምህርት ውስጥ ፣ በ UART መያዣ ሰዓት ቆጣሪ በኩል በ PWM ግንኙነት አማካኝነት የዲሲ ሞተርን እንዴት እንደሚቆጣጠሩ እነግርዎታለሁ በመጀመሪያ ፣ የ AVR ኮር ስርዓት ልማት ቦርድ እንጠቀማለን። በ 4 ዶላር አካባቢ በ Aliexpress ላይ ሊያገኙት የሚችሉት። የልማት ቦርድ
CH340 UART ተከታታይ መለወጫ ገመድ በመጠቀም - 4 ደረጃዎች ወደ Arduino Pro Mini ፕሮግራም ወይም ኮድ እንዴት እንደሚጫኑ
CH340 UART ተከታታይ መለወጫ ገመድ በመጠቀም ፕሮግራም ወይም ኮድ ወደ Arduino Pro Mini እንዴት እንደሚሰቀል የዩኤስቢ TTL ተከታታይ ኬብሎች በዩኤስቢ እና በተከታታይ UART በይነገጾች መካከል ግንኙነትን የሚያቀርቡ የዩኤስቢ ወደ ተከታታይ መለወጫ ኬብሎች ናቸው። በ 5 ቮልት ፣ 3.3 ቮልት ወይም በተጠቀሱት የምልክት ደረጃዎች wi
MFRC522 RFID Reader ን ከአርዱዲኖ ጋር ይጠቀሙ - 5 ደረጃዎች
MFRC522 RFID አንባቢን ከአርዱዲኖ ጋር ይጠቀሙ -ሰላም! የቁልፍ ካርድ ወይም የቁልፍ ፎብ ስካነር ለማድረግ እንዴት ቀዝቀዝ ያለ ፣ ቀላል ማድረግ እንደሚችሉ አስተምራችኋለሁ! የ RFID MFRC522 ሞዱል ፣ ሊድ ፣ ተቃዋሚዎች ፣ ሽቦዎች ፣ አርዱዲኖ ኡኖ ፣ የዳቦ ሰሌዳ እና የ 9 ቪ ባትሪ (አማራጭ) ካለዎት ከዚያ ቀዝቃዛ ለማድረግ መሄድ ጥሩ ነው ፣
Raspberry Pi Talking Barcode Reader: 12 ደረጃዎች
Raspberry Pi Talking Barcode Reader: Fig.1 ባርኮድ ስካነር ከ DX.com አጠቃላይ ዕይታ አዘምን - አጭር የቪዲዮ ማሳያ https://youtu.be/b905MLfGTcMM እናቴ በምግብ ዕቃዎች ላይ ስያሜዎችን ማንበብ አልቻለችም ፣ ስለዚህ መፍትሄዎችን ለመፈለግ ሄድኩ። ያንን የአሞሌ ኮድ አንባቢዎች ለዓይነ ስውራን ካዩ በኋላ