ዝርዝር ሁኔታ:

በእውነተኛ ጊዜ MPU-6050/A0 የውሂብ ምዝግብ ማስታወሻ በአርዱዲኖ እና በ Android 7 ደረጃዎች (ከስዕሎች ጋር)
በእውነተኛ ጊዜ MPU-6050/A0 የውሂብ ምዝግብ ማስታወሻ በአርዱዲኖ እና በ Android 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: በእውነተኛ ጊዜ MPU-6050/A0 የውሂብ ምዝግብ ማስታወሻ በአርዱዲኖ እና በ Android 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: በእውነተኛ ጊዜ MPU-6050/A0 የውሂብ ምዝግብ ማስታወሻ በአርዱዲኖ እና በ Android 7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: አንቺ የሌለሽ ጊዜ | በእውነተኛ ታሪክ ላይ የተመሰረተ | ሙሉ ክፍል | የፍቅር ታሪክ | Ethiopian true love story 2024, ሰኔ
Anonim
በእውነተኛ ጊዜ MPU-6050/A0 የውሂብ ምዝግብ ማስታወሻ በአርዱዲኖ እና በ Android
በእውነተኛ ጊዜ MPU-6050/A0 የውሂብ ምዝግብ ማስታወሻ በአርዱዲኖ እና በ Android

እኔ አርዱዲኖን ለማሽን ትምህርት ለመጠቀም ፍላጎት ነበረኝ። እንደ መጀመሪያ እርምጃ ፣ በ Android መሣሪያ የእውነተኛ ጊዜ (ወይም በጣም ቅርብ) የውሂብ ማሳያ እና የምዝግብ ማስታወሻ መገንባት እፈልጋለሁ። የፍጥነት መለኪያ መረጃን ከ MPU-6050 ለመያዝ እፈልጋለሁ ስለዚህ ህንፃውን HC-05 ን በ 115200 ባውድ እንዲጠቀም ንድፍ አወጣሁ። በዚህ ውቅር 4 የውሂብ ሰርጦች በሰከንድ 250 ናሙናዎች ሊተላለፉ ይችላሉ።

ግንባታው ጥቂት ደረጃዎች አሉት

  • መከለያውን ወይም የዳቦ ሰሌዳውን ይገንቡ
  • Arduino ን ፕሮግራም ያድርጉ
  • የ Android መተግበሪያውን ከ Google Play ይጫኑ ወይም GitHub ን ቅርንጫፍ ያድርጉ እና እራስዎ ያጠናቅሩት
  • MPU-6050 ን ከሚንቀጠቀጥ አስደሳች ነገር ጋር ያገናኙ (የ R/C መኪና እጠቀም ነበር)
  • ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ
  • መረጃውን ያቅዱ ፣ ፍላጎት ካለዎት ያስቀምጡ
  • ለቀጣይ አገልግሎት ወደ ፓይዘን (ወይም ሌላ መድረክ) ያስመጡ

እንጀምር!

ደረጃ 1 ጋሻ/የዳቦ ሰሌዳ ይገንቡ

ጋሻ/የዳቦ ሰሌዳ ይገንቡ
ጋሻ/የዳቦ ሰሌዳ ይገንቡ
ጋሻ/የዳቦ ሰሌዳ ይገንቡ
ጋሻ/የዳቦ ሰሌዳ ይገንቡ

ይህ ለ Arduino ፣ HC-05 እና ለ MPU-6050 የሽቦ ዲያግራም ነው። ከ MPU-6050 በተጨማሪ ኤዲሲው እየሰራ መሆኑን ለማሳየት የአናሎግ ግብዓት A0 ከብርሃን ዳሳሽ ጋር ተገናኝቷል። ማንኛውም 0-5 ቮልት ምልክት ወደ A0 ADC ሊገባ ይችላል። ለግንባታው የተጠቀምኳቸው እነዚህ ክፍሎች ናቸው

  • አርዱዲኖ ኡኖ
  • HC-05 (HC-06 እንዲሁ መስራት አለበት ፣ ግን የእኔ ግንባታ ከ HC-05 ጋር ነበር)
  • MPU-6050
  • Sparkfun photoresistor
  • 10kOhm resistor (ቡናማ-ጥቁር-ብርቱካናማ)

