ዝርዝር ሁኔታ:

Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ደረጃዎች
Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ደረጃዎች

ቪዲዮ: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ደረጃዎች

ቪዲዮ: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ደረጃዎች
ቪዲዮ: How to use I2C Sensors and Python Library on Raspberry PI 2024, ህዳር
Anonim

ADXL345 እስከ ± 16 ግ ድረስ ባለ ከፍተኛ ጥራት (13-ቢት) ልኬት ያለው ትንሽ ፣ ቀጭን ፣ እጅግ የላቀ ኃይል ፣ 3-ዘንግ የፍጥነት መለኪያ ነው። የዲጂታል ውፅዓት ውሂብ እንደ 16-ቢት ሁለት ተሞልቶ በ I2 C ዲጂታል በይነገጽ በኩል ተደራሽ ነው። በመጠምዘዝ ዳሰሳ አፕሊኬሽኖች ውስጥ የስበት የማይንቀሳቀስ ፍጥነትን ፣ እንዲሁም በእንቅስቃሴ ወይም በድንጋጤ ምክንያት የሚከሰተውን ተለዋዋጭ ፍጥነትን ይለካል። የእሱ ከፍተኛ ጥራት (3.9 mg/LSB) ከ 1.0 ° በታች የዝንባሌ ለውጦችን ለመለካት ያስችላል። የፓይዘን ኮድን በመጠቀም ከ Raspberry pi ጋር እዚህ ማሳያ ነው።

ደረጃ 1: እርስዎ የሚፈልጉት..

ምንድን ነው የሚፈልጉት..!!
ምንድን ነው የሚፈልጉት..!!
ምንድን ነው የሚፈልጉት..!!
ምንድን ነው የሚፈልጉት..!!

1. Raspberry Pi

2. ADXL345

3. I²C ኬብል

4. I²C ጋሻ ለ Raspberry Pi

5. የኤተርኔት ገመድ

ደረጃ 2: ግንኙነት

ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦

ለራስቤሪ ፓይ የ I2C ጋሻ ይውሰዱ እና በቀስታ በ raspberry pips ፒፒዎች ላይ ይግፉት።

ከዚያ የ I2C ገመድ አንዱን ጫፍ ከ ADXL345 ዳሳሽ እና ሌላውን ከ I2C ጋሻ ጋር ያገናኙ።

እንዲሁም የኢተርኔት ገመዱን ከፓይ ጋር ያገናኙ ወይም የ WiFi ሞጁሉን መጠቀም ይችላሉ።

ግንኙነቶች ከላይ በስዕሉ ላይ ይታያሉ።

ደረጃ 3 ኮድ

ኮድ ፦
ኮድ ፦

ለ ADXL345 የፓይዘን ኮድ ከኛ የጊትሆብ ማከማቻ- Dcube መደብር ማውረድ ይችላል

ለተመሳሳይ አገናኝ እዚህ አለ

github.com/DcubeTechVentures/ADXL345..

እኛ ለፓይዘን ኮድ የ SMBus ቤተ -መጽሐፍትን ተጠቅመናል ፣ SMBus ን በ raspberry pi ላይ ለመጫን ደረጃዎች እዚህ ተገልፀዋል።

pypi.python.org/pypi/smbus-cffi/0.5.1

እንዲሁም ኮዱን ከዚህ መገልበጥ ይችላሉ ፣ እሱ እንደሚከተለው ተሰጥቷል

# በነፃ ፈቃድ ፈቃድ ተሰራጭቷል።

# በተጓዳኝ ሥራዎቹ ፈቃዶች ውስጥ የሚስማማ ከሆነ በፈለጉት ፣ በትርፍም ሆነ በነጻ ይጠቀሙበት።

# ADXL345

# ይህ ኮድ በ Dcube መደብር ውስጥ ከሚገኘው 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)

# የኃይል መቆጣጠሪያ መመዝገቢያ ይምረጡ ፣ 0x2 ዲ (45)

# 0x08 (08) ራስ -ሰር እንቅልፍ ማሰናከል

bus.write_byte_data (0x53 ፣ 0x2D ፣ 0x08)

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

# የውሂብ ቅርጸት መመዝገቢያ ይምረጡ ፣ 0x31 (49)

# 0x08 (08) የራስ ሙከራ ተሰናክሏል ፣ ባለ4-ሽቦ በይነገጽ

# ሙሉ ጥራት ፣ ክልል = +/- 2 ግ

bus.write_byte_data (0x53 ፣ 0x31 ፣ 0x08)

ጊዜ። እንቅልፍ (0.5)

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

# ከ 0x32 (50) ፣ 2 ባይቶች መልሰው ያንብቡ

# X-Axis LSB ፣ X-Axis MSB

data0 = 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)

ውሂብ 1 = አውቶቡስ.read_byte_data (0x53 ፣ 0x35)

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

yAccl = ((data1 & 0x03) * 256) + data0

ከሆነ yAccl> 511:

yAccl -= 1024

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

# ከ 0x36 (54) ፣ 2 ባይቶች መልሰው ያንብቡ

# Z- Axis LSB ፣ Z-Axis MSB

data0 = 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 ውስጥ ማጣደፍ: %d" %xAccl ያትሙ

"በ Y-Axis ውስጥ ማፋጠን: %d" %yAccl

“ዘ-አክሲዮን ውስጥ ማፋጠን %d” %zAccl ያትሙ

ደረጃ 4: ማመልከቻዎች

ADXL345 በ Handsets ፣ በሕክምና መሣሪያ ፣ ወዘተ ውስጥ ሊሠራ የሚችል ትንሽ ፣ ቀጭን ፣ እጅግ በጣም ኃይለኛ ኃይል ፣ 3-ዘንግ የፍጥነት መለኪያ ነው ፣ የእሱ ትግበራ እንዲሁ የጨዋታ እና የጠቋሚ መሳሪያዎችን ፣ የኢንዱስትሪ መሣሪያን ፣ የግል የአሰሳ መሣሪያዎችን እና የሃርድ ዲስክ ድራይቭ (ኤችዲዲ) ጥበቃን ያጠቃልላል።

የሚመከር: