ዝርዝር ሁኔታ:
- አቅርቦቶች
- ደረጃ 1: አካላዊ ግንኙነቶች
- ደረጃ 2 - ቤተ -መጽሐፍት እንዴት እንደሚጠቀሙ
- ደረጃ 3 መሠረታዊ መረጃን ያስተላልፉ
- ደረጃ 4 መሠረታዊ መረጃን ይቀበሉ
- ደረጃ 5: ሙከራ
ቪዲዮ: የአርዱዲኖ ተከታታይ ግንኙነት -5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
ብዙ የአርዱዲኖ ፕሮጀክቶች በብዙ አርዱኢኖዎች መካከል መረጃን በማስተላለፍ ላይ ይተማመናሉ።
የ RC መኪናን ፣ የአርሲ አውሮፕላን ወይም የርቀት ማሳያ ያለው የአየር ሁኔታ ጣቢያ ዲዛይን እያደረጉ ያሉ የትርፍ ጊዜ ማሳለፊያዎች ይሁኑ ፣ ተከታታይ መረጃን ከአንድ አርዱinoኖ ወደ ሌላ እንዴት በአስተማማኝ ሁኔታ እንደሚያስተላልፉ ማወቅ ያስፈልግዎታል። እንደ አለመታደል ሆኖ የትርፍ ጊዜ ማሳለፊያዎች ተከታታይ የውሂብ ግንኙነት በራሳቸው ፕሮጄክቶች ውስጥ እንዲሠሩ ለማድረግ አስቸጋሪ ነው ።ይህ ነው ምክንያቱም ተከታታይ መረጃ እንደ ባይት ዥረት ስለሚላክ ነው።
በባይት ዥረት ውስጥ ምንም ዓይነት ዐውደ -ጽሑፍ ከሌለ ውሂቡን ለመተርጎም ፈጽሞ የማይቻል ነው። ውሂቡን መተርጎም ሳይችሉ የእርስዎ አርዱኢኖዎች በአስተማማኝ ሁኔታ መገናኘት አይችሉም። ቁልፉ መደበኛ ተከታታይ ፓኬት ዲዛይን በመጠቀም ይህንን የአውድ ውሂብ ወደ ባይት ዥረት ማከል ነው።
ተከታታይ የፓኬት ንድፍ ፣ የፓኬት መሙላት እና የፓኬት መተንተን ውስብስብ እና ለመድረስ አስቸጋሪ ነው። እንደ እድል ሆኖ ለአርዱዲኖ ተጠቃሚዎች ፣ ይህንን ያለ ውስብስብ አመክንዮ ከትዕይንቱ በስተጀርባ ሊያደርጉ የሚችሉ ቤተ -መጻህፍት አሉ ፣ ስለሆነም ያለ ተጨማሪ ጭንቅላት ፕሮጀክትዎን ወደ ሥራ በማምጣት ላይ እንዲያተኩሩ። ይህ Instructable SerialTransfer.h ን ለተከታታይ ፓኬት ማቀነባበሪያ ይጠቀማል።
በአጭሩ - ይህ Instructable ቤተ -መጽሐፍት SerialTransfer.h ን በመጠቀም በማንኛውም ፕሮጀክት ውስጥ ጠንካራ ተከታታይ መረጃን በቀላሉ እንዴት መተግበር እንደሚችሉ ያያል። በጠንካራ ተከታታይ ግንኙነት ላይ ስለ ዝቅተኛ ደረጃ ጽንሰ-ሀሳብ የበለጠ ለማወቅ ከፈለጉ ፣ ይህንን አጋዥ ስልጠና ይመልከቱ።
አቅርቦቶች
-
2 አርዱኢኖዎች
ብዙ የሃርድዌር UART ዎች (ማለትም አርዱዲኖ ሜጋ) ያላቸውን አርዱኢኖዎች እንዲጠቀሙ በጣም ይበረታታል።
- የሚጣበቅ ገመድ
-
SerialTransfer.h ን ይጫኑ
በአርዱዲኖ አይዲኢ ቤተመፃሕፍት ሥራ አስኪያጅ በኩል ይገኛል
ደረጃ 1: አካላዊ ግንኙነቶች
ተከታታይ ግንኙነቶችን በሚጠቀሙበት ጊዜ ጥቂት የሽቦ ነጥቦችን ግምት ውስጥ ማስገባት ያስፈልጋል-
- ሁሉም ምክንያቶች መገናኘታቸውን ያረጋግጡ!
- Arduino TX (ማስተላለፍ) ፒን ከሌላው የአርዱዲኖ RX (ተቀበል) ፒን ጋር መገናኘት አለበት
ደረጃ 2 - ቤተ -መጽሐፍት እንዴት እንደሚጠቀሙ
SerialTransfer.h ብጁ የጥቅል ፕሮቶኮል በመጠቀም ብዙ መረጃዎችን በቀላሉ እንዲልኩ ያስችልዎታል። ከዚህ በታች የሁሉም የቤተ -መጽሐፍት ባህሪዎች መግለጫ ነው - ብዙዎቹ በዚህ መማሪያ ውስጥ በኋላ እንጠቀማለን-
SerialTransfer.txBuff
ይህ ከመተላለፉ በፊት በተከታታይ የሚላኩ ሁሉም የክፍያ ጭነት መረጃዎች የተደበቁበት ባይት ድርድር ነው። ወደ ሌላ አርዱinoኖ ለመላክ ይህንን ቋት በውሂብ ባይት መሙላት ይችላሉ።
SerialTransfer.rxBuff
ይህ ከሌላው አርዱዲኖ የተቀበለው ሁሉም የክፍያ ጭነት ውሂብ የተደበቀበት ባይት ድርድር ነው።
SerialTransfer.bytes ያንብቡ
በሌላው አርዱinoኖ የተቀበለ እና በ SerialTransfer.rxBuff ውስጥ የተከማቹ የክፍያ ጭነት ባይት ብዛት
SerialTransfer.begin (ዥረት እና _ፖርት)
የቤተ መፃህፍቱን ክፍል ምሳሌ ያስጀምራል። ማንኛውንም “ተከታታይ” የመማሪያ ክፍልን እንደ ልኬት ማለፍ ይችላሉ - “የሶፍትዌር ሰርቪስ” ክፍል ዕቃዎችን እንኳን!
SerialTransfer.sendData (const uint16_t & messageLen)
ይህ የእርስዎ አርዱኢኖ ወደ ሌላኛው አርዱዲኖ በማስተላለፊያው ቋት ውስጥ የ “መልእክት ሌን” የባይት ብዛት እንዲልክ ያደርገዋል። ለምሳሌ ፣ “messageLen” 4 ከሆነ ፣ የመጀመሪያዎቹ 4 ባይት የ SerialTransfer.txBuff በተከታታይ ወደ ሌላው አርዱinoኖ ይላካሉ።
SerialTransfer.available ()
ይህ የእርስዎ አርዱዲኖ ማንኛውንም የተቀበለውን ተከታታይ ውሂብ ከሌላው አርዱዲኖ እንዲተነተን ያደርገዋል። ይህ ተግባር ቡሊያን “እውነተኛ” ን ከመለሰ ፣ ይህ ማለት አዲስ ፓኬት በተሳካ ሁኔታ ተንትኗል እና አዲስ የተቀበለው የፓኬት ውሂብ በ SerialTransfer.rxBuff ውስጥ ተከማችቷል/ይገኛል።
SerialTransfer.txObj (const T & val ፣ const uint16_t & len, const uint16_t & index = 0)
በክርክር “ጠቋሚ” በተገለፀው መሠረት በዘፈቀደ የነገሮች (ባይት ፣ int ፣ ተንሳፋፊ ፣ ድርብ ፣ አወቃቀር ፣ ወዘተ…) ባይት ቁጥር “ባንድ” ብዛት ያስተላልፋል።
SerialTransfer.rxObj (const T & val ፣ const uint16_t & len ፣ const uint16_t & index = 0)
ከተቀበለው ቋት (rxBuff) በ “ጠቋሚ” ክርክር በተጠቀሰው የዘፈቀደ ነገር (ባይት ፣ int ፣ ተንሳፋፊ ፣ ድርብ ፣ አወቃቀር ፣ ወዘተ…) ከመረጃ ጠቋሚው ጀምሮ የ “ሌን” የባይት ቁጥርን ያነባል።
ማስታወሻ:
መረጃን ለማስተላለፍ ቀላሉ መንገድ በመጀመሪያ መላክ የሚፈልጉትን ሁሉንም ውሂብ የያዘ መዋቅርን መግለፅ ነው። በመቀበያው መጨረሻ ላይ አርዱዲኖ ተመሳሳይ የሆነ መዋቅር ሊኖረው ይገባል።
ደረጃ 3 መሠረታዊ መረጃን ያስተላልፉ
የሚከተለው ንድፍ ሁለቱንም የ ADC እሴት የአናሎግ አንባቢ (0) እና የአናሎግ አንባቢ (0) እሴት ወደ ቮልቴጅ ወደ አርዱinoኖ #2 ያስተላልፋል።
የሚከተለውን ንድፍ ወደ አርዱinoኖ #1 ይስቀሉ
#"SerialTransfer.h" ን ያካትቱ
SerialTransfer myTransfer; struct STRUCT {uint16_t adcVal; ተንሳፋፊ ቮልቴጅ; } ውሂብ; ባዶነት ማዋቀር () {Serial.begin (115200); Serial1.begin (115200); myTransfer.begin (Serial1); } ባዶነት loop () {data.adcVal = analogRead (0); data.voltage = (data.adcVal * 5.0) / 1023.0; myTransfer.txObj (ውሂብ ፣ መጠን (ውሂብ)); myTransfer.sendData (መጠን (ውሂብ)); መዘግየት (100); }
ደረጃ 4 መሠረታዊ መረጃን ይቀበሉ
የሚከተለው ኮድ ከአርዱዲኖ #1 የተቀበሉትን የኤዲሲ እና የቮልቴጅ እሴቶችን ያትማል።
የሚከተለውን ኮድ ወደ አርዱinoኖ #2 ይስቀሉ
#"SerialTransfer.h" ን ያካትቱ
SerialTransfer myTransfer; struct STRUCT {uint16_t adcVal; ተንሳፋፊ ቮልቴጅ; } ውሂብ; ባዶነት ማዋቀር () {Serial.begin (115200); Serial1.begin (115200); myTransfer.begin (Serial1); } ባዶነት loop () {ከሆነ (myTransfer.available ()) {myTransfer.rxObj (ውሂብ ፣ መጠን (ውሂብ)); Serial.print (data.adcVal); Serial.print (''); Serial.println (data.voltage); Serial.println (); } ሌላ ከሆነ (myTransfer.status <0) {Serial.print ("ERROR:"); ከሆነ (myTransfer.status == -1) Serial.println (F ("CRC_ERROR")); ሌላ ከሆነ (myTransfer.status == -2) Serial.println (F ("PAYLOAD_ERROR")); ሌላ ከሆነ (myTransfer.status == -3) Serial.println (F ("STOP_BYTE_ERROR")); }}
ደረጃ 5: ሙከራ
አንዴ ሁለቱም ንድፎች ወደየራሳቸው አርዱኢኖዎች ከተሰቀሉ ፣ ከአርዱዲኖ #1 መረጃ እየተቀበሉ መሆኑን ለማረጋገጥ በ Arduino #2 ላይ ያለውን Serial Monitor ን መጠቀም ይችላሉ!
የሚመከር:
ማይክሮ -ቢት የ MU ራዕይ ዳሳሽ - ተከታታይ ግንኙነት እና የ OLED ማያ ገጽ - 10 ደረጃዎች
ማይክሮ -ቢት የ MU ራዕይ ዳሳሽ - ተከታታይ ግንኙነት እና የ OLED ማያ ገጽ - ይህ ለ MU ራዕይ ዳሳሽ ሦስተኛው መመሪያዬ ነው። እስካሁን ቁጥሮችን እና ቅርጾችን ያላቸውን ካርዶች ለመለየት MU ን ለመጠቀም ሞክረናል ፣ ግን የእኛን MU ዳሳሽ የበለጠ ውስብስብ በሆነ ፕሮጀክት ለማሰስ የተሻለ ውጤት ማግኘት እንፈልጋለን። ያን ያህል መረጃ ማግኘት አልቻልንም
የአርዱዲኖ መሪ ማትሪክስ ግንኙነት ከሱሱ ጋር: 9 ደረጃዎች (ከስዕሎች ጋር)
አርዱዲኖ መሪ ማትሪክስ ግንኙነት ከሱሰርስ ጋር-የ LED ማትሪክስ ወይም የ LED ማሳያ ትልቅ ፣ ዝቅተኛ ጥራት ያለው የነጥብ ማትሪክስ ማሳያ ፣ ለኢንዱስትሪ እና ለንግድ መረጃ ማሳያዎች እንዲሁም ለትርፍ ጊዜ ማሳለፊያ የሰው-ማሽን በይነገጾች ጠቃሚ ነው። ከካቶቻቸው ጋር ባለ 2-ዲ ዲዲዮ ማትሪክስ ያካትታል
አርዱዲኖ እና ፓይዘን ተከታታይ ግንኙነት - የቁልፍ ሰሌዳ ማሳያ 4 ደረጃዎች
አርዱዲኖ እና ፓይዘን ተከታታይ ግንኙነት - የቁልፍ ሰሌዳ ማሳያ - ይህ ፕሮጀክት ለማክ ተጠቃሚዎች የተሰራ ቢሆንም ለሊኑክስ እና ለዊንዶውስም ሊተገበር ይችላል ፣ የተለየ መሆን ያለበት ብቸኛው እርምጃ መጫኑ ነው።
ሽቦዎች LED ዎች በትክክል ተከታታይ Vs ትይዩ ግንኙነት -6 ደረጃዎች
የሽቦ LEDs በትክክል ተከታታይ Vs ትይዩ ግንኙነት - በዚህ ትምህርት ውስጥ ስለ LED - Light Emitting Diodes እና እንዴት ብዙ አሃዶች ካሉ እንዴት ማገናኘት እንደምንችል እያወራን ነው። ይህ ከጅምሩ ባውቀው የምፈልገው አንድ ትምህርት ነው ምክንያቱም ከኤሌክትሮኒክ ወረዳዎች ጋር መገናኘት ስጀምር ጥቂቶችን ገንብቻለሁ
Bluefruit ን በመጠቀም የገመድ አልባ ተከታታይ ግንኙነት 4 ደረጃዎች
ብሉፊ ፍሬን በመጠቀም የገመድ አልባ ተከታታይ ግንኙነት - ሽቦዎችዎን በብሉቱዝ ዝቅተኛ የኃይል ግንኙነት ለመተካት ቀላል የደረጃ በደረጃ መመሪያ እዚህ አለ - ይህንን ለማወቅ ትንሽ ጊዜ ወስዶብኛል ምክንያቱም ይህንን በዘመናዊ የብሉቱዝ ዝቅተኛ የኃይል ቴክኖሎጂ ይህንን ለማድረግ ምንም ሰነድ የለም። እንደ ብሉፍሩይ