አብዛኛዎቹ የ HC-05 የብሉቱዝ ሞጁሎች ነባሪ ወደ 9600 ባውድ። ውሂቡ በተሳካ ሁኔታ ለማስተላለፍ ለ 115200 ባውድ መጠን እንደገና ማረም ያስፈልግዎታል። እንዴት ማድረግ እንደሚቻል የሚያብራራ ጥሩ HC-05/HC-06 AT Command Instructable አለ።

ደረጃ 2: Arduino ን ፕሮግራም ያድርጉ

Arduino ን ፕሮግራም ያድርጉ
Arduino ን ፕሮግራም ያድርጉ
Arduino ን ፕሮግራም ያድርጉ
Arduino ን ፕሮግራም ያድርጉ

አርዱዲኖን ፕሮግራም ለማድረግ የአርዲኖ አይዲኢ መልቀቂያ 1.6.7 ን እጠቀም ነበር። በዚህ ደረጃ ውስጥ ካሉ አገናኞች ወይም ከ GitHub repo ኮዱ ሊወርድ ይችላል። ሶስት ስሪቶችን አካትቻለሁ - Firmware125.ino የ 125 ሄርዝ ስሪት ፣ Firmware250.ino የ 250 ሄርዝ ስሪት ፣ እና Firmware500.ino የ 500 ሄርዝ ስሪት ነው። አርዱinoኖን በ 500 ሄርዝ እንዲሽከረከር ፣ A0 ADC አልተሰበሰበም።

ሶፍትዌሩ ጊዜውን ለማጣራት የተጠቀምኩበትን በፒን 9 ላይ አንድ ሰዓት ያካትታል። ፈለጉ የዑደቱ ጊዜ 4 ሚሴ (ከ 1/250 ሄርዝ ጋር እኩል ነው) ያሳያል። ተከታታይ የግንኙነት ችግሮች ካሉ ጊዜው ወጥነት እንደማይሆን አግኝቻለሁ።

ናሙናዎች አንዳንድ ጊዜ በብሉቱዝ ላይ ስለሚጥሉ የአርዲኖ ኮድ በእያንዳንዱ እሽግ ላይ የሰርጥ ቁጥርን ለመጨመር ትንሽ ጭምብል ይጠቀማል። የሰርጥ ቁጥርን ለማከማቸት ሦስቱን በጣም አስፈላጊ ቢት እጠቀማለሁ። ለተፈረሙ ኢንቲጀሮች በጣም ጉልህ የሆነው ቢት (MSB) ለምልክቱ ተይ isል። MSB ን ከአድራሻዬ ምልክት ይልቅ ለአድራሻዬ መጠቀም ስለምፈልግ ፣ የተፈረሙትን የፍጥነት መለኪያ እሴቶችን ሁሉ ወደ ያልተፈረሙ ኢንቲጀሮች መለወጥ አለብኝ። ለእያንዳንዱ እሴት 32768 ን በመጨመር ይህንን አደርጋለሁ (የ MPU የፍጥነት መለኪያ የ ADC ቆጠራዎች ከ +32768 እስከ -32768 ናቸው) እና እንደ ያልተፈረሙ ኢንቲጀሮች በመጣል

(ያልተፈረመ int) ((ረጅም) iAccelData+32767);

የሰርጥ ቁጥሮቹ ከትዕዛዝ ውጭ ከሆኑ የወደቀ ፓኬት ሊታወቅ ስለሚችል ለእያንዳንዱ የፍጥነት መለኪያ እና ለ A0 ወደብ የሰርጥ ቁጥሩ ተመሳሳይ ነው። በአርዱዲኖ ላይ ከብሉቱዝ ለሚመጡ ፓኬቶች ፣ የሁለትዮሽ ዘይቤው (ምልክቶቹ በጥቂቱ እየተለወጡ ናቸው)

(xacc 3 አድራሻ ቢት = 0x00 ፣ 13 ቢት ያልተፈረመ) (yacc 3 አድራሻ ቢት = 0x01 ፣ 13 ቢት ያልተፈረመ) (zacc 3 አድራሻ ቢት = 0x02 ፣ 13 ቢት ያልተፈረመ) (3 አድራሻ ቢት = 0x03 ፣ iadc13bit ያልተፈረመ)

(xacc 3 አድራሻ ቢት = 0x00 ፣ 13 ቢት ያልተፈረመ) (yacc 3 አድራሻ ቢት = 0x01 ፣ 13 ቢት ያልተፈረመ) (zacc 3 አድራሻ ቢት = 0x02 ፣ 13 ቢት ያልተፈረመ) (3 አድራሻ ቢት = 0x03 ፣ iadc13bit ያልተፈረመ) (xacc 3 አድራሻ ቢት = 0x00 ፣ 13 ቢት ያልተፈረመ) (yacc 3 አድራሻ ቢት = 0x01 ፣ 13 ቢት ያልተፈረመ) (zacc 3 አድራሻ ቢት = 0x02 ፣ 13 ቢት ያልተፈረመ) (3 አድራሻ ቢት = 0x03 ፣ iadc13bit ያልተፈረመ)…

የብሉቱዝ ውሂቡን ለማንበብ ከ Accel Plot Android መተግበሪያ ሌላ ነገር የሚጠቀሙ ከሆነ አድራሻውን ለማውጣት ደረጃዎች እዚህ አሉ (ተለዋዋጭ ስሞችን ከ Accel Plot Bluetooth.java ፋይል ከ GitHub repo እየተጠቀምኩ ነው)

- በ 16 ያልተፈረመ int ውስጥ ያንብቡ

- ከፍተኛውን ባይት አውጥተው ወደ ከፍተኛ ደረጃ ያስቀምጡ።

- ዝቅተኛውን ባይት ያውጡ እና ወደ btLow ያስቀምጡት።

- (btHigh >> 5) እና 0x07 በመጠቀም አድራሻውን ከ btHigh ያውጡ። ይህ መግለጫ ሦስቱን የአድራሻ ቢት ወደ ዝቅተኛው ሶስት መመዝገቢያዎች በማዛወር btHigh 5 ቢት ወደ ቀኝ ይቀየራል። & ምልክቱ አመክንዮአዊ ነው እና 4 እና ከዚያ በላይ ቢት ዜሮ እንዲሆኑ እና የመጨረሻዎቹ ሶስት ቢት ከአድራሻ ቢት ጋር እንዲዛመዱ ያስገድዳል። የዚህ መግለጫ ውጤት የእርስዎ አድራሻ ነው።

Accel Plot ን የሚጠቀሙ ከሆነ ስለአድራሻው ማውጣት መጨነቅ አያስፈልግዎትም።

ደረጃ 3 የ Android መተግበሪያውን ከ Google Play ይጫኑ ወይም GitHub ን ቅርንጫፍ ያድርጉ

የ Android መተግበሪያውን ከ Google Play ይጫኑ ወይም GitHub ን ቅርንጫፍ ያድርጉ
የ Android መተግበሪያውን ከ Google Play ይጫኑ ወይም GitHub ን ቅርንጫፍ ያድርጉ

የ Android መተግበሪያውን በመሣሪያዎ ላይ ለመጫን ሁለት አማራጮች አሉዎት። ኮድ መስጠትን ለማስወገድ ከፈለጉ “Accel Plot” ን መፈለግ ይችላሉ እና መተግበሪያው በ Google Play መደብር ውስጥ መምጣት አለበት። ለመጫን የሱቅ መመሪያዎችን ይከተሉ።

በዚህ አስተማሪነት ያለኝ ፍላጎት በእውነቱ ሌሎች ፕሮጀክቶችን እንዲገነቡ ማበረታታት ነው ስለዚህ እኔ እንዲሁ በ GitHub repo ውስጥ ኮዱን አሳትሜያለሁ። እርስዎ እንደፈለጉት ይህንን ቅርንጫፍ ማድረግ ፣ መገንባት እና ማሻሻል መቻል አለብዎት። በ MIT ፈቃድ ስር ኮዱን አተምኩ ስለዚህ ይዝናኑ!

ደረጃ 4: ከአርዱዲኖ ጋር ወደ አንድ አስደሳች ነገር ይገናኙ (የ R/C መኪና ተጠቅሜያለሁ)

ከሚያስደስት ነገር ጋር ከአርዲኖ ጋር ይገናኙ (የ R/C መኪና ተጠቅሜያለሁ)
ከሚያስደስት ነገር ጋር ከአርዲኖ ጋር ይገናኙ (የ R/C መኪና ተጠቅሜያለሁ)

አንድ ትንሽ የርቀት መቆጣጠሪያ (አር/ሲ) መኪና ተገቢ ይሆናል ብዬ አሰብኩ በመጨረሻ መሣሪያውን ለመንገድ ወለል ማወቂያ መጠቀም እፈልጋለሁ። አክሰሎች በሚንቀሳቀስ ወይም በሚንቀጠቀጥ ነገር ላይ ሊሆኑ ቢችሉ በሚቀጥለው ደረጃ የሚረዳ ይመስለኛል።

ደረጃ 5: ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ።

ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ።
ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ።
ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ።
ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ።
ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ።
ከ Arduino ጋር ለመገናኘት የ Android መሣሪያውን ይጠቀሙ።

እርስዎ አስቀድመው ካላደረጉት በመጀመሪያ HC-05 ን ከ Android መሣሪያዎ ጋር ማጣመር ያስፈልግዎታል። በአብዛኛዎቹ መሣሪያዎች ላይ ወደ ቅንብሮች በመሄድ ይህንን ማድረግ እንደሚችሉ አምናለሁ። ለአብዛኛዎቹ የ HC-05 መሣሪያዎች ነባሪ ፒን 1234 ወይም 1111 ይሆናል።

በ Android መሣሪያ ላይ የ AccelPlot መተግበሪያውን ይክፈቱ። መተግበሪያው ሲከፈት እና ከኤችሲ -05 ጋር ከመገናኘትዎ በፊት የናሙና ደረጃን (ይህ በአርዱዲኖ ኮድ ውስጥ ተዘጋጅቷል) ፣ የፍጥነት መለኪያ (እንዲሁም በአርዲኖ ኮድ ውስጥ የተቀመጠ) እና የሚቀመጡ ናሙናዎች ብዛት መለወጥ ይችላሉ።

አንዴ እነዚህ ቅንብሮች ከተደረጉ በኋላ “አገናኝ” ቁልፍን ጠቅ ያድርጉ። የብሉቱዝ መሣሪያዎችን ማምጣት አለበት እና መሣሪያዎ መዘርዘር አለበት። እሱን ይምረጡ እና ኮዱ ግንኙነቱን ካቋቋመ በኋላ “የተገናኘ” ቶስት ብቅ ይላል።

ወደ Accel ሴራ ለመመለስ የኋላ ቀስት ቁልፍን ይጠቀሙ። ከኤች.ሲ.-05 መሣሪያ ውሂብን ለማሳየት የ “ጅረት ጅምር” ቁልፍን መታ ያድርጉ። እንዲሁም በድምጽ መሰኪያ በኩል ውሂቡን ለማስቀመጥ ወይም ተደጋጋሚውን የተቀየረ ይዘትን ለማጫወት የሚገኙ አዝራሮችን ማድረግ አለብዎት።

ደረጃ 6 ውሂቡን ያግኙ እና ያቅዱ

Image
Image
ለተጨማሪ አጠቃቀም ወደ ፓይዘን (ወይም ወደ ሌላ መድረክ) ያስመጡ
ለተጨማሪ አጠቃቀም ወደ ፓይዘን (ወይም ወደ ሌላ መድረክ) ያስመጡ

የ “ጅረት ጅምር” ቁልፍ መንቃት አለበት። ውሂብን ወደ ማያ ገጹ መልቀቅ ለመጀመር መታ ያድርጉት።

የ “ውሂብ አስቀምጥ” ቁልፍ እንዲሁ ይነቃል ፣ ውሂቡን ለማከማቸት መታ ያድርጉት።

Accel Plot በተጨማሪም በድምፅ ሰርጦች ላይ የተቀየረ ምልክት የማውጣት አማራጭን ያካትታል። በአክሴል ሴራ መተግበሪያ ውስጥ ያሉት 2 ሰርጦች በ Android መሣሪያ ላይ ያለውን የኦዲዮ መውጫ መሰኪያ የግራ እና የቀኝ ሰርጦችን ያመለክታሉ። የ MPU-6050 መረጃን እንደ ብሔራዊ መሣሪያዎች ወደ ተለየ የውሂብ ምዝገባ ስርዓት ለማምጣት ከፈለጉ ይህ ጠቃሚ ነው።

ቪዲዮው በ R/C መኪና ላይ መረጃን የመሰብሰብ ምሳሌ ያሳያል።

ደረጃ 7 ለተጨማሪ አጠቃቀም ወደ ፓይዘን (ወይም ወደ ሌላ መድረክ) ያስመጡ

ለቀጣይ አጠቃቀም ወደ ፓይዘን (ወይም ወደ ሌላ መድረክ) ያስመጡ
ለቀጣይ አጠቃቀም ወደ ፓይዘን (ወይም ወደ ሌላ መድረክ) ያስመጡ

ፋይሎቹ በ Android መሣሪያ ላይ ተቀምጠዋል። ፋይሎቹ በ «AccelPlot» ማውጫ ስር ለ Android API 18 እና ከዚያ በላይ ይከማቻሉ። ኮዱ የ ‹dat› ፋይሎችን በ ‹\ Tablet / ሰነዶች / AccelPlot› አቃፊ ውስጥ ለኤፒአይ 19 (KitKat 4.4) እና ከዚያ በላይ ያስቀምጣል። በዩኤስቢ ሲገናኙ ፋይሎቹን በማሳየት በአንዳንድ የ Android መሣሪያዎች ላይ ችግር አጋጥሞኛል። በአንዳንድ ሁኔታዎች እነሱ እንዲታዩ ለማድረግ የ Android መሣሪያውን እንደገና ማስነሳት ነበረብኝ። ይህ ለምን እንደሆነ እርግጠኛ አይደሉም ፣ ግን ለእያንዳንዱ ሰርጥ አራት ፋይሎች ሊኖሩ ይገባል። ለተጨማሪ ሥራ ወደ አካባቢያዊ ማውጫ ሊገለበጡ ይችላሉ።

ፋይሎቹን ለመክፈት እና ውሂቡን ለማሳየት አናኮንዳ/ፓይዘን 2.7 ን እጠቀም ነበር። የ “ExploratoryAnalysis.ipynb” ፋይል ሁሉንም የውሂብ ፋይሎች የሚከፍት እና የናሙና ውሂቡን የሚያሴር የ IPython ማስታወሻ ደብተር ፋይል አለው። የናሙና ፋይሎች በ GitHub repo ውስጥ ተካትተዋል። ውሂቡ እንደ ትልቅ-ኢንቲያን 4 ባይት ተንሳፋፊ ('> ረ') ሆኖ ይቀመጣል ስለዚህ ማንኛውም የትንታኔ ፕሮግራም እነሱን መክፈት መቻል አለበት።

እንዲሁም በአንድ ፋይል ውስጥ በስም እንዴት ማንበብ እንደሚቻል የሚያሳይ “ReadDataFiles.ipynb” የተባለ ቀለል ያለ ፋይል አካትቻለሁ።

የሚመከር: