ዝርዝር ሁኔታ:

I2C ን ከዚዮ ሞጁሎች እና ከ Qwiic ጋር ማስተዋወቅ -6 ደረጃዎች
I2C ን ከዚዮ ሞጁሎች እና ከ Qwiic ጋር ማስተዋወቅ -6 ደረጃዎች

ቪዲዮ: I2C ን ከዚዮ ሞጁሎች እና ከ Qwiic ጋር ማስተዋወቅ -6 ደረጃዎች

ቪዲዮ: I2C ን ከዚዮ ሞጁሎች እና ከ Qwiic ጋር ማስተዋወቅ -6 ደረጃዎች
ቪዲዮ: SKR 1.4 - I2C BlinkM 2024, ሀምሌ
Anonim
I2C ን ከዚዮ ሞጁሎች እና ከኪዊክ ጋር ማስተዋወቅ
I2C ን ከዚዮ ሞጁሎች እና ከኪዊክ ጋር ማስተዋወቅ

ሮቢን ሻርማ “ከጊዜ ወደ ጊዜ ትናንሽ ዕለታዊ ማሻሻያዎች ወደ አስደናቂ ውጤቶች ይመራሉ” ብለዋል። ‘አው ፣ ሌላ የ I2C ልጥፍ?’ ብለው ያስቡ ይሆናል። ደህና ፣ ወደ I2C ሲመጣ በሺዎች የሚቆጠሩ መረጃዎች አሉ። ግን ይከታተሉ ፣ ይህ ሌላ የ I2C ጽሑፍ ብቻ አይደለም። Qwiic Connect System እና Zio peripheral breakout ቦርዶች በእርግጠኝነት የ I²C ጨዋታ ለዋጮች ናቸው!

መግቢያ

የኤሌክትሮኒክስ ፕሮጄክቶችን እየገነቡ እና አስደናቂ ነገሮችን እያደረጉ ከሆነ ፣ የእርስዎ ፕሮጄክቶች እየጨመሩ ሲሄዱ የዳቦ ሰሌዳዎ እንደ እባብ ጉድጓድ (ትንሽ የተዝረከረከ?) እንደሚመስል ተገንዝበው ይሆናል።

በተጨማሪም ፣ በርካታ ፕሮጀክቶች የሚሄዱ ከሆነ ሽቦዎችን ከፕሮጀክት ወደ ፕሮጀክት በመቀየር ብዙ ጊዜ ያሳልፋሉ።

እኛ ሰሪዎች ነን ስለዚህ ትግሉን እንረዳለን። በቅርቡ ለኦኤችኤስ ማህበረሰብ ያደረግነው አስተዋፅኦ የ Qwiic አገናኝ ስርዓትን በመቀበል ዚዮ የሚባል ሞዱል ፕሮቶታይፕ ሲስተም ነው። Qwiic በፕሮግራም ሊሠራ የሚችል የወረዳ ሰሌዳ በ I²C በኩል ወደ ዳሳሾች ፣ አንቀሳቃሾች እና መለያየት ሰሌዳዎች ለመገናኘት በጣም ምቹ መንገድ ነው።

ደረጃ 1 - I²C ምንድን ነው እና ለምን እንደወደድነው

I²C ምንድን ነው እና ለምን እንደወደድነው
I²C ምንድን ነው እና ለምን እንደወደድነው

I²C በሰፊው ጥቅም ላይ የዋለው ባለብዙ ማስተር አውቶቡስ ነው ፣ ማለትም የተለያዩ ቺፕስ ከአንድ አውቶቡስ ጋር ሊገናኙ ይችላሉ ማለት ነው። በጌታ እና በባሪያ ወይም በብዙ ጌታ እና ባሪያ መሣሪያዎች መካከል በብዙ ትግበራዎች ላይ ጥቅም ላይ ውሏል። ከማይክሮ መቆጣጠሪያዎች ፣ ከስማርትፎኖች ፣ ከኢንዱስትሪ አፕሊኬሽኖች ፣ በተለይም ለቪዲዮ መሣሪያዎች እንደ የኮምፒተር ማሳያዎች። በብዙ የኤሌክትሮኒክስ ዲዛይኖች (እና በቅርቡ ከኪዊክ አያያዥ ጋር እንኳን ቀላል) በቀላሉ ሊተገበር ይችላል።

I²C ን በሁለት ቃላት መግለፅ ቢኖርብን ፣ ምናልባት ቀላልነትን እና ተጣጣፊነትን እንጠቀም ነበር።

ከሌሎች የግንኙነት ፕሮቶኮሎች የ I²C ትልቁ ጥቅሞች አንዱ ሁለት የሽቦ በይነገጽ ማለት ሁለት የምልክት ሽቦዎች ፣ ኤስዲኤ (ተከታታይ የውሂብ መስመር) እና ኤስ.ሲ.ኤል (ተከታታይ ሰዓት መስመር) ብቻ ይፈልጋል ማለት ነው። በጣም ፈጣኑ ፕሮቶኮል ላይሆን ይችላል ፣ ነገር ግን በአውቶቡስ ቮልቴጅ ውስጥ ተጣጣፊነትን በመፍቀድ በጣም ተለዋዋጭ በመሆኑ ይታወቃል።

ይህንን አውቶቡስ ማራኪ የሚያደርገው ሌላው ጉልህ ባህሪ በጌታ እና በባሪያ መካከል ያለው ህብረት ነው። ብዙ መሣሪያዎች ከአንድ አውቶቡስ ጋር ሊገናኙ ይችላሉ እና እያንዳንዱ መሣሪያ ልዩ አድራሻ ስላለው በመሣሪያዎች መካከል ያለውን ሽቦ መለወጥ አያስፈልግም (ጌታው መሣሪያውን ለመገናኘት ይመርጣል)።

ደረጃ 2 - ጠለቅ ብለን እንይ

ጠለቅ ብለን እንይ
ጠለቅ ብለን እንይ
ጠለቅ ብለን እንይ
ጠለቅ ብለን እንይ
ጠለቅ ብለን እንይ
ጠለቅ ብለን እንይ
ጠለቅ ብለን እንይ
ጠለቅ ብለን እንይ

ስለዚህ ፣ I²C እንዴት ይሠራል? ቀደም ሲል በጣም አስፈላጊ ከሆኑት ባህሪዎች አንዱ የ voltage ልቴጅ አበል መሆኑን ጠቅሰናል ፣ ይህ ሊሆን የቻለው I²C ለሁለቱም ለ SDA እና ለ SCL የግንኙነት መስመሮች ክፍት ሰብሳቢ (እንዲሁም ክፍት ፍሳሽ በመባልም ይታወቃል) ነው።

ኤስ.ሲ.ኤል የሰዓት ምልክት ነው ፣ በ I²C አውቶቡስ ላይ ባሉት መሣሪያዎች መካከል ያለውን የውሂብ ሽግግር ያመሳስላል እና በጌታው የመነጨ ነው። ኤስዲኤ ከአውቶቡሱ ጋር ከተገናኙ ዳሳሾች ወይም ሌሎች መሣሪያዎች ለመላክ ወይም ለመቀበል ውሂቡን ሲይዝ።

ወደ ሲግናል የሚወጣው ውጤት ከመሬቱ ጋር የተገናኘ ነው ፣ ይህም ማለት እያንዳንዱ መሣሪያ እንደ ዝቅተኛ ተጭኗል ማለት ነው። ምልክቱን ወደ ከፍተኛ ለመመለስ ፣ ሁለቱም መስመሮች ለመቋረጥ በሚነሳው ተከላካይ በኩል ከአዎንታዊ የአቅርቦት voltage ልቴጅ ጋር ተገናኝተዋል።

እኛ በ ZIO ሞጁሎች ይሸፍኑልዎታል ፣ ሁሉም የእኛ የመለያያ ሰሌዳዎች አስፈላጊውን የመሳብ ተከላካይ ያካተቱ ናቸው።

I²C ጌታውን ከባሪያ መሳሪያዎች ጋር ለመገናኘት የመልዕክት ፕሮቶኮል ይከተላል። ሁለቱ መስመሮች (ኤስ.ሲ.ኤል እና ኤስዲኤ) በሁሉም የ I²C ባሮች ውስጥ የተለመዱ ናቸው ፣ በአውቶቡስ ውስጥ ያሉ ሁሉም ባሪያዎች መልእክቱን ያዳምጣሉ።

የመልዕክት ፕሮቶኮል በተያያዘው ምስል ላይ የሚታየውን ቅርጸት ይከተላል-

በመጀመሪያ በጨረፍታ የተወሳሰበ ሊመስል ይችላል ፣ ግን ትንሽ የምስራች አለን። የአርዱዲኖ አይዲኢን ሲጠቀሙ ለ I²C መልእክት ፕሮቶኮል የተዘጋጀውን ሁሉ ለማቃለል Wire.h ቤተ -መጽሐፍት አለ።

የሰዓት መስመሩ (ኤስ.ሲ.ኤል) ከፍ እያለ የውሂብ መስመሩ (ኤስዲኤ) ዝቅ ሲያደርግ የመነሻ ሁኔታው ይፈጠራል። በአርዱዲኖ በይነገጽ ላይ ፕሮጀክት ሲያቀናብሩ የመነሻ ሁኔታን ስለማመን መጨነቅ አያስፈልገንም ፣ እሱ በአንድ የተወሰነ ተግባር (Wire.beginTransmission (slaveAddress)) ይጀምራል።

በተጨማሪም ፣ ይህ ተግባር ከተለየ የባሪያ አድራሻ ጋር ማስተላለፉን ይጀምራል። በጋራ አውቶቡስ ላይ ለመግባባት ባሪያውን ለመምረጥ ጌታው አድራሻውን ለባሪያው ለማስተላለፍ ይቀጥላል። አድራሻው ከተጓዳኝ ባሪያ ጋር ለመገናኘት ከተዋቀረ በኋላ ፣ በተመረጠው ሁኔታ ላይ በመመስረት መልእክቱ በንባብ ወይም በመፃፍ ቢት ይከተላል።

ሰልፉ በአድናቆት (ACK ወይም NACK) ፣ እና በአውቶቡስ ላይ ያሉ ሌሎች የባሪያ መሣሪያዎች መልእክቱ እስኪጠናቀቅ እና አውቶቡሱ ነፃ እስኪሆን ድረስ ቀሪውን መረጃ ቅናሽ ያደርጋሉ። ACK ን በመከተል ፣ የባሪያዎቹ የውስጥ አድራሻ ምዝገባ ቅደም ተከተል ስርጭቱን ይቀጥላል።

ውሂቡ በሚላክበት ጊዜ የማስተላለፊያው መልእክት በማቆሚያ ሁኔታ ያበቃል። ስርጭቱን ለማቆም የመረጃ መስመሩ ወደ ከፍተኛ ይለወጣል እና የሰዓት መስመሩ ከፍ ይላል።

ደረጃ 3 - I²C እና ZIO

I²C እና ZIO
I²C እና ZIO

በጌታ (a.k.a Zuino ፣ በእኛ ማይክሮ) እና በባሪያዎች (a.k.a ZIO breakout ቦርዶች) መካከል በሚደረግ ውይይት ውስጥ ከላይ ያለውን መረጃ ሁሉ ብንገልጽ የተሻለ እንደሚሆን ተገነዘብን።

በዚህ መሠረታዊ ምሳሌ ውስጥ የ ZIO TOF የርቀት ዳሳሽ እና የ ZIO OLED ማሳያ እንጠቀማለን። ZIO Oled ውሂቡን ሲያሳይ TOF የርቀት መረጃን ይሰጣል። ያገለገሉ አካላት እና መሣሪያዎች

  • ZUINO M UNO - ጌታው
  • የ ZIO OLED ማሳያ - ባሪያ_01
  • ZIO TOF የርቀት ዳሳሽ - ባሪያ_02
  • Qwiic Cable - ለ I²C መሣሪያዎች ቀላል ግንኙነት

Qwiic ን በመጠቀም ሰሌዳዎቹን እርስ በእርስ ማገናኘት ምን ያህል ቀላል እንደሆነ ፣ የዳቦ ሰሌዳ አያስፈልገውም ፣ ተጨማሪ ኬብሎች ተተክለዋል ወይም የ ZUINO ፒኖች። የ ZUINO ተከታታይ ሰዓት እና የውሂብ መስመር የ Qwiic አገናኝን በመጠቀም ከርቀት ዳሳሽ እና ከ OLED ጋር በራስ -ሰር ተገናኝቷል። ሁለቱ ሌሎች ኬብሎች 3V3 እና GND ናቸው።

በመጀመሪያ ፣ አስፈላጊውን መረጃ እንይ ፣ ጌታውን ከባሪያዎቹ ጋር ልዩ አድራሻዎችን ማወቅ ከሚያስፈልገን ጋር ለመገናኘት።

መሣሪያ - ZIO የርቀት ዳሳሽ

  • ክፍል ቁጥር: RFD77402
  • I2C አድራሻ: 0x4C
  • የውሂብ ሉህ አገናኝ

መሣሪያ: ZIO OLED ማሳያ

  • ክፍል ቁጥር: SSD1306
  • አድራሻ: 0x3C
  • የውሂብ ሉህ አገናኝ

ለባሪያ መሣሪያዎች ልዩ አድራሻ ለማግኘት የቀረበውን የውሂብ ሉህ ይክፈቱ። ለርቀት ዳሳሽ አድራሻው በሞጁል በይነገጽ ማስቀመጫ ላይ ይሰጣል። እያንዳንዱ ዳሳሽ ወይም አካል ከተለየ መረጃ ጋር የተለየ የውሂብ ሉህ አለው። አንዳንድ ጊዜ በ 30 ገጽ የውሂብ ሉህ ላይ ለማግኘት ፈታኝ ሊሆን ይችላል (ፍንጭ -በፒዲኤፍ መመልከቻው ላይ የመፈለጊያ መሣሪያውን ይክፈቱ እና ለፈጣን ፍለጋ “አድራሻ” ወይም “የመሣሪያ መታወቂያ” ይተይቡ)።

አሁን ለእያንዳንዱ መሣሪያ ልዩ አድራሻ የሚታወቅ በመሆኑ መረጃን ለማንበብ/ ለመፃፍ ፣ የውስጣዊ መመዝገቢያ አድራሻው መታወቅ አለበት (እንዲሁም ከውሂብ ሉህ)። ርቀቱን ለማግኘት የ ZIO የርቀት ዳሳሽ የመረጃ ዝርዝሩን በመመልከት ርቀቱ ከ 0x7FF ጋር ይዛመዳል።

በዚህ ልዩ ጉዳይ ላይ ቤተ -መጽሐፍት ቀድሞውኑ እንደሚያደርገው ዳሳሹን ለመጠቀም በእውነት ይህንን መረጃ አንፈልግም።

ቀጣዩ ደረጃ ፣ ኮዱ ላይ እጆች። ZUINO M UNO ከአርዱዲኖ አይዲኢ ጋር ተኳሃኝ ነው ፣ ይህም ማዋቀሩን በጣም ቀላል ያደርገዋል። ለዚህ ፕሮጀክት የሚያስፈልጉት ቤተመጽሐፍት የሚከተሉት ናቸው -

  • Wire.h
  • Adafruit_GFX.h
  • Adafruit_SSD1306. ሰ
  • SparkFun_RFD77402_Arduino_Library.h

Wire.h የአርዲኖ ቤተ -መጽሐፍት ነው ፣ ሁለቱ የአዳፍ ፍሬ ቤተ -መጻሕፍት ለ OLED ያገለግላሉ እና የመጨረሻዎቹ ለርቀት ዳሳሽ ያገለግላሉ። *. Zip ቤተ -ፍርግሞችን ከአርዱዲኖ አይዲኢ ጋር እንዴት ማገናኘት እንደሚቻል ላይ ይህንን መማሪያ ይመልከቱ።

ኮዱን በመመልከት በመጀመሪያ ቤተመፃህፍት እንዲሁም ለኦሌድ አድራሻ መታወቅ አለባቸው።

በማዋቀር () ስርጭቱ ይጀምራል እና ለርቀት ዳሳሽ ተግባር ጽሑፍ ይታያል።

Loop () በርቀቱ ላይ ልኬቶችን ይወስዳል እና OLED ያትመዋል።

በ github አገናኝ ላይ የምሳሌውን ምንጭ ኮድ ይፈትሹ።

በሁለቱም የስብርት ሰሌዳዎች መጠቀም በሁሉም ስሜቶች በጣም ቀላል ነው። በሃርድዌር በኩል የ Qwiic አያያዥ የሃርድዌር ቅንብሩን የዳቦ ሰሌዳ እና የጃምፐር ሽቦዎችን ከመያዝ ይልቅ ፈጣን እና በጣም የተዝረከረከ ያደርገዋል። እና ለ firmware ፣ ለ I2C ግንኙነት ተጓዳኝ ቤተ -ፍርግሞችን በመጠቀም ፣ ዳሳሽ እና ማሳያው ኮዱን በጣም ቀላል ያደርገዋል።

ደረጃ 4 - ከፍተኛው የኬብል ርዝመት ምንድነው?

ከፍተኛው ርዝመት ለ SDA እና ለ SCL ጥቅም ላይ በሚውሉት መወጣጫዎች እና በኬብል አቅም ላይ የተመሠረተ ነው። ተቃዋሚዎች የአውቶቡስ ፍጥነቱን ፣ የአውቶቡሱን ፍጥነት ዝቅ የሚያደርጉት ፣ የኬብሉ ወሰን ረዘም ይላል። የኬብል አቅም በአውቶቡስ ላይ ያሉትን መሣሪያዎች ብዛት ፣ እንዲሁም የኬብሉን ርዝመት ይገድባል። የተለመዱ አፕሊኬሽኖች የሽቦውን ርዝመት ወደ 2.5-3.5 ሜትር (9-12 ጫማ) ይገድባሉ ነገር ግን በተጠቀመው ገመድ ላይ በመመስረት ልዩነት አለ። ለማጣቀሻ ፣ የተጠበቀውን የ 22 AWG የተጠማዘዘ ጥንድ ገመዶችን በመጠቀም በ I2C መተግበሪያዎች ላይ ያለው ከፍተኛ ርዝመት 1 ሜ (3 ጫማ) በ 100 kbaund ፣ 10 ሜትር (30ft) በ 10 ኪባውድ ነው።

የኬቦውን ርዝመት ለመገመት የሚያስችሉት እንደ ሞጋሚ ወይም ቮልፍራም አልፋ ያሉ አንዳንድ ጣቢያዎች አሉ።

ደረጃ 5 - በአንድ አውቶቡስ ላይ ብዙ መሣሪያዎችን እንዴት ማገናኘት ይቻላል?

በአንድ አውቶቡስ ላይ ብዙ መሣሪያዎችን እንዴት ማገናኘት ይቻላል?
በአንድ አውቶቡስ ላይ ብዙ መሣሪያዎችን እንዴት ማገናኘት ይቻላል?
በአንድ አውቶቡስ ላይ ብዙ መሣሪያዎችን እንዴት ማገናኘት ይቻላል?
በአንድ አውቶቡስ ላይ ብዙ መሣሪያዎችን እንዴት ማገናኘት ይቻላል?

I2C ተከታታይ አውቶቡስ ነው ፣ ሁሉም መሳሪያዎች ከተጋራ አውቶቡስ ጋር የተገናኙበት። በ Qwiic አገናኝ የተለያዩ የመለያያ ሰሌዳዎች የ Qwiic አገናኝን በመጠቀም እርስ በእርስ ሊገናኙ ይችላሉ። እያንዳንዱ ቦርድ ቢያንስ 2 ኪዊክ አያያ hasች አሉት።

አንዳንድ የ Qwiic እና I2C ገደቦችን ለመፍታት የተለያዩ ሰሌዳዎችን ፈጠርን። የዚዮ ኪዊክ አስማሚ ሰሌዳ Qwiic ን ወደ ወንድ ሰሌዳ ራስጌ ገመድ በመጠቀም Qwiic በመጠቀም ያለ Qwiic አያያዥ በ Qwiic መሣሪያዎች በኩል ለማገናኘት ያገለግላል። ይህ ቀላል ዘዴ ያልተገደበ ዕድሎችን ይፈጥራል።

በአውቶቡስ ወይም በዛፍ አውታር ላይ የተለያዩ መሳሪያዎችን ለማገናኘት ከዚዮ ኪዊይክ ማዕከል ጋር መጣን።

የመጨረሻው ግን ቢያንስ ፣ ዚዮ ኪዊክ MUX ተመሳሳይ አድራሻ በመጠቀም የሁለት ወይም ከዚያ በላይ መሳሪያዎችን ግንኙነት ይፈቅዳል።

ደረጃ 6 የ I2C ማቋረጫ ምንድነው?

I2C ለማቋረጥ ይጠየቃል ፣ ስለዚህ መስመሩ ሌሎች መሳሪያዎችን ለማከል ነፃ ነው። የአውቶቡስ መጎተቻ ተከላካዮችን ለመግለፅ (ነባሪ ሁኔታን ለማቅረብ ፣ በዚህ ሁኔታ የአሁኑን ለወረዳው ለማቅረብ) ብዙውን ጊዜ ጥቅም ላይ ስለሚውል ይህ ትንሽ ግራ የሚያጋባ ሊሆን ይችላል። ለዙኒኖ ሰሌዳዎች ፣ የተከላካዩ እሴት 4.7 ኪ.

ማቋረጡ ከተተወ በአውቶቡሱ ላይ ምንም ግንኙነት አይኖርም- ጌታው የመነሻ ሁኔታን ማፍራት አይችልም ፣ ስለዚህ መልእክቱ ለባሪያዎቹ አይተላለፍም።

ለተጨማሪ መረጃ እና የዚዮ ችሎታዎች የቅርብ ጊዜዎቹን የዚዮ ምርቶችን ይፈትሹ። በዚህ ጽሑፍ ላይ ያለው ግብ የ I²C የግንኙነት መሰረታዊ ነገሮችን እና ከዚዮ እና ከኪዊክ አገናኝ ጋር እንዴት እንደሚሰራ መግለፅ ነው። ለተጨማሪ ዝመናዎች ይጠብቁ።

የሚመከር: