ዝርዝር ሁኔታ:

INFRA ቀይ REMOTE ቁጥጥር የተደረገበት ሮቦካር አጠቃቀም AVR (ATMEGA32) MCU: 5 ደረጃዎች
INFRA ቀይ REMOTE ቁጥጥር የተደረገበት ሮቦካር አጠቃቀም AVR (ATMEGA32) MCU: 5 ደረጃዎች

ቪዲዮ: INFRA ቀይ REMOTE ቁጥጥር የተደረገበት ሮቦካር አጠቃቀም AVR (ATMEGA32) MCU: 5 ደረጃዎች

ቪዲዮ: INFRA ቀይ REMOTE ቁጥጥር የተደረገበት ሮቦካር አጠቃቀም AVR (ATMEGA32) MCU: 5 ደረጃዎች
ቪዲዮ: Ko je Ramzan Kadirov? 2024, ሀምሌ
Anonim
AVF (ATMEGA32) MCU ን በመጠቀም INFRA ቀይ REMOTE ቁጥጥር የተደረገበት ሮቦካርር
AVF (ATMEGA32) MCU ን በመጠቀም INFRA ቀይ REMOTE ቁጥጥር የተደረገበት ሮቦካርር

የአሁኑ ፕሮጀክት ለተለያዩ አውቶማቲክ ቁጥጥር ለሌላቸው አፕሊኬሽኖች ጥቅም ላይ ሊውል የሚችል የኢንፍራሬድ (IR) የርቀት መቆጣጠሪያ ሮቦካር ዲዛይን እና ትግበራ ይገልጻል። እኔ በርቀት ቁጥጥር የሚደረግበትን ሮቦካር (ግራ-ቀኝ/የፊት-ጀርባ እንቅስቃሴ) ነድፌያለሁ። ጠቅላላው ስርዓት የመቆጣጠሪያ ስርዓቱን ብልጥ እና ለሌሎች መተግበሪያዎች በቀላሉ ለመለወጥ በሚያስችል በማይክሮ መቆጣጠሪያ (Atmega32) ላይ የተመሠረተ ነው። ተጠቃሚው ሮቦካርን እንዲሠራ ወይም እንዲቆጣጠር እና ከ 5 ሜትር ገደማ ርቆ ዋናውን የኃይል መቀየሪያ እንዲሠራ ያስችለዋል።

ቁልፍ ቃላት: IR ዲኮደር ፣ AVR (Atmega32) ማይክሮ መቆጣጠሪያ ፣ የቴሌቪዥን የርቀት መቆጣጠሪያ ፣ ሽቦ አልባ ግንኙነት

_

ደረጃ 1: IntraRed Communication

IntraRed ግንኙነት
IntraRed ግንኙነት

የ IR ግንኙነት መርህ

ሀ) IR ማስተላለፍ

ለእያንዳንዱ የኤሌክትሪክ ንዝረት የኢንፍራሬድ ብርሃን የሚያመነጨው በወረዳው ውስጥ ያለው የ IR LED አስተላላፊ። በርቀት መቆጣጠሪያው ላይ አንድ ቁልፍ ሲጫን ይህ ምት ይፈጠራል ፣ ስለሆነም ወረዳውን ያጠናቅቃል ፣ ለኤልዲ አድልዎ ይሰጣል። አድሏዊነት ላይ ያለው LED ከተጫነው ቁልፍ ጋር የሚጎዳኝ የ 940nm የሞገድ ርዝመት እንደ ተከታታይ ምቶች ብርሃን ያወጣል። ሆኖም ከ IR LED ጋር እንደ እኛ የሰው ልጆች ፣ አምፖሎች ፣ ፀሐይ ፣ ወዘተ የመሳሰሉት ብዙ ሌሎች የኢንፍራሬድ ብርሃን ምንጮች ፣ የተላለፈው መረጃ ጣልቃ ሊገባ ይችላል። ለዚህ ችግር መፍትሔው በማስተካከል ነው። የተላለፈው ምልክት በ 38 ኪኸ (ወይም ከ 36 እስከ 46 ኪኸ መካከል ባለው ማንኛውም ሌላ ድግግሞሽ) ተሸካሚ ድግግሞሽ በመጠቀም ተስተካክሏል። IR LED ለ pulse የጊዜ ቆይታ በዚህ ድግግሞሽ እንዲወዛወዝ ይደረጋል። መረጃው ወይም የብርሃን ምልክቶቹ የ pulse ስፋት ተስተካክለው በ 38 ኪኸ ድግግሞሽ ውስጥ ይገኛሉ። የኢንፍራሬድ ስርጭት በኤሌክትሮማግኔቲክ ጨረር ክልል ክልል ውስጥ ከሚታየው ብርሃን የበለጠ ርዝመት ባለው የሞገድ ርዝመት ፣ ግን ከሬዲዮ ሞገዶች ያነሰ ነው። በተጓዳኝ ፣ የኢንፍራሬድ ድግግሞሽ ከማይክሮዌቭ ከፍ ያለ ነው ፣ ግን ከሚታየው ብርሃን ያነሰ ነው። የሳይንስ ሊቃውንት የኢንፍራሬድ ጨረር (አይአር) ህብረ ህዋስን በሦስት ክልሎች ይከፍሉታል። የሞገድ ርዝመቶች በማይክሮኖች (በምልክት µ ፣ የት 1 µ = 10-6 ሜትር) ወይም በናኖሜትር (በአህጽሮት nm ፣ 1 nm = 10-9 ሜትር = 0.001 5) ውስጥ ተገልፀዋል። በአቅራቢያው ያለው የ IR ባንድ በግምት ከ 0.750 እስከ 1.300 5 (ከ 750 እስከ 1300 ናም) ከሚታየው ቅርብ በሆነ የሞገድ ርዝመት ውስጥ ኃይልን ይ containsል። መካከለኛ IR ባንድ (መካከለኛ IR ባንድ ተብሎም ይጠራል) ከ 1.300 እስከ 3.000 5 (ከ 1300 እስከ 3000 nm) ባለው ክልል ውስጥ ኃይልን ያካትታል። የሩቅ IR ባንድ ከ 2.000 እስከ 14.000 5 (3000 nm እስከ 1.4000 x 104nm) ይዘልቃል።

ለ) የ IR መቀበያ

ተቀባዩ ብርሃን በላዩ ላይ እንደተከሰተ የውጤት የኤሌክትሪክ ምልክት የሚያመነጭ የፎቶ መመርመሪያን ያካትታል። የመመርመሪያው ውፅዓት ከዚህ በታች ወይም ከድምጸ ተያያዥ ሞደም ድግግሞሽ (በዚህ ሁኔታ 38 ኪኸ) ሁሉንም ድግግሞሾችን የሚያስወግድ ጠባብ ባንድ ማጣሪያ በመጠቀም ይጣራል። ከዚያ የተጣራ ውጤት እንደ ፒሲ ወይም ሮቦት ያሉ መሣሪያዎችን የሚቆጣጠር እንደ ማይክሮ መቆጣጠሪያ ወይም ማይክሮፕሮሰሰር ላሉ ተስማሚ መሣሪያ ይሰጣል። ከማጣሪያዎቹ የሚወጣው ውጤትም ጥራጥሬዎችን ለማንበብ ከ Oscilloscope ጋር ሊገናኝ ይችላል።

የ IR ማመልከቻዎች

ኢንፍራሬድ በተለያዩ የገመድ አልባ መገናኛዎች ፣ የክትትል እና የቁጥጥር መተግበሪያዎች ውስጥ ጥቅም ላይ ይውላል። አንዳንድ ምሳሌዎች እነሆ -

· የቤት-መዝናኛ የርቀት መቆጣጠሪያ ሳጥኖች

· ገመድ አልባ (የአከባቢ አውታረ መረቦች)

· በማስታወሻ ደብተር ኮምፒተሮች እና በዴስክቶፕ ኮምፒተሮች መካከል ያሉ አገናኞች

· ገመድ አልባ ሞደም

· ጣልቃ ገብነት መመርመሪያዎች

· የእንቅስቃሴ ዳሳሾች

· የእሳት ዳሳሾች

· የሌሊት-እይታ ስርዓቶች

· የሕክምና ምርመራ መሣሪያዎች

· ሚሳይል መመሪያ ስርዓቶች

· የጂኦሎጂካል ክትትል መሣሪያዎች

የ IR መረጃን ከአንድ መሣሪያ ወደ ሌላው ማስተላለፍ አንዳንድ ጊዜ ጨረር ተብሎ ይጠራል።

ደረጃ 2 - የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat

የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat
የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat
የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat
የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat
የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat
የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat
የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat
የ IR ዳሳሽ እና NEC ፕሮቶኮል Fromat

የ IR ዳሳሾች (ምስል 1)

TSOP1738 ፣ SFH-5110-38 (38kHz)

የ TSOP ዳሳሾች ባህሪዎች

  • ቅድመ -ማጉያ እና የፎቶ መመርመሪያ ሁለቱም በአንድ ጥቅል ውስጥ ናቸው
  • ለፒሲኤም ድግግሞሽ ውስጣዊ ማጣሪያ
  • በኤሌክትሪክ መስክ ረብሻ ላይ የተሻሻለ መከላከያ
  • TTL እና CMOS ተኳሃኝነት
  • የውጤት ንቁ ዝቅተኛ ዝቅተኛ የኃይል ፍጆታ
  • በአከባቢ ብርሃን ላይ ከፍተኛ መከላከያ
  • ቀጣይነት ያለው የውሂብ ማስተላለፍ ይቻላል

NEC ፕሮቶኮል;

የ NEC IR ማስተላለፊያ ፕሮቶኮል የመልዕክት ቢት የርቀት ርቀት ኢንኮዲንግን ይጠቀማል። እያንዳንዱ የልብ ምት ፍንዳታ 562.5µs ነው ፣ በአገልግሎት አቅራቢ ድግግሞሽ በ 38 ኪኸ (26.3µs)። ሎጂካዊ ቁርጥራጮች እንደሚከተለው ይተላለፋሉ (ምስል 2)

  • አመክንዮ '0' - የ 562.5 µ የልብ ምት ፍንዳታ ተከትሎ በ 562.5µs ቦታ ፣ በጠቅላላው የማስተላለፍ ጊዜ 1.125 ሚ.ሜ.
  • አመክንዮ '1' - የ 562.5 µ የልብ ምት ፍንዳታ ተከትሎ 1.6875ms ቦታ ፣ አጠቃላይ የማስተላለፍ ጊዜ 2.25ms

የአገልግሎት አቅራቢው ምት 21 ዑደቶችን በ 38 ኪኸ ኸርዝ ይይዛል። ጥራጥሬዎች ብዙውን ጊዜ የአሁኑን ፍጆታ ለመቀነስ የ 1: 4 ምልክት/ቦታ ጥምርታ አላቸው።

(ምስል 3)

እያንዳንዱ የኮድ ቅደም ተከተል AGC pulse በመባል በሚታወቀው በ 9ms ምት ይጀምራል። ይህ በ 4.5ms ዝምታ ይከተላል

(ምስል 4)

ከዚያ ውሂቡ 32 ቢት ፣ ባለ 16 ቢት አድራሻ እና በ 16 ቢት ትዕዛዝ የተከተለ ፣ በሚተላለፉበት ቅደም ተከተል (ከግራ ወደ ቀኝ)

(ምስል 5)

አራቱ ባይት የውሂብ ቢቶች እያንዳንዳቸው ቢያንስ ጉልህ የሆነ ትንሽ ትንሽ መጀመሪያ ይላካሉ። ስእል 1 ለ 00h (00000000b) አድራሻ እና ለ ADh ትዕዛዝ (10101101 ለ) የ NEC IR ማስተላለፊያ ፍሬም ቅርጸት ያሳያል።

የመልዕክት ፍሬም ለማስተላለፍ በአጠቃላይ 67.5ms ያስፈልጋል። 16 ቢት አድራሻ (አድራሻ + ተገላቢጦሽ) እና 16 የትእዛዝ ቢት (ትዕዛዝ + ተገላቢጦሽ) ለማስተላለፍ 27ms ይፈልጋል።

(ምስል 6)

ክፈፉን ለማስተላለፍ የሚያስፈልገው ጊዜ ፦

ለአድራሻው 16 ቢት (አድራሻ + ተገላቢጦሽ) ጊዜን ለማስተላለፍ 27ms ይፈልጋል። እና ለትእዛዙ (ቢት + ተገላቢጦሽ) 16 ቢት እንዲሁ ጊዜን ለማስተላለፍ 27ms ያስፈልጋቸዋል። ምክንያቱም (አድራሻ + ተገላቢጦሽ) ወይም (ትዕዛዝ + ተገላቢጦሽ ትዕዛዝ) ሁል ጊዜ 8 0 0 እና 8 1 1 ስለዚህ (8 * 1.125ms) + (8 * 2.25ms) == 27 ms ይይዛል። ክፈፉን ለማስተላለፍ በዚህ አጠቃላይ ጊዜ (9ms +4.5ms +27ms +27ms) = 67.5 ms ነው።

ኮዶችን ይድገሙ - በርቀት መቆጣጠሪያው ላይ ያለው ቁልፍ በጭንቀት ከቀጠለ የመልእክቱን መጨረሻ የሚያመለክተው የልብ ምት ከተነሳ በኋላ በተለምዶ 40ms አካባቢ ተደጋጋሚ ኮድ ይወጣል። ቁልፉ በመጨረሻ እስኪለቀቅ ድረስ ተደጋጋሚ ኮድ በ 108ms ክፍተቶች መላክ ይቀጥላል። ተደጋጋሚው ኮድ በቅደም ተከተል የሚከተሉትን ያጠቃልላል

  • አንድ 9ms የሚመራ የልብ ምት ፍንዳታ
  • 2.25ms ቦታ
  • የቦታውን መጨረሻ (እና ስለዚህ የተላለፈው ተደጋጋሚ ኮድ መጨረሻ) ምልክት ለማድረግ 562.5 µ ምት ተበጠሰ።

(ምስል 7)

የዘገየ ስሌት (1ms) ፦

የሰዓት ድግግሞሽ = 11.0592 ሜኸ

የማሽን ዑደት = 12

መዘግየት = 1 ኤም

TimerValue = 65536 - ((መዘግየት * ClockFreq)/የማሽን ዑደት) = 65536 - ((1ms * 11.0592Mhz)/12)

= 65536 - 921 = 0xFC67

ደረጃ 3 የዲሲ ሞተር ቁጥጥር L293D ን በመጠቀም

L293D ን በመጠቀም የዲሲ ሞተር ቁጥጥር
L293D ን በመጠቀም የዲሲ ሞተር ቁጥጥር

የዲሲ ሞተር

ዲሲ-ሞተር ብዙ ጠቃሚ ሥራዎችን ለመሥራት የሚያገለግል የኤሌክትሪክ ኃይልን ወደ ሜካኒካዊ ኃይል ይለውጣል። የእኔ ሮቦካር እንደ ሂድ ወደ ፊት/ወደ ኋላ እንደ ሜካኒካዊ እንቅስቃሴን ማምረት ይችላል። የዲሲ ሞተሮች እንደ 6V እና 12V ባሉ የተለያዩ ደረጃዎች ውስጥ ይመጣሉ። ሁለት ሽቦዎች ወይም ፒኖች አሉት። የመግቢያውን ዋልታ በመገልበጥ የማዞሪያ አቅጣጫውን መቀልበስ እንችላለን።

የ 600mA ደረጃ አሰጣጥ አነስተኛ የዲሲ ሞተሮችን ለማሽከርከር ጥሩ ስለሆነ እዚህ L293D ን እንመርጣለን እና የጥበቃ ዳዮዶች በራሱ በአይሲ ውስጥ ተካትተዋል። የእያንዳንዱ ፒን ገለፃ እንደሚከተለው ነው - ፒኖችን ያንቁ - እነዚህ ፒን ቁጥር አይደሉም። 1 እና ፒን አይ። 9. ፒን አይ. 1 የ Half-H ሾፌር 1 ን እና 2 ን (H ድልድይ በግራ በኩል) ለማንቃት ያገለግላል። ፒን የለም። 9 የ H- ድልድይ ሾፌር 3 እና 4 ን (H ድልድይ በቀኝ በኩል) ለማንቃት ያገለግላል።

ጽንሰ -ሀሳቡ ቀላል ነው ፣ አንድ የተወሰነ የኤች ድልድይ ለመጠቀም ከፈለጉ ከአይሲው የኃይል አቅርቦት ጋር ተጓዳኝ የነቃ ፒኖችን ከፍተኛ አመክንዮ መስጠት አለብዎት። ይህ ፒን እንዲሁ የ PWM ቴክኒክን በመጠቀም የሞተርን ፍጥነት ለመቆጣጠር ሊያገለግል ይችላል ።VCC1 (ፒን 16) - የኃይል አቅርቦት ፒን። ከ 5 ቪ አቅርቦት ጋር ያገናኙት። ቪሲሲ 2 (ፒን 8) - ለሞተር የኃይል አቅርቦት። እንደ ሞተር ደረጃ አሰጣጥ +ve ቮልቴጅን በእሱ ላይ ይተግብሩ። ሞተርዎን በ 12 ቮ ለማሽከርከር ከፈለጉ ፣ በዚህ ፒን ላይ 12V ይተግብሩ።

እንዲሁም ለባትሪው ኃይል ለማቅረብ ከሚጠቀምበት በስተቀር ሞተርን በቀጥታ በባትሪ ላይ ማሽከርከር ይቻላል ፣ ያንን የባትሪ ተርሚናል ከ VCC2 ፒን ጋር ያገናኙ እና ሁለቱንም ባትሪዎች GND ያድርጉ። (በዚህ ፒኤን ላይ ያለው MAX voltage ልቴጅ እንደ የውሂብ ሉህ 36V ነው) ።GND (ፒን 4 ፣ 5 ፣ 12 ፣ 13) - ከተለመዱት የወረዳ GND ጋር ያገናኙዋቸው። ግብዓቶች (ፒኖች 2 ፣ 7 ፣ 10 ፣ 15)

እነዚህ የቁጥጥር ምልክቶች በማይክሮ መቆጣጠሪያዎች ወይም በሌሎች ወረዳዎች/አይሲዎች የሚሰጡባቸው የግብዓት ፒኖች ናቸው። ለምሳሌ ፣ በፒን 2 (የ 1 ኛ ግማሽ ኤች ሾፌር ግቤት) ሎጂክ 1 (5 ቮ) ከሰጠን ፣ የ 1 ኛ ግማሽ ኤች ሾፌር ተጓዳኝ ውፅዓት ፒን ላይ ከ VCC2 ጋር እኩል የሆነ ቮልቴጅ እናገኛለን ማለትም ፒን አይ። 3. በተመሳሳይ ሁኔታ ለሎጂክ 0 (0V) በፒን 2 ፣ 0 ቪ በፒን 3 ይታያል። ውጤቶች (ፒን 3 ፣ 6 ፣ 11 ፣ 14) - የውጤቶች ፒኖች። በግብዓት ምልክት ውፅዓት ምልክት መሠረት ይመጣል።

የሞተር እንቅስቃሴዎች ሀ ለ

-----------------------------------------------------------------------------------------

…………… አቁም: ዝቅተኛ: ዝቅተኛ

…… በሰዓት አቅጣጫ ዝቅተኛ - ከፍተኛ

በተቃራኒ ሰዓት አቅጣጫ - ከፍ ያለ - ዝቅተኛ

…………….. ቆም - ከፍ ያለ - ከፍተኛ

ደረጃ 4 ለሞተር ሾፌር እና ለ IR ዳሳሽ የወረዳ ንድፎች

ለሞተር ሾፌር እና ለ IR ዳሳሽ የወረዳ ንድፎች
ለሞተር ሾፌር እና ለ IR ዳሳሽ የወረዳ ንድፎች
ለሞተር ሾፌር እና ለ IR ዳሳሽ የወረዳ ንድፎች
ለሞተር ሾፌር እና ለ IR ዳሳሽ የወረዳ ንድፎች
ለሞተር ሾፌር እና ለ IR ዳሳሽ የወረዳ ንድፎች
ለሞተር ሾፌር እና ለ IR ዳሳሽ የወረዳ ንድፎች

ATmega32 በ AVR በተሻሻለው RISCarchitecture ላይ የተመሠረተ ዝቅተኛ ኃይል ያለው CMOS 8-ቢት ማይክሮ መቆጣጠሪያ ነው። በአንድ የሰዓት ዑደት ውስጥ ኃይለኛ መመሪያዎችን በመተግበር ፣ ATmega32 ወደ 1 ኤምአይኤስ የሚጠጉ ግብዓቶችን በማሳካት የስርዓቱ ዲዛይነር የኃይል ፍጆታን ከሂደት ፍጥነት ጋር እንዲያሻሽል ያስችለዋል።

የ AVR ኮር ከ 32 አጠቃላይ ዓላማ የሥራ መመዝገቢያዎች ጋር የበለፀገ መመሪያን ያዋህዳል። ሁሉም የ 32 መመዝገቢያዎች በቀጥታ ከአርቲሜቲክ ሎጂክ ዩኒት (ALU) ጋር የተገናኙ ናቸው ፣ ይህም በአንድ ገለልተኛ ዑደት ውስጥ በአንድ ገለልተኛ መመሪያ ውስጥ ሁለት ገለልተኛ መመዝገቢያዎች እንዲደርሱ ያስችላቸዋል። ከተለመዱት የሲአይሲሲ ማይክሮ መቆጣጠሪያዎች እስከ አስር እጥፍ የሚደርሱ ግብዓቶችን በማሳካት የተገኘው ሥነ ሕንፃ የበለጠ ኮድ ቀልጣፋ ነው።

ATmega32 የሚከተሉትን ባህሪዎች ይሰጣል

  • በንባብ-መጻፍ ችሎታዎች 32 በስርዓት ውስጥ በፕሮግራም ሊሠራ የሚችል የፍላሽ ፕሮግራም ማህደረ ትውስታ ፣
  • 1024 ባይት EEPROM ፣ 2K ባይት SRAM ፣
  • 32 አጠቃላይ ዓላማ I/O መስመሮች ፣
  • 32 አጠቃላይ ዓላማ የሥራ መዝገቦች ፣
  • ለድንበርስካን የ JTAG በይነገጽ ፣
  • በቺፕ ላይ ማረም ድጋፍ እና ፕሮግራም ፣ ሶስት ተለዋዋጭ ሰዓት ቆጣሪ/ቆጣሪዎች ከንፅፅር ሁነታዎች ጋር ፣ የውስጥ እና የውጭ መስተጓጎሎች ፣ ተከታታይ መርሃግብር ያለው USART ፣ ባይት ተኮር ባለ ሁለት ሽቦ ተከታታይ በይነገጽ ፣ 8-ሰርጥ ፣
  • 10-ቢት ኤዲሲ በፕሮግራም ሊገኝ ከሚችል አማራጭ የግቤት ደረጃ ጋር (TQFP ጥቅል ብቻ) ፣
  • በፕሮግራም ሊሠራ የሚችል የ Watchdog Timer ከውስጣዊ ኦሲላተር ፣
  • የ SPI ተከታታይ ወደብ ፣ እና
  • ስድስት ሶፍትዌር ሊመረጥ የሚችል የኃይል ቁጠባ ሁነታዎች።

    • USART ን በሚፈቅድበት ጊዜ የሥራ ፈት ሁኔታ ሲፒዩውን ያቆማል ፣
    • ባለ ሁለት ሽቦ በይነገጽ ፣ ኤ/ዲ መለወጫ ፣
    • SRAM ፣
    • ሰዓት ቆጣሪ/ቆጣሪዎች ፣
    • SPI ወደብ ፣ እና
    • ሥራውን ለመቀጠል ስርዓቱን ያቋርጣል።
    • የኃይል መውረዱ ሁኔታ የመመዝገቢያ ይዘቶችን ያስቀምጣል ፣ ግን Oscillator ን ያቀዘቅዛል ፣ እስከሚቀጥለው የውጭ መቋረጥ ወይም የሃርድዌር ዳግም ማስጀመሪያ ድረስ ሁሉንም ሌሎች ቺፕ ተግባሮችን ያሰናክላል።
    • በኃይል ቆጣቢ ሁኔታ ውስጥ ፣ ያልተመሳሰለ ሰዓት ቆጣሪ መሥራቱን ቀጥሏል ፣ ቀሪው መሣሪያ ተኝቶ እያለ ተጠቃሚው የሰዓት ቆጣሪን እንዲይዝ ያስችለዋል።
    • በኤዲሲ ልወጣዎች ወቅት የመቀያየር ጫጫታ ለመቀነስ የ ADC ጫጫታ ቅነሳ ሁናቴ ሲፒዩውን እና ሁሉንም የ I/O ሞጁሎችን ከማይመሳሰሉ ሰዓት ቆጣሪ እና ከኤ.ዲ.ሲ.
    • በተጠባባቂ ሞድ ውስጥ ፣ የተቀረው መሣሪያ ተኝቶ እያለ ክሪስታል/ሬዞናተር ኦስላተር እየሰራ ነው። ይህ ከዝቅተኛ የኃይል ፍጆታ ጋር ተጣምሮ በጣም ፈጣን ጅምርን ይፈቅዳል።
    • በተራዘመ የመጠባበቂያ ሞድ ውስጥ ሁለቱም ዋናው ኦስላተር እና ያልተመሳሰለ ሰዓት ቆጣሪ መሮጣቸውን ይቀጥላሉ።

ሁሉም ተዛማጅ ወረዳዎች እዚህ ይሰጣሉ እና ዋና ወረዳ (atmega32) እንዲሁ ተሰጥቷል።

ደረጃ 5 - የአቫር ፕሮግራሞች

የ Avr ፕሮግራሞች
የ Avr ፕሮግራሞች
የ Avr ፕሮግራሞች
የ Avr ፕሮግራሞች

1. ለ “የርቀት ዳሳሽ”

#አካትት #አካትት

#"remote.h" ን ያካትቱ

// ግሎባሎች የማይለዋወጥ ያልተፈረመ int ጊዜ; // ዋና ሰዓት ቆጣሪ ፣ ጊዜን በ 10us ውስጥ ያከማቻል ፣ // በ ISR (TIMER0_COMP) ተለዋዋጭ ባልተፈረመ ቻር BitNo ተዘምኗል ፤ // የሚቀጥለው ቢት የማይለዋወጥ ያልተፈረመ ቻር ByteNo Pos; // የአሁኑ ባይት Pos

ተለዋዋጭ ያልተፈረመ ቻር ኢርዳታ [4]; // አራቱ የውሂብ ባይት የኢር ፓኬት // 2-ባይት አድራሻ 2-ባይት ዳታ የማይለዋወጥ ቻር IrCmdQ [QMAX] ፤ // የመጨረሻ ትዕዛዝ ደርሷል (ቋት)

ተለዋዋጭ ያልተፈረመ ቻር PrevCmd; // ለመድገም ያገለግላል

// ለተወሰነ ጊዜ ቁልፍ ከተጫነ በኋላ ብቻ ለመድገም ለመጀመር የሚያገለግሉ ተለዋዋጮች

የማይለዋወጥ ያልተፈረመ ቻር ድገም; // 1 = አዎ 0 = ምንም የማይለዋወጥ ያልተፈረመ ቻር RCount; // ብዛት ይድገሙ

ተለዋዋጭ ቻር QFront = -1, QEnd = -1;

ተለዋዋጭ ያልተፈረመ ቻር ግዛት; // የመቀበያ ሁኔታ

ተለዋዋጭ ያልተፈረመ ቻር ጠርዝ; // የማቋረጥ ጠርዝ [መነሳት = 1 ወይም መውደቅ = 0]

ተለዋዋጭ ያልተፈረመ int ማቆሚያ;

/************************************************* *********************************************** / /*የተግባር ፈፃሚዎች* / / ************************************************ ************************************************/

ባዶነት RemoteInit () {

ቻር i; ለ (i = 0; i <4; i ++) IrData = 0;

ማቆሚያ = 0; ግዛት = IR_VALIDATE_LEAD_HIGH; ጠርዝ = 0; ተደጋጋሚ = 0;

// ሰዓት ቆጣሪ 1 // ------------ TCCR0 | = ((1 <

TIMSK | = (1 <

OCR0 = TIMER_COMP_VAL; // የንፅፅር እሴትን ያዘጋጁ

ያልተፈረመ ቻር GetRemoteCmd (ቻር መጠበቅ) {ያልተፈረመ ቻር cmd;

ከሆነ (ይጠብቁ) እያለ (QFront ==-1); ሌላ (QFront ==-1) ከተመለሰ (RC_NONE);

cmd = IrCmdQ [QFront];

ከሆነ (QFront == QEnd) QFront = QEnd = -1; ሌላ {ከሆነ (QFront == (QMAX-1)) QFront = 0; ሌላ QFront ++; }

cmd መመለስ;

}

2. ዋና ()

int main (ባዶ) {

uint8_t cmd = 0; DDRB = 0x08;

DDRD = 0x80;

DDRC = 0x0f; PORTC = 0x00;

ሳለ (1) // Infinite Loop to active IR-sensor {

cmd = GetRemoteCmd (1);

መቀየሪያ (cmd) {

ጉዳይ xx: {// BOT ወደ ፊት ይንቀሳቀሳል // Ch+ btn forwardmotor ();

ሰበር; // ሁለቱም ሞተሮች ወደ ፊት አቅጣጫ

}

………………………………………………….

………………………………………………….

………………………………………………….

ነባሪ: PORTC = 0x00; እረፍት; // ሁለቱም ግራ እና ቀኝ ሞተሮች ይቆማሉ}

}

}/*የዋናው መጨረሻ*/

……………………………………………………………………………………………………………………

// እሱ መሠረታዊ ሞዴል ነው ፣ ግን በ PWM ሞድ ውስጥ ልጠቀምበት እችላለሁ።

//……………………………………………..ይዝናኑ……………………………………………………//

የሚመከር: