ዝርዝር ሁኔታ:

እገዳን አለማድረግ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ 5 ደረጃዎች
እገዳን አለማድረግ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ 5 ደረጃዎች

ቪዲዮ: እገዳን አለማድረግ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ 5 ደረጃዎች

ቪዲዮ: እገዳን አለማድረግ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ 5 ደረጃዎች
ቪዲዮ: ወሳኝ 10 የቲክቶክ ሴቲንጎች በቀላሉ ለማደግ||How to Make Money Online in Ethiopia 2024, ሀምሌ
Anonim
አለማገድ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ
አለማገድ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ
አለማገድ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ
አለማገድ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ
እገዳን አለማድረግ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ
እገዳን አለማድረግ APDS9960 የእጅ ምልክት ዳሳሽ ትግበራ

መግቢያ

ይህ የመማሪያ መመሪያ SparkFun_APDS-9960_Sensor_Arduino_Library ን በመጠቀም የ APDS9960 የእጅ ምልክት ዳሳሽን እንዴት ያለ ማገጃ ትግበራ እንደሚፈጥር በዝርዝር ይገልጻል።

መግቢያ

ስለዚህ ምን አለማገድ እራስዎን ይጠይቁ ይሆናል? ወይም ለዚያ ጉዳይ እንኳን ማገድ?

ከሁሉም በላይ የማይከለክል ማንኛውም ነገር በትክክል ለምን አስፈላጊ ነው?

እሺ ፣ ስለዚህ አንድ ማይክሮፕሮሰሰር አንድ ፕሮግራም ሲያካሂድ የኮድ መስመሮችን በቅደም ተከተል ያስፈጽማል እና ይህን ሲያደርግ እርስዎ በጻ wroteቸው ቅደም ተከተል መሠረት ወደ ተግባራት ጥሪ ያደርጋል እና ይመለሳል።

የማገድ ጥሪ ግድያ መቋረጥን ለሚፈጥር ለማንኛውም ዓይነት ተግባር ጥሪ ብቻ ነው ፣ ማለትም የተጠራው ተግባር እስኪያልቅ ድረስ ደዋዩ አፈፃፀሙን የማይቀጥልበት የተግባር ጥሪ ነው።

ታዲያ ይህ ለምን አስፈላጊ ነው?

እንደ የሙቀት መጠን ማንበብ ፣ አንድ አዝራር ማንበብ እና ማሳያ ማዘመንን የመሳሰሉ ብዙ ተግባራትን በተከታታይ ማከናወን ያለበትን አንዳንድ ኮድ በጻፉበት ሁኔታ ፣ ማሳያውን ለማዘመን ኮዱ የማገድ ጥሪ ከሆነ ፣ ስርዓትዎ ምላሽ የማይሰጥ ይሆናል። አዝራሩ ተጭኖ እና የሙቀት መጠንን ይለውጣል ፣ ምክንያቱም አንጎለ ኮምፒዩተሩ ሁሉንም ጊዜውን ማሳያው ማሳዘኑን በመጠባበቅ እና የአዝራሩን ሁኔታ ወይም የቅርብ ጊዜውን የሙቀት መጠን ባለማነበቡ ጊዜውን ያሳልፋል።

እኔ በበኩሌ የአካባቢያዊ እና የርቀት የሙቀት/እርጥበት እሴቶችን ፣ የአካባቢ ብርሃን ደረጃዎችን ፣ የባሮሜትሪክ ግፊትን የሚያነብ ፣ ጊዜን የሚከታተል ፣ ጊዜን የሚከታተል ፣ በ WiFi አቅም ባለው IoT ዴስክቶፕ መሣሪያ ላይ MQTT መፍጠር እፈልጋለሁ ፣ ጊዜን ይከታተላል ፣ እነዚህን ሁሉ መለኪያዎች በ LCD ላይ ያሳዩ ፣ ወደ uSD ይግቡ በእውነተኛ ጊዜ ውስጥ ካርድ ፣ የአዝራር ግብዓቶችን ያንብቡ ፣ ወደ ውፅዓት LED ዎች ይፃፉ እና በእኔ IoT መሠረተ ልማት ውስጥ ያሉትን ነገሮች ለመቆጣጠር እና ሁሉንም በ ESP8266-12 የሚቆጣጠሩ ምልክቶችን ይቆጣጠሩ።

እንደ አለመታደል ሆኖ እኔ የ APDS9960 ቤተ -መጽሐፍት ብቸኛ ምንጮች SparkFun እና AdaFruit ቤተ -መጻሕፍት ነበሩ ፣ ሁለቱም ከአቫጎ (የ ADPS9960 አምራች) ከትግበራ ኮድ ተነጥለው ጥቂት ጊዜ (1) {} የያዘ ‹readGesture› የሚባል ጥሪ አላቸው። ከላይ በፕሮጀክቱ ውስጥ ጥቅም ላይ ሲውል የ ADPS9960 ዳሳሽ በተሞላ ቁጥር ESP8266-12E ዳግም እንዲጀምር የሚያደርግ (ማለትም አንድ ነገር በአቅራቢያው ሲቆይ ወይም አነፍናፊውን የሚያበራ ሌላ የ IR ምንጭ ሲኖር)።

በዚህ ምክንያት ይህንን ባህሪ ለመፍታት የኢፒፒ 82266-12E ዋና ማይክሮ መቆጣጠሪያ እና ይህ ሥርዓት ባሪያ ሆኖ ከላይ በስዕሎች 1 እና 2 ላይ እንደተገለጸው የሥርዓቱ አጠቃላይ እይታ እና የሥርዓት ጥንቅር ሥዕሎች በቅደም ተከተል የሥዕላዊ መግለጫውን ሂደት ወደ ሁለተኛ ፕሮሰሰር ለማሸጋገር መረጥኩ።. ስዕል 3 የፕሮቶታይፕ ወረዳውን ያሳያል።

አሁን ባለው ኮዴ ላይ ማድረግ ያለብኝን ለውጦች ለመገደብ እኔ እንዲሁ ‹APDS9960_NonBlocking› የሚል መጠሪያ ክፍል/ቤተ -መጽሐፍት ጻፍኩ።

የሚከተለው ስለማያግድ መፍትሔ ዝርዝር ማብራሪያ ነው።

ምን ክፍሎች ያስፈልገኛል?

ከ APDS9960_NonBlocking ቤተ -መጽሐፍት ጋር የሚሠራውን የ I2C መፍትሄ ለመገንባት ከፈለጉ የሚከተሉትን ክፍሎች ያስፈልግዎታል።

  1. 1 ጠፍቷል ATMega328P እዚህ
  2. 1 ከ PCF8574P ጠፍቷል እዚህ
  3. 6 ጠፍቷል 10K Resistors እዚህ
  4. 4 ጠፍቷል 1K Resistors እዚህ
  5. 1 ከ 1N914 ዲዲዮ እዚህ አለ
  6. 1 ከ PN2222 NPN ትራንዚስተር እዚህ ጠፍቷል
  7. 1 ጠፍቷል 16 ሜኸ ክሪስታል እዚህ
  8. 2 ጠፍቷል 0.1uF Capacitors እዚህ
  9. 1 ጠፍቷል 1000uF ኤሌክትሮሊቲክ ካፒታተር እዚህ
  10. 1 ጠፍቷል 10uF ኤሌክትሮሊቲክ ካፒታተር እዚህ
  11. 2 ጠፍቷል 22pF Capacitors እዚህ

በምልክት አነፍናፊ ውፅዓት በትይዩ በይነገጽ በኩል ለማንበብ ከፈለጉ ከዚያ የ PCF8574P ን እና ሶስት የ 10 ኪ ተቃዋሚዎችን መጣል ይችላሉ።

ምን ሶፍትዌር እፈልጋለሁ?

አርዱዲኖ አይዲኢ 1.6.9

ምን ዓይነት ክህሎቶች ያስፈልጉኛል?

ስርዓቱን ለማዋቀር የምንጭ ኮዱን ይጠቀሙ (የቀረበ) እና አስፈላጊውን ወረዳ ይፍጠሩ የሚከተሉትን ያስፈልግዎታል።

  • የኤሌክትሮኒክስ አነስተኛ ግንዛቤ ፣
  • የአርዱዲኖ እውቀት እና አይዲኢ ፣
  • የተከተተ አርዱዲኖን እንዴት መርሃግብር ማድረግ እንደሚቻል ግንዛቤ (አስተማሪ የሆነውን ‹ATTiny85 ፣ ATTiny84 እና ATMega328P ን Arduino ን እንደ ISP› ይመልከቱ)
  • አንዳንድ ትዕግሥት።

የተሸፈኑ ርዕሶች

  • የወረዳው አጭር መግለጫ
  • የሶፍትዌሩ አጭር መግለጫ
  • የ APDS9960 የእጅ ምልክት ዳሳሽ መሣሪያን መሞከር
  • መደምደሚያ
  • ማጣቀሻዎች

ደረጃ 1 የወረዳ አጠቃላይ እይታ

የወረዳ አጠቃላይ እይታ
የወረዳ አጠቃላይ እይታ

ወረዳው በሁለት ክፍሎች የተከፈለ ነው;

  • የመጀመሪያው በተከታዮቹ R8… 10 እና IC1 በኩል የተከናወነውን ትይዩ ልወጣ I2C ተከታታይ ነው። እዚህ R8… R10 ለ 8 ቢት I/O ማስፋፊያ ቺፕ IC1 እና NXP PCF8574A የ I2C አድራሻ አዘጋጅቷል። ለዚህ መሣሪያ የሚሰራ የአድራሻ ክልሎች በቅደም ተከተል 0x38… 0x3F ናቸው። በ “I2C” የሶፍትዌር ምሳሌ ውስጥ ‹I2C_APDS9960_TEST.ino› ‹#Fine GESTURE_SENSOR_I2C_ADDRESS› በሚለው የቀረበው አድራሻ ከዚህ የአድራሻ ክልል ጋር የሚስማማ መሆን አለበት።
  • ሁሉም ሌሎች አካላት አርዱዲኖ ኡኖን የተከተተ ባሪያ ይመሰርታሉ እና የሚከተሉት ተግባራት አሏቸው።

    • R1 ፣ T1 ፣ R2 እና D1 የባሪያ መሣሪያ ዳግም ማስጀመሪያ ግብዓት ይሰጣሉ። እዚህ በ IC1 ላይ ንቁ የሆነ ከፍተኛ ምት - P7 U1 ን ዳግም እንዲያስጀምር ያስገድደዋል።
    • R3 ፣ R4 ፣ ለተካተተው መሣሪያ የፕሮግራም TX/RX መስመሮች የአሁኑ ገደቦችን የሚገድቡ ናቸው።
    • C5 እና R7 አርዱዲኖ አይዲኢ በተያያዘው የ FTDI መሣሪያ በ DTR መስመር ላይ በ pulse በኩል U1 ን በራስ -ሰር ፕሮግራም እንዲያደርግ ያስችለዋል።
    • R5 እና R6 ለኤ.ፒ.ኤስ.ዲ9960 I2C ተከላካዮችን ወደ ላይ ያነሳሉ C6 ከአከባቢ አቅርቦት የባቡር ማከፋፈያ አቅርቦት ጋር።
    • U1 ፣ C1 ፣ C2 እና Q1 የተከተተውን አርዱዲኖ ኡኖን ይመሰርታሉ እና ሰዓቱ በቅደም ተከተል ነው።
    • በመጨረሻም C3 እና C4 ለ U1 የአከባቢ አቅርቦት የባቡር ማከፋፈያ ይሰጣሉ።

ደረጃ 2 የሶፍትዌር አጠቃላይ እይታ

የሶፍትዌር አጠቃላይ እይታ
የሶፍትዌር አጠቃላይ እይታ
የሶፍትዌር አጠቃላይ እይታ
የሶፍትዌር አጠቃላይ እይታ
የሶፍትዌር አጠቃላይ እይታ
የሶፍትዌር አጠቃላይ እይታ

መግቢያ

ይህንን የምንጭ ኮድ በተሳካ ሁኔታ ለማጠናቀር የተከተተውን አርዱዲኖ ኡኖ ዩ 1 ን ለማዘጋጀት የሚከተሉትን ተጨማሪ ቤተ -መጻሕፍት ያስፈልግዎታል።

SparkFun_APDS9960. ሰ

  • በ: ስቲቭ ክዊን
  • ዓላማው-ይህ ከ jonn26/SparkFun_APDS-9960_Sensor_Arduino_Library የተሰረቀ የ SparkFun APDS9960 ዳሳሽ የተጭበረበረ ስሪት ነው። ለማረም የሚረዱ ጥቂት ማሻሻያዎች አሉት እና አስነዋሪ ቀስቃሽነትን ለመቀነስ de-sensitized detector አለው።
  • ከ:

APDS9960_NonBlocking.h

  • በ: ስቲቭ ክዊን
  • ዓላማው ይህንን የ APDS9960 የእጅ ምልክት ዳሳሽ በአርዲኖ ኮድዎ ውስጥ ለማካተት ንጹህ በይነገጽን ይሰጣል።
  • ከ:

ይህንን እንዴት ማግኘት እንደሚችሉ የማያውቁ ከሆነ የተከተተውን አርዱዲኖ ኡኖ (ATMega328P) ማይክሮ መቆጣጠሪያን እንዴት መርሃግብር ማድረግ እንደሚቻል የሚከተለውን መመሪያ ይመልከቱ።

ATTINY85 ን ፣ ATTINY84 እና ATMEGA328P ን በማዘጋጀት ላይ: ARDUINO እንደ ISP

የተግባር አጠቃላይ እይታ

ATMega328P የተከተተ የባሪያ ማይክሮ መቆጣጠሪያ የ INT መስመርን ከ ADPS9960 ይመርጣል። ይህ መስመር ዝቅተኛ በሚሆንበት ጊዜ ማይክሮ መቆጣጠሪያው የ ADPS9960 መዝገቦችን ያነባል እና ትክክለኛ የምልክት ስሜት ተስተውሎ እንደሆነ ይወስናል። ልክ የሆነ የእጅ ምልክት ከተገኘ ፣ የዚህ ምልክት ኮድ 0x0… 0x6 ፣ 0xF በፖርት ቢ ላይ የተቀመጠ ሲሆን ‹nGestureAvailable› ዝቅተኛ መሆኑ ተረጋግጧል።

ማስተር መሣሪያው ‹nGestureAvailable› ን ገባሪ ሆኖ ሲመለከት ፣ የውሂብ መቀበሉን ለመቀበል በፖርት ቢ ላይ ያለውን እሴት ያነባል ከዚያም ‹nGestureClear› ን ለጊዜው ዝቅ ያደርጋል።

ከዚያ የባሪያ መሣሪያው ‹nGestureAvailable› ን ከፍ አድርጎ ያረጋግጣል እና ከላይ በፖርት ቢ ፒ 5 ላይ ያለውን መረጃ ያጸዳል-ሙሉ የመለየት/የማንበብ ዑደት በሚኖርበት ጊዜ ከሎጂክ ተንታኝ የተወሰደ የማያ ገጽ መያዣ ያሳያል።

የኮድ አጠቃላይ እይታ

ከላይ ያለው ስዕል 1 በ U1 ውስጥ ያለው የተካተተ ባሪያ አርዱዲኖ ኡኖ እንዴት እንደሚሰራ ፣ ሁለቱ ዳራ/የፊት ሥራዎች እንዴት እንደሚገናኙ ከፎቶ 2 ጋር። ስዕል 3 APDS9960_NonBlockinglibrary ን እንዴት እንደሚጠቀም የሚገልጽ የኮድ ክፍል ነው። ስዕል 4 በአርዱዲኖ ኡኖ ዲጂታል ፒኖች እና በኤቲኤምኤኤ 328 ፒ ላይ በእውነተኛ የሃርድዌር ፒን መካከል ካርታ ይሰጣል።

የተከተተውን የባሪያ ማይክሮ መቆጣጠሪያውን እንደገና ካስጀመረ በኋላ የ APDS9960 ን የምልክት ማወቂያ የ INT ውጤቱን እንዲነቃቃ እና I/O ን እንዲያዋቅር ፣ የማቋረጫ የአገልግሎት አሰራሩን (ISR) ‘GESTURE_CLEAR ()’ በማያያዝ ቬክተር INT0 ን ለማቋረጥ (ዲጂታል ፒን 2 ፣ ሃርድዌር IC ፒን 4) ፣ ለሚወድቅ የጠርዝ ቀስቅሴ ያዋቅረው። ይህ ከዋናው መሣሪያ የ nGestureClear ግቤትን ይመሰርታል።

ከ APDS9960 የተቋረጠው የውጤት ፒን ‹INT› ከ U1 ግብዓት ሆኖ ከተዋቀረው ከዲጂታል ፒን 4 ፣ ሃርድዌር IC ፒን 6 ጋር ተገናኝቷል።

በዲጂታል ፒን 7 ፣ የሃርድዌር IC ፒን 13 ላይ ‹nGestureAvailable› የምልክት መስመር እንደ ውፅዓት ተዋቅሮ ከፍተኛ ፣ እንቅስቃሴ-አልባ (የተረጋገጠ)።

በመጨረሻ ፖርት ቢ ቢት 0… 3 በቅደም ተከተል እንደ ውፅዓት ተዋቅረው ዝቅ ተደርገዋል። እነዚህ የተለያዩ የተገኙ የምልክት ዓይነቶችን የሚወክል የውሂብ ንዝረት ይፈጥራሉ ፤ ምንም = 0x0 ፣ ስህተት = 0xF ፣ ላይ = 0x1 ፣ ታች = 0x2 ፣ ግራ = 0x3 ፣ ቀኝ = 0x4 ፣ አቅራቢያ = 0x5 እና ሩቅ = 0x6።

የዲጂታል ፒን ን በማንበብ APDS9960 ን የሚያቋርጥ የውጤት INT ን በቋሚነት የሚመርጥ የጀርባው ተግባር ‹መርሃግብር› መርሐግብር ተይዞለታል። ከ APDS9960 ያለው የ INT ውጤት ንቁ ሆኖ ሲቀንስ አነፍናፊው መቀስቀሱን ሲጀምር ማይክሮ መቆጣጠሪያው ‹አንባቢን› በመደወል ማንኛውንም ምልክት ለመተርጎም ይሞክራል።) 'ከእሱ ጋር (1) {}; ማለቂያ የሌለው ዑደት።

ልክ የሆነ የእጅ ምልክት ከተገኘ ፣ ይህ እሴት ወደ ፖርት ቢ የተጻፈ ፣ የ ‹nGestureAvailable› ውፅዓት የተረጋገጠ እና የቦሊያን ሴማፎር ‹bGestureAvailable› ተዋቅሯል ፣ ይህም ማንኛውም ተጨማሪ ምልክቶች እንዳይገቡ ይከላከላል።

አንዴ ጌታው ገባሪውን ‹nGestureAvailable› ውፅዓት ካወቀ ይህንን አዲስ እሴት ያነባል እና ‹nGestureClear› ንቁ ዝቅተኛ ነው። ይህ የወደቀ ጠርዝ የበስተጀርባውን ተግባር 'Loop' ፣ Port B ን ፣ ‘bGestureAvailable’ semaphore እና ‘nGestureAvailable’ ውፅዓትን ለማገድ የታቀደውን ‹ISR GESTURE_CLEAR ()› ቅድመ -ተግባርን ያነሳሳል።

የ «GESTURE_CLEAR ()» የፊት ተግባር አሁን ታግዷል እና የዳራ ተግባር 'Loop' እንደገና መርሐግብር ተይዞለታል። ከ APDS9960 ተጨማሪ ምልክቶች አሁን ሊታወቁ ይችላሉ።

በዚህ መንገድ የተቋረጡ የፊት/ዳራ ተግባሮችን በዚህ መንገድ በመጠቀም የባሪያ መሳሪያው ‹readGesture ()› ውስጥ ሊገደብ የማይችል ዑደት በዋናው መሣሪያ ላይ አይሠራም እንዲሁም የባሪያ መሣሪያውን አፈፃፀም አያስተጓጉልም። ይህ በጣም ቀላል የእውነተኛ ጊዜ ስርዓተ ክወና (RTOS) መሠረት ነው።

ማሳሰቢያ - ቅድመ ቅጥያው ‹n› ማለት በ ‹nGestureAvailable› ውስጥ እንደነበረው ገባሪ ዝቅተኛ ወይም የተረጋገጠ ነው።

ደረጃ 3 ፦ የማይታገድ APDS9960 የምልክት ዳሳሽ መሣሪያን መሞከር

የማይታገድ APDS9960 የእጅ ምልክት ዳሳሽ መሣሪያን መሞከር
የማይታገድ APDS9960 የእጅ ምልክት ዳሳሽ መሣሪያን መሞከር
የማይታገድ APDS9960 የምልክት ዳሳሽ መሣሪያን መሞከር
የማይታገድ APDS9960 የምልክት ዳሳሽ መሣሪያን መሞከር
የማይታገድ APDS9960 የእጅ ምልክት ዳሳሽ መሣሪያን መሞከር
የማይታገድ APDS9960 የእጅ ምልክት ዳሳሽ መሣሪያን መሞከር
የማይታገድ APDS9960 የእጅ ምልክት ዳሳሽ መሣሪያን መሞከር
የማይታገድ APDS9960 የእጅ ምልክት ዳሳሽ መሣሪያን መሞከር

መግቢያ

ምንም እንኳን የ APDS9960 ሞጁል ከ +5 ቪ ጋር ቢቀርብም በቦርዱ ላይ +3v3 ተቆጣጣሪ ይጠቀማል ማለት I2C መስመሮች +3v3 ታዛዥ እና +5v አይደሉም ማለት ነው። የደረጃ አስተላላፊዎችን አስፈላጊነት ለማቃለል +3v3 ን የሚያከብር አርዱinoኖን እንደ የሙከራ ማይክሮ መቆጣጠሪያ ለመጠቀም መረጥኩ።

ሆኖም ፣ ትክክለኛውን አርዱዲኖ ኡኖን ለመጠቀም ከፈለጉ ከዚያ የ I2C መስመሮችን ወደ U1 ደረጃ ማዛወር ያስፈልግዎታል። I2C ን ለመጠቀም ብዙ ተግባራዊ ምክሮችን የሚሰጥ ጠቃሚ የስላይድ ስብስብ (I2C_LCD_With_Arduino) ያያያዝኩበትን የሚከተለውን መመሪያ ይመልከቱ።

I2C በይነገጽ ሙከራ

ከላይ ያሉት ሥዕሎች 1 እና 2 ለ I2C በይነገጽ ስርዓቱን እንዴት ማዋቀር እና መርሃ ግብር ማሳየት እንደሚችሉ ያሳያሉ። መጀመሪያ APDS9960_NonBlocking ቤተ -መጽሐፍትን ማውረድ እና መጫን ያስፈልግዎታል። እዚህ

ትይዩ በይነገጽ ሙከራ

ስዕሎች 3 እና 4 ለ Parallel በይነገጽ ተመሳሳይ ይዘረዝራሉ

ደረጃ 4 መደምደሚያ

መደምደሚያ
መደምደሚያ

ጄኔራል

ኮዱ በጥሩ ሁኔታ ይሠራል እና ምንም የሐሰት አዎንታዊ ሳይኖር በምልክት ምላሽ ይሰጣል። በሚቀጥለው ፕሮጀክት ውስጥ እንደ ባሪያ መሣሪያ ሆኖ አሁን ለጥቂት ሳምንታት ተሠርቷል። ብዙ የተለያዩ የውድቀትን ሁነታዎች ሞክሬያለሁ (እና ጠያቂው የኩዊን ቤተሰብ ሞጊም እንዲሁ) ከዚህ ቀደም ምንም አሉታዊ ውጤት ሳይኖር ESP8266-12 ዳግም ማስጀመርን አስከትሏል።

ሊሆኑ የሚችሉ ማሻሻያዎች

  • ግልፅ የሆነው። የ APDS9960 የምልክት ዳሳሽ ቤተ-መጽሐፍትን እንዳያግድ እንደገና ይፃፉ።

    በእውነቱ የድጋፍ ጥያቄዬን ችላ ወዳለው የአከባቢው አከፋፋይ ያስገባኝን ብሮድኮምን አገኘሁ ፣ እኔ እስፓርክ ወይም አዳፍሬዝ አይደለሁም ፣ እገምታለሁ። ስለዚህ ይህ ምናልባት ትንሽ ጊዜ መጠበቅ አለበት።

  • ኮዱን ወደ ትንሽ ባሪያ ማይክሮ መቆጣጠሪያ። ለአንድ ተግባር ATMega328P ን መጠቀሙ ከመጠን በላይ ከመጠን በላይ ነው። እኔ መጀመሪያ ATTiny84 ን ብመለከትም ፣ የኮዱ የተጠናከረ መጠን የድንበር መስመር ተስማሚ እንደሆነ ስለተሰማኝ አንድን መጠቀም አቆመ። ከተለየ I2C ቤተ -መጽሐፍት ጋር ለመስራት የ APDS9960 ቤተ -መጽሐፍትን ማሻሻል ካለበት ተጨማሪ ትርፍ ጋር።

ደረጃ 5 - ማጣቀሻዎች

የተከተተውን አርዱዲኖ (ATMega328P - U1) ፕሮግራም ለማድረግ ያስፈልጋል

SparkFun_APDS9960. ሰ

  • በ: ስቲቭ ክዊን
  • ዓላማው-ይህ ከ jonn26/SparkFun_APDS-9960_Sensor_Arduino_Library የተሰረቀ የ SparkFun APDS9960 ዳሳሽ የተጭበረበረ ስሪት ነው። ለማረም የሚረዱ ጥቂት ማሻሻያዎች አሉት እና አስነዋሪ ቀስቃሽነትን ለመቀነስ de-sensitized detector አለው።
  • ከ:

ይህንን የማያግድ ተግባር ወደ አርዱዲኖ ኮድዎ ውስጥ ማስገባት እና የተሠሩ ምሳሌዎችን መስጠት ያስፈልጋል

APDS9960_NonBlocking.h

  • በ: ስቲቭ ክዊን
  • ዓላማው ይህንን የ APDS9960 የእጅ ምልክት ዳሳሽ በአርዲኖ ኮድዎ ውስጥ ለማካተት ንጹህ በይነገጽን ይሰጣል።
  • ከ:

የእውነተኛ ጊዜ ስርዓተ ክወና

https://am.wikipedia.org/wiki/ የእውነተኛ-ጊዜ_አሠራር_ሥርዓት

APDS9960 የውሂብ ሉህ

https://cdn.sparkfun.com/assets/learn_tutorials/3/2/1/Avago-APDS-9960-datasheet.pdf

የሚመከር: