ዝርዝር ሁኔታ:

3-Axis Accelerometer ፣ ADXL345 Python ን በመጠቀም ከ Raspberry Pi ጋር: 6 ደረጃዎች
3-Axis Accelerometer ፣ ADXL345 Python ን በመጠቀም ከ Raspberry Pi ጋር: 6 ደረጃዎች

ቪዲዮ: 3-Axis Accelerometer ፣ ADXL345 Python ን በመጠቀም ከ Raspberry Pi ጋር: 6 ደረጃዎች

ቪዲዮ: 3-Axis Accelerometer ፣ ADXL345 Python ን በመጠቀም ከ Raspberry Pi ጋር: 6 ደረጃዎች
ቪዲዮ: 6 DOF IMU (3 axis accelerometer, 3 axis gyroscope), Arduino, OpenGL, Python, complementary filter 2024, ህዳር
Anonim
3-Axis Accelerometer ፣ ADXL345 Python ን በመጠቀም ከ Raspberry Pi ጋር
3-Axis Accelerometer ፣ ADXL345 Python ን በመጠቀም ከ Raspberry Pi ጋር

የእርስዎ Offroader ወደ ዘገየበት አቅጣጫ የሚያመላክትበትን መግብሩን በማሰብ ላይ። የመጠቆሚያ ዕድል በሚኖርበት ጊዜ አንድ ሰው ቢስተካከል ደስ የሚል አይሆንም? አዎ አዎ። በተራሮች እና በድርጅት ጉዞዎች ላይ ለሚወዱ ግለሰቦች በእውነት ጠቃሚ ይሆናል።

ያለ ጥርጥር ፣ የላቀ የላቀ የምስል ግምገማ እውነተኛ ጊዜ ፣ IoT በእኛ ላይ ነው። እንደ መግብሮች እና የፕሮግራም አዘጋጆች አፍቃሪዎች ፣ Raspberry Pi ፣ የማይክሮ ሊኑክስ ፒሲ በአጠቃላይ በሰዎች የፈጠራ ችሎታዎች ላይ በፈጠራ ዘዴዎች ውስጥ ፍንዳታ ይዞ እንደሄደ እናምናለን። ስለዚህ እኛ Raspberry Pi እና 3-axis Accelerometer በአቅራቢያችን ቢኖረን ምን ልናደርጋቸው የምንችላቸው የሚታሰቡ ውጤቶች ምንድናቸው? ማወቅ አለብን! በዚህ ተግባር ውስጥ ፣ Raspberry Pi እና ADXL345 ን ፣ ባለ 3-ዘንግ የፍጥነት መለኪያ በመጠቀም በ 3 መጥረቢያዎች ፣ ኤክስ ፣ Y እና ዚ ላይ ፍጥነቱን እናስተውላለን። ስለዚህ በዚህ ሽርሽር ላይ ባለ 3-ልኬት ማፋጠን ወይም ጂ-ኃይልን ለመለካት ማዕቀፍ ለማፍራት ማክበር አለብን።

ደረጃ 1 የምንፈልገው መሠረታዊ ሃርድዌር

የምንፈልገው መሠረታዊ ሃርድዌር
የምንፈልገው መሠረታዊ ሃርድዌር
የምንፈልገው መሠረታዊ ሃርድዌር
የምንፈልገው መሠረታዊ ሃርድዌር
የምንፈልገው መሠረታዊ ሃርድዌር
የምንፈልገው መሠረታዊ ሃርድዌር

ለመስራት ብዙ ነገሮች በዙሪያችን ተኝተው ስላሉ ጉዳዮቹ ለእኛ ያነሱ ነበሩ። የሆነ ሆኖ ፣ ትክክለኛውን ክፍል በተገቢው ጊዜ መሰብሰብ ለሌሎች እንዴት እንደሚቸገር እናውቃለን እና እያንዳንዱ ሳንቲም ምንም ይሁን ምን ይጸድቃል። ስለዚህ በሁሉም ክልሎች እንረዳዎታለን። የተሟላ ክፍሎች ዝርዝር ለማግኘት የሚከተሉትን ያንብቡ።

1. Raspberry Pi

የመጀመሪያው እርምጃ የ Raspberry Pi ሰሌዳ ማግኘት ነበር። ይህ አነስተኛ ፣ ዝቅተኛ ኃይል ያለው ኮምፒዩተር ለኤሌክትሮኒክስ ግብይቶች ፣ የነገሮች በይነመረብ (IoT) ፣ ስማርት ከተሞች ፣ ለት / ቤት ትምህርት ርካሽ እና በአጠቃላይ ቀላል መሠረት ይሰጣል።

2. I2C ጋሻ ለ Raspberry Pi

Raspberry Pi በእውነቱ የጎደለው ዋናው ነገር I²C ወደብ ነው። ስለዚህ ለዚያ ፣ የ TOUTPI2 I²C አያያዥ Rasp Pi ን ከብዙ I²C መሣሪያዎች ጋር የመጠቀም ስሜት ይሰጥዎታል። በ DCUBE መደብር ላይ ተደራሽ ነው

3. 3-ዘንግ የፍጥነት መለኪያ ፣ ADXL345

በአናሎግ መሣሪያዎች የተመረተ ፣ ADXL345 ፣ እስከ ± 16 ግ ድረስ ባለ ከፍተኛ ጥራት 13-ቢት ልኬት ያለው አነስተኛ ኃይል ያለው 3-ዘንግ የፍጥነት መለኪያ ነው። ይህንን ዳሳሽ ከ DCUBE መደብር አግኝተናል

4. ገመድ ማገናኘት

በ DCUBE መደብር ላይ ተደራሽ I2C የሚያገናኝ ገመድ ነበረን

5. ማይክሮ ዩኤስቢ ገመድ

በጣም ትንሽ ግራ የተጋባ ፣ ግን በጣም ከባድ እስከ የኃይል አስፈላጊነት ድረስ Raspberry Pi ነው! Raspberry Pi ን ለማብራት በጣም ፈታኝ አቀራረብ በማይክሮ ዩኤስቢ ገመድ በኩል ነው።

6. የድር መዳረሻ ፍላጎት ነው

የድር መዳረሻ ከአካባቢያዊ አውታረመረብ እና ከድር ጋር በተገናኘ በኤተርኔት (ላን) ገመድ በኩል ኃይል ሊሰጥ ይችላል። በሌላ በኩል ፣ ውቅረትን የሚፈልግ የዩኤስቢ ገመድ አልባ ዶንግልን በመጠቀም ከገመድ አልባ አውታረ መረብ ጋር መገናኘት ይችላሉ።

7. የኤችዲኤምአይ ገመድ/የርቀት መዳረሻ

በቦርዱ ላይ በኤችዲኤምአይ ገመድ አማካኝነት ወደ ዲጂታል ቴሌቪዥን ወይም ወደ ሞኒተር ማያያዝ ይችላሉ። ገንዘብ መቆጠብ ያስፈልጋል! Raspberry Pi በድር ላይ እንደ ኤስ ኤስ ኤስ እና ተደራሽነት ያሉ ልዩ ስልቶችን ለመጠቀም በርቀት ሊገኝ ይችላል። የ PuTTYopen ምንጭ ሶፍትዌርን መጠቀም ይችላሉ።

ደረጃ 2 ሃርድዌርን ማገናኘት

ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ

በስዕላዊ መግለጫው መሠረት ወረዳውን ያድርጉ። አንድ ረቂቅ ይሳሉ እና ውቅሩን ሆን ብለው ይውሰዱ።

የ Raspberry Pi እና I2C ጋሻ ግንኙነት

ከሁሉም በላይ Raspberry Pi ን ይውሰዱ እና I2C ጋሻውን በላዩ ላይ ይመልከቱ። በፒፒ ጂፒኦ ፒኖች ላይ ጋሻውን በስሱ ይጫኑ እና እኛ እንደ ፓይ ቀለል ያለ (ግጭቱን ይመልከቱ) አብቅተናል።

የአነፍናፊ እና Raspberry Pi ግንኙነት

አነፍናፊውን ይውሰዱ እና የ I2C ገመዱን ከእሱ ጋር ያገናኙ። ለዚህ ገመድ ተገቢ አሠራር ፣ እባክዎን ከ I2C ግብዓት ጋር የ I2C ውፅዓት ALWAYS ተጓዳኞችን ያስታውሱ። በላዩ ላይ የ GPIO ፒኖች በላዩ ላይ ከተቀመጠው የ I2C ጋሻ ጋር ለ Raspberry Pi ተመሳሳይ መወሰድ አለበት።

በጥቃቅን ብልሽቶች እንኳን የሚከሰቱትን ፒኖይቶች ፣ ብየዳዎችን እና መዘበራረቅ መስፈርትን ስለሚከለክል የ I2C ኬብል አጠቃቀምን እናዘዛለን። በዚህ መሰረታዊ መሰኪያ እና ኬብል ገመድ አማካኝነት መሣሪያዎችን ማስተዋወቅ ፣ መለዋወጥ ወይም ተጨማሪ መሳሪያዎችን በቀላሉ ወደ ትግበራ ማከል ይችላሉ። ይህ ነገሮችን ያልተወሳሰበ ያደርገዋል።

ማሳሰቢያ -ቡናማ ሽቦው በአንድ መሣሪያ ውፅዓት እና በሌላ መሣሪያ ግብዓት መካከል ያለውን የ Ground (GND) ግንኙነትን በጥብቅ መከተል አለበት።

የድር አውታረ መረብ ቁልፍ ነው

የእኛን ሥራ ለማሸነፍ ፣ ለ Raspberry Piችን የድር ግንኙነት እንፈልጋለን። ለዚህ ፣ የኤተርኔት (ላን) ገመድ ከመነሻ ስርዓቱ ጋር ማገናኘት ያሉ አማራጮች አሉዎት። በተጨማሪም ፣ እንደ አማራጭ ፣ አጋዥ መንገድ የ WiFi አገናኝን መጠቀም ነው። ለዚህ የተወሰነ ጊዜ ፣ እንዲሠራ ሾፌር ያስፈልግዎታል። ስለዚህ በሥዕላዊ መግለጫው ውስጥ ሊኑክስ ላለው ወደ እሱ ዘንበል።

ገቢ ኤሌክትሪክ

በ Raspberry Pi የኃይል መሰኪያ ውስጥ የማይክሮ ዩኤስቢ ገመዱን ይሰኩ። አብራ እና እኛ ለመሄድ ጥሩ ነን።

ከማያ ገጽ ጋር ግንኙነት

ከሌላ ማያ ገጽ ጋር የተቆራኘ የኤችዲኤምአይ ገመድ ሊኖረን ይችላል። በአንዳንድ አጋጣሚዎች ወደ ማያ ገጽ ሳይቀላቀሉ ወደ Raspberry Pi መድረስ አለብዎት ወይም ከሌላ ቦታ የተወሰነ ውሂብ ከእሱ ማየት ያስፈልግዎታል። እንደ እውነቱ ከሆነ እንዲህ ዓይነቱን ለማድረግ የፈጠራ እና በገንዘብ የተረዱ አቀራረቦች አሉ። ከመካከላቸው አንዱ እየተጠቀመ ነው - ኤስኤስኤች (የርቀት ትዕዛዝ -መስመር መግቢያ)። እንዲሁም ለዚያ የ PuTTY ሶፍትዌርን መጠቀም ይችላሉ።

ደረጃ 3 - ለ Raspberry Pi የ Python ኮድ መስጠት

ለ Raspberry Pi የ Python ኮድ
ለ Raspberry Pi የ Python ኮድ

ለ Raspberry Pi እና ADXL345 ዳሳሽ የፒቶን ኮድ በእኛ Github ማከማቻ ውስጥ ተደራሽ ነው።

ወደ ኮዱ ከመቀጠልዎ በፊት ፣ በ Readme ሰነድ ውስጥ የተሰጡትን መመሪያዎች ማንበብዎን እና በእሱ መሠረት የእርስዎን Raspberry Pi ማቀናበርዎን ያረጋግጡ። እንደዚያ ለማድረግ በቀላሉ ለአንድ ደቂቃ ያህል ያቆማል።

የፍጥነት መለኪያ ትክክለኛውን ማፋጠን የሚለካ መሣሪያ ነው። ትክክለኛ ማፋጠን ከማስተባበር ማፋጠን (የፍጥነት ለውጥ ፍጥነት) ጋር አንድ አይደለም። የፍጥነት መለኪያው ነጠላ እና ባለብዙ ዘንግ ሞዴሎች ልክ እንደ ቬክተር መጠን ተገቢውን የፍጥነት መጠን እና አቅጣጫ ለመለየት ተደራሽ ናቸው ፣ እና አቅጣጫን ለማስተዋል ፣ ፍጥነቱን ፣ ንዝረትን ፣ ድንጋጤን እና በተቃዋሚ መካከለኛ ውስጥ መውደቅን ለማስተዋል ሊያገለግሉ ይችላሉ።

ኮዱ ከእርስዎ በፊት ግልፅ ነው እና እርስዎ ሊገምቱት በሚችሉት በጣም ቀጥተኛ መዋቅር ውስጥ እና ምንም ችግሮች ሊኖሩዎት አይገባም።

# በነፃ ፈቃድ ፈቃድ ተሰራጭቷል።# በተጓዳኝ ሥራዎቹ ፈቃዶች ውስጥ የሚስማማ ከሆነ በፈለጉት መንገድ ፣ ትርፍም ሆነ ነፃ ይጠቀሙበት። # ADXL345 # ይህ ኮድ ከ dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini ከሚገኘው ADXL345_I2CS I2C ሚኒ ሞዱል ጋር አብሮ ለመስራት የተነደፈ ነው። -ሞዱል/

ማስመጣት smbus

የማስመጣት ጊዜ

# I2C አውቶቡስ ያግኙ

አውቶቡስ = smbus. SMBus (1)

# ADXL345 አድራሻ ፣ 0x53 (83)

# የመተላለፊያ ይዘት ተመን መመዝገቢያ ፣ 0x2C (44) # 0x0A (10) መደበኛ ሁኔታ ፣ የውጤት የውሂብ መጠን = 100 Hz bus.write_byte_data (0x53 ፣ 0x2C ፣ 0x0A) # ADXL345 አድራሻ ፣ 0x53 (83) # የኃይል መቆጣጠሪያ መመዝገቢያ ይምረጡ ፣ 0x2D (45) # 0x08 (08) ራስ-ሰር እንቅልፍ bus.write_byte_data (0x53 ፣ 0x2D ፣ 0x08) # ADXL345 አድራሻ ፣ 0x53 (83) # የውሂብ ቅርጸት መመዝገቢያ ይምረጡ ፣ 0x31 (49) # 0x08 (08) የራስ ሙከራ ተሰናክሏል ፣ 4-ሽቦ በይነገጽ # ሙሉ ጥራት ፣ ክልል = +/- 2 ግ አውቶቡስ። በባይቴ_ዳታ (0x53 ፣ 0x31 ፣ 0x08) ይፃፉ

ጊዜ። እንቅልፍ (0.5)

# ADXL345 አድራሻ ፣ 0x53 (83)

# መረጃን ከ 0x32 (50) ፣ 2 ባይት # ኤክስ-አክሲኤል ኤል ኤስቢ ፣ ኤክስ-ኤክስ ኤምኤስቢ መረጃ 0 = bus.read_byte_data (0x53 ፣ 0x32) data1 = bus.read_byte_data (0x53 ፣ 0x33)

# ውሂቡን ወደ 10-ቢት ይለውጡ

xAccl = ((data1 & 0x03) * 256) + data0 ከሆነ xAccl> 511: xAccl -= 1024

# ADXL345 አድራሻ ፣ 0x53 (83)

# መረጃን ከ 0x34 (52) ፣ 2 ባይት # Y-Axis LSB ፣ Y-Axis MSB data0 = bus.read_byte_data (0x53 ፣ 0x34) data1 = bus.read_byte_data (0x53 ፣ 0x35)

# ውሂቡን ወደ 10-ቢት ይለውጡ

yAccl = ((data1 & 0x03) * 256) + data0 ከሆነ yAccl> 511: yAccl -= 1024

# ADXL345 አድራሻ ፣ 0x53 (83)

# መረጃን ከ 0x36 (54) ፣ 2 ባይት # ዜ-አክሲኤል ኤል ኤስቢ ፣ ዘ-አክሰስ ኤምኤስቢ መረጃ 0 = bus.read_byte_data (0x53 ፣ 0x36) data1 = bus.read_byte_data (0x53 ፣ 0x37)

# ውሂቡን ወደ 10-ቢት ይለውጡ

zAccl = ((data1 & 0x03) * 256) + data0 ከሆነ zAccl> 511: zAccl -= 1024

# የውጤት ውሂብ ወደ ማያ ገጽ

"X-Axis ውስጥ Acceleration: %d" %xAccl ማተሚያ "Y-Axis ውስጥ ማፋጠን %d" %yAccl print "Z-Axis ውስጥ ማፋጠን %d" %zAccl

ደረጃ 4 - የኮዱ ተግባራዊነት

የኮዱ ተግባራዊነት
የኮዱ ተግባራዊነት

ኮዱን ከ Github ያውርዱ (ወይም git ይጎትቱ) እና በ Raspberry Pi ውስጥ ይክፈቱት።

በኮርሚናል ውስጥ ኮዱን ለማጠናቀር እና ለመስቀል ትዕዛዞቹን ያሂዱ እና በክትትል ላይ ያለውን ውጤት ይመልከቱ። ጥቂት አፍታዎችን ተከትሎ እያንዳንዱን መለኪያዎች ያሳያል። ሁሉም ነገር በቀላሉ እንደሚሠራ ከማረጋገጥ በኋላ ይህንን ሥራ ወደ ትልቅ ሥራ መውሰድ ይችላሉ።

ደረጃ 5 - ትግበራዎች እና ባህሪዎች

ADXL345 እስከ ± 16 ግ ድረስ ባለ ከፍተኛ ጥራት (13-ቢት) ልኬት ያለው ትንሽ ፣ ቀጭን ፣ እጅግ የላቀ ኃይል ፣ 3-ዘንግ የፍጥነት መለኪያ ነው። ADXL345 ለሞባይል ስልክ ማመልከቻዎች ተገቢ ነው። በማዘንበል-በማፈላለግ ትግበራዎች ውስጥ የስበት ስታትስቲክን ፍጥነት ያሰላል እና በተጨማሪም በእንቅስቃሴ ወይም በድንጋጤ ምክንያት የሚመጣው ቀጣይ ፍጥነት። ሌሎች አፕሊኬሽኖች እንደ Handsets ፣ የሕክምና መሣሪያ ፣ የጨዋታ እና የጠቋሚ መሣሪያዎች ፣ የኢንዱስትሪ መሣሪያዎች ፣ የግል የአሰሳ መሣሪያዎች እና የሃርድ ዲስክ ድራይቭ (ኤችዲዲ) ጥበቃ የመሳሰሉትን ያካትታሉ።

ደረጃ 6 መደምደሚያ

ይህ ተግባር ተጨማሪ ሙከራን ያነሳሳል ብለን ተስፋ እናደርጋለን። ይህ I2C ዳሳሽ እጅግ በጣም ተለዋዋጭ ፣ ርካሽ እና ተደራሽ ነው። ለከፍተኛ ደረጃ የማያልቅ ስርዓት ስለሆነ ይህንን ተግባር ማስፋት እና እንዲያውም ማሻሻል የሚችሉበት አስደሳች መንገዶች አሉ።

ለምሳሌ ፣ ADXL345 ን እና Raspberry Pi ን በመጠቀም በኢንስሊኖሜትር ሀሳብ መጀመር ይችላሉ። ከላይ ባለው ፕሮጀክት ውስጥ መሠረታዊ ስሌቶችን ተጠቅመናል። ለጂ-እሴቶች ፣ የስበት ስበት (ቁልቁል) ፣ ወይም የአንድ ነገር ከፍታ ወይም የመንፈስ ጭንቀት (ስበት) በተመለከተ ኮዱን ማሻሻል ይችላሉ። ከዚያ ለመጠምዘዣ (ከፊት ወደ ኋላ ዘንግ ፣ ኤክስ) ፣ ቅጥነት (ከጎን ወደ ጎን ዘንግ ፣ Y) እና yaw (አቀባዊ ዘንግ ፣ Z) ያሉ የማሽከርከሪያ ማዕዘኖች ያሉ የቅድሚያ አማራጮችን ማየት ይችላሉ። ይህ የፍጥነት መለኪያ 3-ዲ ጂ ኃይሎችን ያሳያል። ስለዚህ ሊገምቱት በሚችሉት በተለያዩ መንገዶች ይህንን ዳሳሽ ሊጠቀሙበት ይችላሉ።

ለእርስዎ ምቾት ፣ በ YouTube ላይ አስደናቂ የቪዲዮ ትምህርት ልምምድ አለን ፣ ይህም ምርመራዎን ሊረዳ ይችላል። በዚህ ሥራ ላይ እምነት መጣል ተጨማሪ ፍለጋን ያነሳሳል። ማሰላሰልዎን ይቀጥሉ! ብዙ በቀጣይ ስለሚመጣ ለመፈለግ ያስታውሱ።

የሚመከር: