በቤት ውስጥ ሮቦት እንዴት እንደሚሠራ (ከስዕሎች ጋር)

ዝርዝር ሁኔታ:

በቤት ውስጥ ሮቦት እንዴት እንደሚሠራ (ከስዕሎች ጋር)
በቤት ውስጥ ሮቦት እንዴት እንደሚሠራ (ከስዕሎች ጋር)

ቪዲዮ: በቤት ውስጥ ሮቦት እንዴት እንደሚሠራ (ከስዕሎች ጋር)

ቪዲዮ: በቤት ውስጥ ሮቦት እንዴት እንደሚሠራ (ከስዕሎች ጋር)
ቪዲዮ: ስትራቴጂካዊ ጠቀሜታ ያለው ድብደባ 2024, ህዳር
Anonim

የራስዎን ሮቦት እንዴት እንደሚሠሩ መማር ይፈልጋሉ? ብዙ የተለያዩ የሮቦቶች ዓይነቶች አሉ ፣ እርስዎ እራስዎ መገንባት የሚችሉት። ብዙ ሰዎች ሮቦት ከ A ነጥብ ወደ B. የመንቀሳቀስን ቀላል ሥራ ሲያከናውን ማየት ይፈልጋሉ ከአናሎግ ክፍሎች ሮቦትን ሙሉ በሙሉ መገንባት ወይም የማስጀመሪያ መሣሪያ መግዛት ይችላሉ። የራስዎን ሮቦት መሥራት የኤሌክትሮኒክስ እና የኮምፒተር ፕሮግራምን ለመማር ጥሩ መንገድ ነው።

ደረጃ

ክፍል 1 ከ 5 - ሮቦትን መሰብሰብ

1123333 1
1123333 1

ደረጃ 1. ክፍሎችዎን ይሰብስቡ።

መሠረታዊ ሮቦት ለመገንባት ፣ ጥቂት ቀላል ክፍሎች ያስፈልግዎታል። እነዚህን ወይም አብዛኞቹን ክፍሎች በአከባቢዎ የኤሌክትሮኒክስ የትርፍ ጊዜ ማሳለፊያ መደብር ፣ ወይም በአንዳንድ የመስመር ላይ ቸርቻሪዎች ላይ ማግኘት ይችላሉ። አንዳንድ ስብስቦች እነዚህን ሁሉ ክፍሎች ያካትታሉ። ይህ ሮቦት ምንም ብየዳ አያስፈልገውም-

  • አርዱዲኖ ኡኖ (ወይም ሌላ ማይክሮ መቆጣጠሪያ)
  • 2 servos 360 ዲግሪ
  • 2 ጎማዎች ተዛማጅ servo
  • 1 ነፃ ጎማ
  • ያልተሸጠ 1 የሙከራ ሰሌዳ (የዳቦ ሰሌዳ ወይም የፕሮጀክት ቦርድ) (በእያንዳንዱ ጎን ሁለት አዎንታዊ እና አሉታዊ ረድፎች ያሉት የሙከራ ሰሌዳ ይፈልጉ)
  • 1 የአቅራቢያ ዳሳሽ (በአራት ፒን አያያዥ ገመድ)
  • 1 የግፋ አዝራር መቀየሪያ
  • 1 ተከላካይ 10 ኪ
  • 1 ዩኤስቢ ሀ ለ ቢ ገመድ
  • 1 የተሰበሩ የራስጌዎች ስብስብ
  • 1 6 x AA የባትሪ መያዣ ከ 9 ቮ ዲሲ። የኃይል ሶኬት
  • 1 ጥቅል የ 22. ዝላይ ገመዶች ወይም ነጠላ ገመድ
  • ማገጃ ወደ ኋላ እና ወደ ፊት (ድርብ ቴፕ) ወይም ሙጫ ጠመንጃ
1123333 2
1123333 2

ደረጃ 2. ጠፍጣፋ ጀርባው ወደ ፊት እንዲታይ የባትሪ ክፍሉን ያዙሩ።

የባትሪውን ክፍል እንደ መሠረት በመጠቀም የሮቦቱን አካል ይገነባሉ።

1123333 3
1123333 3

ደረጃ 3. በባትሪው ወሽመጥ መጨረሻ ላይ ተመሳሳይ አቅጣጫ የሚገጥሙ ሁለት ሰርቮችን ያዘጋጁ።

ይህ ጫፍ ገመዱ ከባትሪው የሚወጣበት መጨረሻ ነው። ሰርቪሶቹ የታችኛውን መንካት አለባቸው ፣ እና የእያንዳንዱ ሰርቪው የማዞሪያ ዘዴ ከባትሪው ክፍል ጎኖች ፊት ለፊት መሆን አለበት። መንኮራኩሮቹ ቀጥ እንዲሉ እነዚህ servos በትክክል መደረጋቸው አስፈላጊ ነው። ለ servo ኬብሎች ከባትሪው ክፍል ጀርባ መውጣት አለባቸው።

1123333 4
1123333 4

ደረጃ 4. ሰርዶሶቹን በመያዣዎ ወይም በሙጫዎ ያጣብቅ።

ሰርቪው ከባትሪው ክፍል ጋር በጥብቅ መገናኘቱን ያረጋግጡ። የ servo ጀርባ ከባትሪው ክፍል ጀርባ ጋር የተስተካከለ መሆን አለበት።

አሁን አገልጋዮቹ በባትሪ ወንዙ ጀርባ ያለውን ግማሽ ቦታ መያዝ አለባቸው።

1123333 5
1123333 5

ደረጃ 5. የሙከራ ሰሌዳውን በባትሪው ክፍል ውስጥ ካለው ቀሪ ቦታ ጋር ያያይዙ።

ይህ የሙከራ ሰሌዳ በባትሪው ክፍል ፊት ላይ በትንሹ ይንጠለጠላል ፣ እና ወደ ሁለቱም ጎኖች ይዘልቃል። ከመቀጠልዎ በፊት የሙከራ ሰሌዳው ጥብቅ መሆኑን ያረጋግጡ። የ “ሀ” ረድፍ ወደ servo ቅርብ መሆን አለበት።

1123333 6
1123333 6

ደረጃ 6. የአርዱዲኖ ማይክሮ መቆጣጠሪያውን ከ servo አናት ጋር ያያይዙ።

ሰርቪሱን በትክክል ካያያዙት እርስ በእርስ የሚነኩ የሁለቱ ሰርቪስ ጠፍጣፋ ክፍል መኖር አለበት። የዩኤስቢ እና የአርዱዲኖ የኃይል ማያያዣዎች ወደታች (ከሙከራ ሰሌዳው ርቀው) እንዲታዩ የአርዱዲኖ ሰሌዳውን ወደዚህ ጠፍጣፋ ቦታ ያክብሩ። የአርዱዲኖ ፊት ከሙከራ ቦርድ ጋር ይደራረባል።

1123333 7
1123333 7

ደረጃ 7. በ servos ላይ መንኮራኩሮችን ይጫኑ።

በሚሽከረከረው የ servo ዘዴ ላይ መንኮራኩሮችን በጥብቅ ይጫኑ። መንኮራኩሮቹ ከ servo ጫፉ ቅርፅ ጋር በትክክል የሚዛመዱ ቀዳዳዎች እንዲኖራቸው የተነደፉ በመሆኑ ይህ ከፍተኛ ኃይል ሊፈልግ ይችላል።

1123333 8
1123333 8

ደረጃ 8. በፈተና ሰሌዳ ታችኛው ክፍል ላይ ነፃውን ተሽከርካሪ ይጫኑ።

ሮቦቱን ወደታች ካዞሩት በባትሪ ክፍሉ ላይ ተንጠልጥሎ ትንሽ የሙከራ ሰሌዳ ያያሉ። በዚህ ተንጠልጣይ ክፍል ላይ ነፃውን ጎማ ያያይዙ። አስፈላጊ ከሆነ ክዳን ይጠቀሙ። ነፃው መንኮራኩር ሮቦቱ በቀላሉ ወደየትኛውም አቅጣጫ እንዲዞር የሚያስችል የፊት ተሽከርካሪ ሆኖ ያገለግላል።

አንድ ኪት ከገዙ ፣ ነፃው ጎማ መንኮራኩሩ መሬቱን ለመንካት ነፃ መሆኑን ለማረጋገጥ ሊጠቀሙባቸው የሚችሏቸው አንዳንድ ቁርጥራጮች ሊኖሩት ይችላል።

ክፍል 2 ከ 5 - ሮቦትን ማገናኘት

1123333 9
1123333 9

ደረጃ 1. ሁለት ባለ 3-ፒን ራስጌዎችን ይቁረጡ።

ሰርቪውን ከሙከራ ሰሌዳ ጋር ለማገናኘት ይህንን ይጠቀማሉ። ራስጌዎቹን በኩል ፒኖችን ወደታች ይግፉት ፣ ስለዚህ በሁለቱም በኩል እኩል ርቀት ይወጣሉ።

1123333 10
1123333 10

ደረጃ 2. በፈተና ሰሌዳው ላይ ሁለቱን ራስጌዎች ወደ ፒን 1-3 እና 6-8 በተከታታይ ኢ ያስገቡ።

እነሱ በጥብቅ ወይም በጥብቅ መግባታቸውን ያረጋግጡ።

1123333 11
1123333 11

ደረጃ 3. የ servo ሽቦዎችን ከጭንቅላቱ ጋር ፣ በግራ በኩል ካለው ጥቁር ሽቦ (ፒን 1 እና 6) ጋር ያገናኙ።

ይህ servo ን ከሙከራ ሰሌዳ ጋር ያገናኘዋል። የግራ አገልጋዩ ከግራ ራስጌው ጋር መገናኘቱን ያረጋግጡ ፣ እና ትክክለኛው servo ከትክክለኛው ራስጌ ጋር መገናኘቱን ያረጋግጡ።

1123333 12
1123333 12

ደረጃ 4. ቀዩን ዝላይ ሽቦ ከፒን C2 እና C7 ወደ ቀይ የባቡር ሐዲድ (አዎንታዊ) ያገናኙ።

በፈተና ሰሌዳው ጀርባ ላይ (ከቀሪው የሮቦት አካል ቅርብ) ቀዩን ባቡር መጠቀምዎን ያረጋግጡ።

1123333 13
1123333 13

ደረጃ 5. ጥቁር ዝላይ ሽቦን ከፒን B1 እና B6 ወደ ሰማያዊ ሀዲድ ፒን (መሬት) ያገናኙ።

በፈተና ሰሌዳ ጀርባ ላይ ያለውን ሰማያዊ ባቡር መጠቀምዎን ያረጋግጡ። ገመዱን ከቀይ ባቡር ፒን ጋር አያይዙ።

1123333 14
1123333 14

ደረጃ 6. አርዱinoኖ ላይ ከፒን 12 እና 13 ላይ የነጭ ዝላይ ሽቦዎችን ወደ A3 እና A8 ያገናኙ።

ይህ አርዱዲኖ አገልጋዩን እንዲቆጣጠር እና መንኮራኩሩን እንዲያዞር ያስችለዋል።

1123333 15
1123333 15

ደረጃ 7. አነፍናፊውን ከሙከራ ቦርድ ፊት ለፊት ያያይዙት።

አነፍናፊው በፈተናው ሰሌዳ ላይ ባለው ውጫዊ የኃይል ባቡር ላይ አልተጫነም ፣ ግን በመጀመሪያዎቹ ሁለት ረድፎች ፒን ፊደላት (ጄ)። በእያንዳንዱ ጎን በእኩል ባዶ ካስማዎች ብዛት በመሃል ላይ በትክክል ማስቀመጥዎን ያረጋግጡ።

1123333 16
1123333 16

ደረጃ 8. ጥቁር ዝላይ ሽቦውን ከፒን I14 ወደ አነፍናፊው በግራ በኩል ወዳለው የመጀመሪያው ሰማያዊ የባቡር ሐዲድ ፒን ያገናኙ።

ይህ ዳሳሹን ያጠፋል።

1123333 17
1123333 17

ደረጃ 9. ቀዩን ዝላይ ሽቦ ከፒን I17 ወደ ዳሳሹ በቀኝ በኩል ወዳለው የመጀመሪያው ቀይ የባቡር ሐዲድ ፒን ያገናኙ።

ይህ ለዳሳሽ ኃይል ይሰጣል።

1123333 18
1123333 18

ደረጃ 10. የነጭ ዝላይ ሽቦዎችን ከፒን I15 ወደ ፒን 9 በአርዱዲኖ ፣ እና ከ I16 እስከ ፒን 8 ያገናኙ።

ይህ መረጃ ከአነፍናፊው ወደ ማይክሮ መቆጣጠሪያ ይሰጣል።

ክፍል 3 ከ 5 - የኃይል ገመዱን መትከል

1123333 19
1123333 19

ደረጃ 1. በውስጡ ያለውን የባትሪ ክፍል ማየት እንዲችሉ ሮቦቱን ያዙሩት።

ገመዱ ከታች በግራ በኩል እንዲወጣ የባትሪውን ክፍል ያዘጋጁ።

1123333 20
1123333 20

ደረጃ 2. ቀይ ሽቦውን ከሁለተኛው ፀደይ ጋር ከግራ ወደ ታች ያገናኙ።

የባትሪው ክፍል በትክክል የተስተካከለ ወይም ትክክለኛውን አቅጣጫ የሚመለከት መሆኑን ያረጋግጡ።

1123333 21
1123333 21

ደረጃ 3. ከታች በስተቀኝ ካለው የመጨረሻው ጸደይ ጋር ጥቁር ሽቦውን ያገናኙ።

እነዚህ ሁለት ሽቦዎች ትክክለኛውን ቮልቴጅ ለአርዱዲኖ ለማቅረብ ይረዳሉ።

1123333 22
1123333 22

ደረጃ 4. ቀይ እና ጥቁር ሽቦዎችን ከሙከራ ሰሌዳ ጀርባ በስተቀኝ በኩል ከሚገኙት ቀይ እና ሰማያዊ ካስማዎች ጋር ያገናኙ።

ጥቁር ሽቦው በፒን 30 ላይ ወደ ሰማያዊው የባቡር ሐዲድ ፒን መሄድ አለበት።

1123333 23
1123333 23

ደረጃ 5. ጥቁር ሽቦውን ከ GND ፒን በአርዱዲኖ ላይ ወደ ሰማያዊ ሀዲዱ ጀርባ ያገናኙ።

በሰማያዊ ባቡር ላይ 28 ን ለመሰካት ሽቦውን ያገናኙ።

1123333 24
1123333 24

ደረጃ 6. ለሁለቱም ሀዲዶች በፒን 29 ላይ ከሰማያዊው የባቡር ሐዲድ በስተጀርባ ያለውን ጥቁር ሽቦ ከሰማያዊው ሐዲድ ፊት ለፊት ያገናኙ።

አርዱዲኖን ሊጎዱ ስለሚችሉ ቀዩን ባቡር አያገናኙ።

1123333 25
1123333 25

ደረጃ 7. ቀዩን ሽቦ ከቀይ ባቡሩ ፊት ለፊት በፒን 30 ላይ በአርዱዲኖ ላይ ወደ 5 ቪ ፒን ያገናኙ።

ይህ ለአርዱዲኖ ኃይል ይሰጣል።

1123333 26
1123333 26

ደረጃ 8. በ 24-26 ፒኖች መካከል ባለው ክፍተት ውስጥ የግፋ አዝራር መቀየሪያውን ያስገቡ።

ይህ ማብሪያ / ማጥፊያ ኃይልን ሳያጠፉ ሮቦቱን እንዲያጠፉ ያስችልዎታል።

1123333 27
1123333 27

ደረጃ 9. ቀዩን ሽቦ ከኤች 24 ወደ ቀጣዩ ባቡር በሚቀጥለው አነፍናፊ በስተቀኝ በኩል ወደ ቀይ ባቡር ያገናኙ።

ይህ ለአዝራሩ ኃይል ይሰጣል።

1123333 28
1123333 28

ደረጃ 10. H26 ን ከሰማያዊው ባቡር ጋር ለማገናኘት ተከላካይ ይጠቀሙ።

በቀደሙት ደረጃዎች ውስጥ አሁን ካገናኙት ጥቁር ሽቦ በቀጥታ ከፒን ጋር ያገናኙት።

1123333 29
1123333 29

ደረጃ 11. ነጩን ሽቦ ከ G26 ወደ አርዱዲኖ ላይ ወደ ፒን 2 ያገናኙ።

ይህ አርዱዲኖ የግፊት ቁልፎችን እንዲለይ ያስችለዋል።

ክፍል 4 ከ 5: የአርዱዲኖ ሶፍትዌርን መጫን

1123333 30
1123333 30

ደረጃ 1. Arduino IDE ን ያውርዱ እና ያውጡ።

ይህ አርዱዲኖ የተገነባበት እና ከዚያ ወደ አርዱዲኖ ማይክሮ መቆጣጠሪያዎ የሚሰቅሏቸው መመሪያዎችን እንዲያዘጋጁ ያስችልዎታል። ከ arduino.cc/en/main/software በነፃ ማውረድ ይችላሉ። በፋይሉ ላይ ሁለቴ ጠቅ በማድረግ እና በውስጡ የያዘውን አቃፊ በቀላሉ ወደሚገኝበት ቦታ በማዛወር የወረደውን ፋይል ይንቀሉ። በእውነቱ ፕሮግራሙን አይጭኑም ፣ ይልቁንስ በ arduino.exe ላይ ሁለቴ ጠቅ በማድረግ ከተወጣው አቃፊ ያሂዱታል።

1123333 31
1123333 31

ደረጃ 2. የባትሪውን ክፍል ከአርዲኖ ጋር ያገናኙ።

እሱን ለማብራት በአርዱዲኖ ላይ ባለው አያያዥ ውስጥ የባትሪውን የኋላ ሶኬት ያስገቡ።

1123333 32
1123333 32

ደረጃ 3. አርዱዲኖን በዩኤስቢ በኩል በኮምፒተርዎ ውስጥ ያስገቡ።

ዕድሎች ፣ ዊንዶውስ መሣሪያውን አያውቀውም።

1123333 33
1123333 33

ደረጃ 4. ይጫኑ።

Win+R እና ይተይቡ devmgmt.msc.

ይህ ትእዛዝ የመሣሪያ አስተዳዳሪውን ይከፍታል።

1123333 34
1123333 34

ደረጃ 5. በሌሎች መሣሪያዎች ስር ባልታወቀ መሣሪያ ላይ በቀኝ ጠቅ ያድርጉ እና የአሽከርካሪ ሶፍትዌርን አዘምን የሚለውን ይምረጡ።

ይህንን አማራጭ ካላዩ ባሕሪያትን ጠቅ ያድርጉ ፣ የአሽከርካሪ ትርን ይምረጡ እና ከዚያ ነጂን አዘምን የሚለውን ጠቅ ያድርጉ።

1123333 35
1123333 35

ደረጃ 6. ለአሽከርካሪ ሶፍትዌሮች ኮምፒተርዬን አስስ የሚለውን ይምረጡ።

ይህ ከ Arduino IDE ጋር የመጡትን አብሮገነብ ነጂዎችን እንዲመርጡ ያስችልዎታል።

1123333 36
1123333 36

ደረጃ 7. አስስ የሚለውን ጠቅ ያድርጉ ፣ ከዚያ ቀደም ብለው ያወጡትን አቃፊ ይክፈቱ።

በውስጡ የአሽከርካሪዎች አቃፊን ያገኛሉ።

1123333 37
1123333 37

ደረጃ 8. የአሽከርካሪዎች አቃፊን ይምረጡ እና እሺን ጠቅ ያድርጉ።

ስለማይታወቁ ሶፍትዌሮች ማስጠንቀቂያ ከሰጠዎት መቀጠል እንደሚፈልጉ ያረጋግጡ።

ክፍል 5 ከ 5 የፕሮግራም ሮቦቶች

1123333 38
1123333 38

ደረጃ 1. በ IDE አቃፊ ውስጥ በ arduino.exe ፋይል ላይ ሁለቴ ጠቅ በማድረግ Arduino IDE ን ይክፈቱ።

በባዶ ፕሮጀክት ሰላምታ ይሰጥዎታል።

1123333 39
1123333 39

ደረጃ 2. ሮቦትዎን የላቀ ለማድረግ የሚከተለውን ኮድ ይለጥፉ ወይም ይለጥፉ።

ከዚህ በታች ያለው ኮድ አርዱዲኖዎን እንዲቀጥል ያደርገዋል።

#ያካትቱ // ይህ የ “Servo” ቤተ -መጽሐፍትን ወደ ፕሮግራሙ ያክላል / / የሚከተለው ትእዛዝ ሁለት servo ነገሮችን ይፈጥራል Servo leftMotor; Servo rightMotor; ባዶነት ማዋቀር () {leftMotor.attach (12); // በስህተት የፒን ቁጥሮችን ለ servo ከቀየሩ ፣ እዚህ ያሉትን ቁጥሮች በትክክል መለዋወጥ ይችላሉ motot.attach (13); } ባዶነት loop () {leftMotor.write (180); // በ 360 ዲግሪ ሽክርክሪት (ቀጣይ ሽክርክሪት) ፣ ቁጥር 180 አገልጋዩን በሙሉ ፍጥነት “ወደ ፊት” እንዲሄድ ያስተምራል። rightMotor.write (0); // ሁለቱም እሴቶች 180 ከሆኑ ሮቦው ሰርቪስ ስለተለወጠ ሮቦቱ በክበብ ውስጥ ይሽከረከራል። “0” ሮቦቱን በሙሉ ፍጥነት ወደ ኋላ እንዲንቀሳቀስ ይነግረዋል። }

1123333 40
1123333 40

ደረጃ 3. ፕሮግራሙን ይፍጠሩ እና ይስቀሉ።

ወደ ተገናኘው አርዱinoኖ ፕሮግራም ለመፍጠር እና ለመስቀል በላይኛው ግራ ጥግ ላይ የቀኝ ቀስት ቁልፍን ጠቅ ያድርጉ።

ፕሮግራሙ ከተሰቀለ በኋላ ሮቦቱ ወደ ፊት መሄዱን ስለሚቀጥል ሮቦቱን ከምድር ላይ ማንሳት ይፈልጉ ይሆናል።

1123333 41
1123333 41

ደረጃ 4. የማቆሚያ መቀየሪያ ተግባር (የመግደል መቀየሪያ) ያክሉ።

በ “ጻፍ ()” ተግባር ላይ የማቆሚያ መቀየሪያ ተግባርን ለማከል የሚከተለውን ኮድ ወደ ኮድዎ “ባዶ ባዶ loop ()” ክፍል ያክሉ።

(digitalRead (2) == HIGH) // አዝራሩ በፒን 2 አርዱinoኖ ላይ ሲጫን (1) {leftMotor.write (90) ሲጫን ይህ ትእዛዝ ይሠራል። // "90" ለ servo ገለልተኛ አቋም ነው ፣ እሱም አገልጋዩ ቀኝ መሞተርን መጻፍ እንዲያቆም የሚነግረው (90) ፤ }}

1123333 42
1123333 42

ደረጃ 5. ኮድዎን ይስቀሉ እና ያረጋግጡ።

የማቆሚያ መቀየሪያ ኮድ አስቀድሞ በተጨመረ ፣ ኮዱን መስቀል እና ሮቦቱን መሞከር ይችላሉ። ሮቦቱ እንዲቆም የሚያደርገውን የማቆሚያ መቀየሪያ ቁልፍ እስኪጫኑ ድረስ ሮቦቱ ወደፊት መቀጠል አለበት። ሙሉ ኮዱ እንደዚህ ይመስላል

#ያካትቱ // የሚከተለው ትዕዛዝ ሁለት Servo leftMotor servo ነገሮችን ይፈጥራል። Servo rightMotor; ባዶነት ማዋቀር () {leftMotor.attach (12); rightMotor.attach (13); } ባዶነት loop () {ከሆነ (digitalRead (2) == ከፍተኛ) {ሳለ (1) {leftMotor.write (90) ፤ rightMotor.write (90); }} leftMotor.write (180) ፤ rightMotor.write (0); }

ለምሳሌ

ሮቦቱ እንቅፋት ባጋጠመው ቁጥር የሚከተለው ኮድ በሮቦቱ ላይ የተጫኑ ዳሳሾችን ይጠቀማል። እያንዳንዱን ክፍል እንዴት እንደሚጠቀሙ ዝርዝሮችን ለማግኘት በኮዱ ውስጥ ያሉትን አስተያየቶች ይመልከቱ። ከዚህ በታች ያለው ኮድ ሙሉው ፕሮግራም ነው።

#Servo leftMotor ን ያካትቱ ፤ Servo rightMotor; const int serialPeriod = 250; // ይህ ኮድ የኮንሶል ውፅዓት የጊዜ መዘግየት በየ 1/4 ሰከንድ (250 ሚሴ) ያልተፈረመ ረጅም ጊዜSerialDelay = 0 እንዲሆን ያደርገዋል። const int loopPeriod = 20; // ይህ ኮድ የአነፍናፊ ንባብ ድግግሞሽን ወደ 20 ሚሴ ያዘጋጃል ፣ ይህም 50 Hz ያልተፈረመ ረጅም ጊዜ ነው LoopDelay = 0; // ይህ ኮድ የ TRIG እና ECHO ተግባሮችን በአርዱዲኖ ላይ ላሉት ፒኖች ይመድባል። ቁጥሮቹን በተለየ መንገድ ካገናኙዋቸው እዚህ ያስተካክሉ const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2 ርቀት; int ultrasonic2Duration; // ይህ ኮድ ሁለት ሊሆኑ የሚችሉ የሮቦት ግዛቶችን ይገልፃል -ወደ ፊት ይቀጥሉ ወይም ወደ ግራ ይታጠፉ #ተለይተው DRIVE_FORWARD 0 #ይግለጹ TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = ወደ ፊት ቀጥል (DEFAULT) ፣ 1 = ወደ ግራ ባዶ ባዶ ማዋቀር () {Serial.begin (9600)); // ይህ አነፍናፊ የፒን ውቅር ፒን ሞዶን (ultrasonic2TrigPin ፣ OUTPUT) ይወስናል። pinMode (ultrasonic2EchoPin ፣ ማስገቢያ); // ይህ ሞተሩን ለ Arduino ፒኖች leftMotor.attach (12) ይመድባል። rightMotor.attach (13); } ባዶነት loop () {(digitalRead (2) == HIGH) // ይህ ኮድ '' ማቆሚያ '' ሲያገኝ (1) {leftMotor.write (90) ፤ rightMotor.write (90); }} ማረም () ማረም (); // ይህ ኮድ (ሚሊስ () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // ይህ ኮድ አነፍናፊው ስለተለካው የርቀት ሁኔታ መረጃን እንዲያነብ እና እንዲያከማች ያዝዛል (ማሽን); timeLoopDelay = ሚሊስ (); }} ባዶ ቦታ stateMachine () {ከሆነ (state == DRIVE_FORWARD) // ምንም እንቅፋት ካልተገኘ {{(ultrasonic2Distance> 6 || ultrasonic2Distance <0) // ከሮቦቱ ፊት ምንም ከሌለ። ምንም መሰናክሎች ከሌሉ ለአልትራሳውንድ ለአልትራሳውንድ ርቀት አሉታዊ ይሆናል {// drive ወደፊት rightMotor.write (180) ፤ leftMotor.write (0); } ሌላ // ከፊታችን አንድ ነገር ካለ {state = TURN_LEFT; }} ሌላ ከሆነ (ሁኔታ == TURN_LEFT) // እንቅፋት ከተገኘ ወደ ግራ ይታረሙ {ያልተፈረመ ረጅም ጊዜToTurnLeft = 500; // 90 ዲግሪ ለመዞር 0.5 ሰከንዶች ያህል ይወስዳል። በምሳሌው ባልተፈረመ ረዥም turnStartTime = millis () ውስጥ መንኮራኩሮችዎ በመጠን መጠኑ ቢለያዩ ይህንን እሴት ማስተካከል ሊያስፈልግዎት ይችላል። // ((ሚሊስ ()-turnStartTime) <timeToTurnLeft) // ይህን ዑደት ያዙት/ ጊዜ (ToTurnLeft) (500) እስኪያልፍ ድረስ ይህንን ዑደት ያኑሩ {// ወደ ግራ መታጠፍ ፣ ሁለቱም “180” ሲሆኑ ፣ ያስታውሱ ሮቦቱ ይለወጣል። rightMotor.write (180); leftMotor.write (180); } ግዛት = DRIVE_FORWARD; }} ባዶ ባዶ አንባቢ UltrasonicSensors () {// ይህ ለአልትራሳውንድ ነው 2. የተለየ ዳሳሽ የሚጠቀሙ ከሆነ ይህንን ትእዛዝ መለወጥ ሊያስፈልግዎት ይችላል። ዲጂታል ፃፍ (ultrasonic2TrigPin ፣ HIGH); መዘግየት ማይክሮ ሰከንድ (10); // ቢያንስ ለ 10 ማይክሮ ሰከንዶች ዲጂታል ፃፍ (TRIG ፒን) ከፍተኛ ይጎትቱ (ultrasonic2TrigPin ፣ LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin ፣ HIGH); ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // የሚከተለው በኮንሶል ውስጥ ስህተቶችን ለማረም ነው። ባዶ አርም () Serial.print (ultrasonic2Distance); Serial.print ("ሴሜ"); Serial.println (); timeSerialDelay = ሚሊስ (); }}

የሚመከር: