ዝርዝር ሁኔታ:

ቅቤው ሮቦት - አርዱinoኖ ሮቦት ከነባር ቀውስ ጋር 6 ደረጃዎች (ከስዕሎች ጋር)
ቅቤው ሮቦት - አርዱinoኖ ሮቦት ከነባር ቀውስ ጋር 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ቅቤው ሮቦት - አርዱinoኖ ሮቦት ከነባር ቀውስ ጋር 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ቅቤው ሮቦት - አርዱinoኖ ሮቦት ከነባር ቀውስ ጋር 6 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: 💯 Boş Bardak Ve KIRMIZI MERCİMEK Var mı? 😱 Dünyanın En Lezzetli Akşam Pastası. 🤤 2024, ሀምሌ
Anonim
Image
Image

ይህ ፕሮጀክት በአኒሜሽን ተከታታይ “ሪክ እና ሞርቲ” ላይ የተመሠረተ ነው። በአንዱ የትዕይንት ክፍል ውስጥ ሪክ ብቸኛ ዓላማው ቅቤን ለማምጣት ሮቦትን ይሠራል። እንደ ብሩፋኤል (የብራሰልስ ኢንጂነሪንግ ፋኩልቲ) ተማሪዎች እንደመሆናችን መጠን በተጠቆመው ርዕስ ላይ የተመሠረተ ሮቦት ለመገንባት ለሜካቶኒክስ ፕሮጀክት ተልእኮ አለን። የዚህ ፕሮጀክት ምደባ ቅቤን ብቻ የሚያገለግል ሮቦት መሥራት ነው። የህልውና ቀውስ ሊኖረው ይችላል። በእርግጥ በሪክ እና ሞርቲ ክፍል ውስጥ ያለው ሮቦት በጣም የተወሳሰበ ሮቦት ነው እና አንዳንድ ማቅለሎች መደረግ አለባቸው-

ብቸኛ ዓላማው ቅቤን ማምጣት ስለሆነ ፣ የበለጠ ቀጥተኛ አማራጮች አሉ። ሮቦቱ እንዲታይ እና ቅቤውን እንዲይዝ ከማድረግ ይልቅ ፣ ወደ ትክክለኛው ሰው ከማምጣቱ በፊት ፣ ሮቦቱ ሁል ጊዜ ቅቤን ተሸክሞ ሊሆን ይችላል። ዋናው ሀሳብ በዚህ መንገድ ቅቤን ወደሚያስፈልገው ቦታ የሚያጓጓዝ ጋሪ መሥራት ነው።

ሮቦቱ ቅቤውን ከማጓጓዝ ባሻገር ቅቤውን የት ማምጣት እንዳለበት ማወቅ አለበት። በትዕይንት ክፍል ውስጥ ሪክ ሮቦቱን ለመደወል እና ለማዘዝ ድምፁን ይጠቀማል። ይህ ውድ የድምፅ ማወቂያ ስርዓት ይፈልጋል እና ውስብስብ ይሆናል። በምትኩ ፣ ጠረጴዛው ላይ ያሉት ሁሉ አንድ አዝራር ያገኛሉ - ይህ ቁልፍ አንዴ ከተነቃ ሮቦቱ ይህንን ቁልፍ አግኝቶ ወደ እሱ መሄድ ይችላል።

እንደገና ለመገመት ፣ ሮቦቱ የሚከተሉትን መስፈርቶች ማሟላት አለበት።

  • ደህንነቱ የተጠበቀ መሆን አለበት -መሰናክሎችን ማስወገድ እና እራሱን ከጠረጴዛው መውደቅ መከላከል አለበት።
  • ሮቦቱ ትንሽ መሆን አለበት -በጠረጴዛው ላይ ያለው ቦታ ውስን ነው እና ማንም ቅቤን የሚያገለግል ሮቦት አይፈልግም ነገር ግን የጠረጴዛው ራሱ ግማሽ ነው።
  • የሮቦቱ ሥራ በጠረጴዛው መጠን ወይም ቅርፅ ላይ የተመሠረተ ሊሆን አይችልም ፣ በዚህ መንገድ በተለያዩ ጠረጴዛዎች ላይ ሊያገለግል ይችላል።
  • ጠረጴዛው ላይ ለትክክለኛው ሰው ቅቤ ማምጣት ያስፈልገዋል.

ደረጃ 1 ዋና ጽንሰ -ሀሳብ

ቀደም ሲል የተጠቀሱት መስፈርቶች የተለያዩ ቴክኒኮችን በመጠቀም ሊሟሉ ይችላሉ። ስለተሠራው ዋና ዲዛይን ውሳኔዎች በዚህ ደረጃ ተብራርተዋል። እነዚህ ሀሳቦች እንዴት እንደሚተገበሩ ዝርዝሮች በሚከተሉት ደረጃዎች ውስጥ ሊገኙ ይችላሉ።

ሮቦቱ ግዴታውን ለመወጣት መድረሻው እስኪደርስ ድረስ መንቀሳቀስ አለበት። የሮቦቱን አተገባበር ከግምት ውስጥ በማስገባት “መራመድ” ከሚለው እንቅስቃሴ ይልቅ መንኮራኩሮችን መጠቀሙ እንዲንቀሳቀስ ማድረጉ ቀጥተኛ ነው። ጠረጴዛ ጠፍጣፋ መሬት ስለሆነ እና ሮቦቱ በጣም ከፍተኛ ፍጥነት ስለማይደርስ ፣ ሁለት የሚንቀሳቀሱ መንኮራኩሮች እና አንድ የካስተር ኳስ መፍትሄን ለመቆጣጠር በጣም ቀላሉ እና በጣም ቀላሉ ነው። የተንቀሳቀሱ መንኮራኩሮች በሁለት ሞተሮች ኃይል ያስፈልጋቸዋል። ሞተሮቹ ትልቅ ሽክርክሪት ሊኖራቸው ይገባል ነገር ግን ከፍተኛ ፍጥነት መድረስ አያስፈልጋቸውም ፣ ለዚህም ነው ቀጣይ ሰርቭ ሞተሮች ጥቅም ላይ የሚውሉት። ሌላው የ servo ሞተሮች ጠቀሜታ ከአርዱዲኖ ጋር የአጠቃቀም ቀላልነት ነው።

መሰናክሎችን መለየት የመለኪያውን አቅጣጫ ለመምረጥ ከ servo ሞተር ጋር ተያይዞ ርቀቱን የሚለካ የአልትራሳውንድ ዳሳሽ በመጠቀም ሊከናወን ይችላል። የ LDR ዳሳሾችን በመጠቀም ጠርዞቹ ሊታወቁ ይችላሉ። የ LDR ዳሳሾችን በመጠቀም ሁለቱንም የሚመራ መብራት እና የ LDR ዳሳሽ የያዘ መሣሪያ መገንባት ይጠይቃል። የ LDR ዳሳሽ የሚያንፀባርቀውን ብርሃን ይለካል እና እንደ አንድ ዓይነት የርቀት ዳሳሽ ሊታይ ይችላል። ተመሳሳይ መርህ ከኢንፍራሬድ ብርሃን ጋር አለ። ዲጂታል ውፅዓት ያላቸው አንዳንድ የኢንፍራሬድ ቅርበት ዳሳሾች አሉ - ይዝጉ ወይም አይዝጉ። ጠርዞቹን ለመለየት ሮቦቱ በትክክል የሚፈልገው ይህ ነው። እንደ ሁለት የነፍሳት አንቴናዎች እና አንድ የተንቀሳቀሱ የአልትራሳውንድ አነፍናፊ ያሉ 2 የጠርዝ ዳሳሾችን በማጣመር ሮቦቱ መሰናክሎችን እና ጠርዞችን ማስወገድ መቻል አለበት።

የአዝራር ማወቂያ እንዲሁ የ IR ዳሳሾችን እና ሌዶችን በመጠቀም ሊከናወን ይችላል። የ IR ጥቅሙ የማይታይ መሆኑ ነው ፣ ይህም በጠረጴዛው ላይ ላሉት ሰዎች አጠቃቀሙን እንዳይረብሽ ያደርገዋል። ሌዘር እንዲሁ ጥቅም ላይ ሊውል ይችላል ፣ ግን አንድ ሰው ሌዘርን ወደ ሌላ ሰው ዓይን ሲጠቁም ብርሃኑ የሚታይ እና አደገኛም ይሆናል። እንዲሁም ፣ ተጠቃሚው በሮቦት ላይ ያሉትን ዳሳሾች በቀጭን የጨረር ጨረር ብቻ ማነጣጠር አለበት ፣ ይህም በጣም የሚያበሳጭ ይሆናል። ሮቦቱን በሁለት የ IR ዳሳሾች በማስታጠቅ እና አዝራሩን በኤአርአይ መሪ በመገንባት ፣ ሮቦቱ የ IR- መብራቱን ጥንካሬ በመከተል የትኛውን አቅጣጫ መሄድ እንዳለበት ያውቃል። አንድ አዝራር ከሌለ አንድ ሮድ ከአንዱ አዝራሮች ምልክቱን እስኪይዝ ድረስ ሮቦቱ መዞር ይችላል።

ቅቤው በሮቦቱ አናት ላይ ባለው ክፍል ውስጥ ይቀመጣል። ይህ ክፍል ሳጥኑን ለመክፈት ሣጥን እና የሚንቀሳቀስ ክዳን ሊያካትት ይችላል። ክዳኑን ለመክፈት እና ሁለት ሞተሮችን የምንፈልጋቸውን መሰናክሎች ለመፈተሽ እና ለመለየት የአልትራሳውንድ ዳሳሹን ለማንቀሳቀስ እና ለዚሁ ዓላማ ፣ ሞተሮች በተወሰነ ቦታ ላይ ሄደው ያንን አቋም መያዝ ስለሚያስፈልጋቸው ቀጣይ ያልሆኑ የ servo ሞተሮች የበለጠ ተስተካክለዋል።

የፕሮጀክቱ ተጨማሪ ገጽታ በሮቦት ድምጽ ከውጭው አከባቢ ጋር መስተጋብር ነበር። ጩኸት ለዚህ ዓላማ ቀላል እና ተስማሚ ነው ፣ ግን ፈውስ ያለው ስዕል ከፍተኛ ስለሆነ በማንኛውም ጊዜ መጠቀም አይቻልም።

የሜካኒካዊው ክፍል በጣም ቀጥተኛ ስለሆነ የፕሮጀክቱ ዋና ችግሮች በኮዱ ላይ ይተማመናሉ። እኛ ልንፈታቸው የሚገቡን ዋና ችግሮች በእንቅፋት ምክንያት የ IR ምልክቱን ማጣት እና ወደ አዝራሩ ሲደርስ ያቁሙ!

ደረጃ 2 - ቁሳቁሶች

ሜካኒካል ክፍሎች

  • 3 ዲ አታሚ እና ሌዘር መቁረጫ ማሽን

    • PLA ለ 3 ዲ ህትመት ስራ ላይ ይውላል ፣ ግን እርስዎም ABS ን መጠቀም ይችላሉ
    • በኋላ ላይ በቀላሉ ማሻሻያዎችን ለማድረግ እድሉን ስለሚሰጥ የ 3 ሚሜ የበርች ኮምፖንች ሰሌዳ አንድ ሳህን ለጨረር መቁረጥ ጥቅም ላይ ይውላል ፣ ፕሌክስግላስ እንዲሁ ጥቅም ላይ ሊውል ይችላል ግን እሱን ሳያጠፉ ሌዘር ከተቆረጠ በኋላ እሱን መለወጥ የበለጠ ከባድ ነው።
  • ብሎኖች ፣ ለውዝ ፣ ማጠቢያዎች

    አብዛኛዎቹ ክፍሎች የ M3 ቁልፍ መሪ መቀርቀሪያዎችን ፣ ማጠቢያዎችን እና ለውዝ በመጠቀም አንድ ላይ ተይዘዋል ፣ ግን አንዳንዶቹ የ M2 ወይም M4 ብሎኖች ስብስብ ይፈልጋሉ። የቦኖቹ ርዝመት ከ8-12 ሚሜ ክልል ውስጥ ነው።

  • PCB ስፔሰርስ ፣ 25 ሚሜ እና 15 ሚሜ
  • 2 Servo ሞተሮች ከተስማሚ ጎማዎች ጋር
  • አንዳንድ ውፍረት ያለው የብረት ሽቦ ከ1-2 ሚሜ ዲያሜትር

የኤሌክትሮኒክ ክፍሎች

  • ማይክሮ መቆጣጠሪያ

    1 arduino UNO ቦርድ

  • ሰርቮ ሞተሮች

    • 2 ትላልቅ የ servo ሞተሮች -Feetech ቀጣይ 6 ኪ.ግ 360 ዲግሪዎች
    • 2 ማይክሮ ሰርቮ ሞተሮች Feetech FS90
  • ዳሳሾች

    • 1 የአልትራሳውንድ ዳሳሽ
    • 2 የ IR ቅርበት ዳሳሾች
    • 2 IR photodiodes
  • ባትሪዎች

    • 1 9V የባትሪ መያዣ + ባትሪ
    • 1 4AA የባትሪ መያዣ + ባትሪዎች
    • 1 9V የባትሪ ሳጥን + ባትሪ
  • ተጨማሪ ክፍሎች

    • አንዳንድ ዝላይ ሽቦዎች ፣ ሽቦዎች እና የሽያጭ ሳህኖች
    • አንዳንድ ተቃዋሚዎች
    • 1 IR LED
    • 3 መቀያየሪያዎች
    • 1 ጫጫታ
    • 1 አዝራር
    • 1 አርዱinoኖ እስከ 9 ቪ የባትሪ አያያዥ

ደረጃ 3 ኤሌክትሮኒክስን መሞከር

ኤሌክትሮኒክስን መሞከር
ኤሌክትሮኒክስን መሞከር
ኤሌክትሮኒክስን መሞከር
ኤሌክትሮኒክስን መሞከር

የአዝራሩ መፈጠር;

አዝራሩ በቀላሉ በ 9 ቮ ባትሪ የተጎላበተው በተለዋዋጭ ፣ በኢንፍራሬድ ኤልኢዲ እና በተከታታይ 220 Ohm resistor ነው። ይህ ለታመቀ እና ለንጹህ ዲዛይን በ 9 ቪ የባትሪ ጥቅል ውስጥ ይቀመጣል።

የኢንፍራሬድ መቀበያ ሞጁሎች መፈጠር-

እነዚህ ሞጁሎች የሚሠሩት ቀዳዳ በሚሸጡ ቦርዶች በኩል ነው ፣ ይህም በኋላ ከሮቦቶች ጋር በዊንች ይያያዛል። የእነዚህ ሞጁሎች ወረዳዎች በአጠቃላይ መርሃግብሮች ውስጥ ተገልፀዋል። መርሆው የኢንፍራሬድ ብርሃንን ጥንካሬ መለካት ነው። ልኬቶችን ለማሻሻል ፣ ተጣባቂዎች (በተቆራረጡ ቱቦዎች የተሠሩ) በአንድ የፍላጎት አቅጣጫ ላይ ለማተኮር ሊያገለግሉ ይችላሉ።

የኤሌክትሮኒክ መሣሪያዎችን በመጠቀም የተለያዩ የፕሮጀክቱ መስፈርቶች መሟላት አለባቸው። አንጻራዊ ዝቅተኛ ውስብስብነትን ለመጠበቅ የመሣሪያዎች ብዛት ውስን መሆን አለበት። ይህ ደረጃ ሁሉንም ክፍሎች ለየብቻ ለመፈተሽ የሽቦ አሠራሮችን እና እያንዳንዱን ኮድ ይይዛል-

  • የማያቋርጥ የ Servo ሞተሮች;
  • የአልትራሳውንድ ዳሳሽ;
  • የማያቋርጥ የ Servo ሞተሮች;
  • ጩኸት;
  • የ IR አዝራር አቅጣጫ ማወቅ;
  • በአቅራቢያ ዳሳሾች ጠርዝ መለየት;

እነዚህ ኮዶች መጀመሪያ ላይ ያሉትን ክፍሎች ለመረዳት ይረዳሉ ፣ ግን በኋላ ደረጃዎች ላይ ለማረም በጣም ጠቃሚ ነው። አንድ የተወሰነ ችግር ከተከሰተ ፣ ሁሉንም ክፍሎች በተናጠል በመሞከር ሳንካው በቀላሉ ሊታወቅ ይችላል።

ደረጃ 4: 3 ዲ የታተመ እና የጨረር ቁራጭ ቁርጥራጮች ንድፍ

3 ዲ የታተመ እና የጨረር ቁራጭ ቁርጥራጮች ንድፍ
3 ዲ የታተመ እና የጨረር ቁራጭ ቁርጥራጮች ንድፍ
3 ዲ የታተመ እና የጨረር ቁራጭ ቁርጥራጮች ንድፍ
3 ዲ የታተመ እና የጨረር ቁራጭ ቁርጥራጮች ንድፍ
3 ዲ የታተመ እና የጨረር ቁራጭ ቁርጥራጮች ንድፍ
3 ዲ የታተመ እና የጨረር ቁራጭ ቁርጥራጮች ንድፍ

የሌዘር ቁርጥራጮች

አስፈላጊ ከሆነ ለኤሌክትሮኒክስ በቀላሉ ተደራሽነትን የሚሰጥ ክፍት ዲዛይን ለማግኘት ስብሰባው በፒሲቢ ስፔሰርስ ተይዘው በሦስት ዋና አግዳሚ ሰሌዳዎች የተሰራ ነው።

እነዚያ ሳህኖች ለመጨረሻው ስብሰባ ቦታ ጠቋሚዎችን እና ሌሎች አካላትን ለመጠምዘዝ አስፈላጊዎቹን ቀዳዳዎች መቁረጥ ያስፈልጋቸዋል። በዋናነት ፣ ሦስቱም ሳህኖች ለጠፈር ሰሪዎች በአንድ ቦታ ላይ ቀዳዳዎች አሏቸው ፣ እና ለኤሌክትሮኒክስ ልዩ ቀዳዳዎች በእያንዳንዱ ጠፍጣፋ ላይ በቅደም ተከተል ተስተካክለዋል። የመካከለኛው ሰሌዳ መሃል ላይ ሽቦዎችን ለማለፍ ቀዳዳ እንዳለው ልብ ይበሉ።

ትናንሽ ቁርጥራጮች ወደ ስብሰባው ለመጠገን በትልቁ servo ልኬቶች ላይ ተቆርጠዋል።

3 ዲ የታተሙ ቁርጥራጮች

ከሌዘር መቁረጥ በተጨማሪ አንዳንድ ቁርጥራጮች 3 ዲ መታተም አለባቸው።

  • ከአንድ ማይክሮ ሰርቮ ሞተር ክንድ ጋር የሚያገናኘው ለአልትራሳውንድ ዳሳሽ ድጋፍ
  • ለካስተር መንኮራኩር እና ለሁለት የ IR ጠርዝ ዳሳሾች ድጋፍ። ለኤአይአር ዳሳሾች የቁራጭ ቅርፅ ጫፎች ዓይነት ልዩ ንድፍ የ IR ምልክትን በሚያንጸባርቅ አዝራር እና በመሬት ላይ በሚሆነው ላይ ብቻ ማተኮር በሚያስፈልጋቸው የ IR ዳሳሾች መካከል ጣልቃ እንዳይገቡ እንደ ማያ ገጽ ሆነው ያገለግላሉ።
  • ለማይክሮ ሰርቪው ሞተር ድጋፍ ክዳኑን ይከፍታል
  • እና በመጨረሻ ክዳኑ ራሱ ፣ ክዳኑን ከከፈተው ከማይክሮ ሰርቭ ሞተር ጋር መጋጨትን በማስቀረት ትልቅ የአሠራር አንግል እንዲኖረው በሁለት ቁርጥራጮች የተሠራ ነው።

    • ወደ ላይኛው ሳህን ላይ የሚስተካከል የታችኛው
    • እና ከላይ ወደ ታች በማጠፊያው የተገናኘ እና ወፍራም የብረት ሽቦን በመጠቀም በ servo የሚንቀሳቀስ። ሮቦትን ጭንቅላት በመስጠት ትንሽ ስብዕና ለማከል ወሰንን።

አንዴ ሁሉም ቁርጥራጮች ከተነደፉ እና ፋይሎቹ ለተጠቀሙባቸው ማሽኖች በትክክለኛው ቅርጸት ወደ ውጭ ከተላኩ ቁርጥራጮቹ በትክክል ሊሠሩ ይችላሉ። 3 -ል ህትመት በተለይም ከላዩ የላይኛው ክፍል ልኬቶች ጋር ብዙ ጊዜ እንደሚወስድ ይወቁ። ሁሉንም ቁርጥራጮች ለማተም አንድ ወይም ሁለት ቀናት ሊፈልጉ ይችላሉ። ሌዘር መቁረጥ ግን ጥቂት ደቂቃዎች ብቻ ነው።

ሁሉም የ SOLIDWORKS- ፋይሎች በዚፕ አቃፊው ውስጥ ሊገኙ ይችላሉ።

ደረጃ 5 - ስብሰባ እና ሽቦ

Image
Image
ስብሰባ እና ሽቦ
ስብሰባ እና ሽቦ
ስብሰባ እና ሽቦ
ስብሰባ እና ሽቦ
ስብሰባ እና ሽቦ
ስብሰባ እና ሽቦ

ስብሰባው ከታች ጀምሮ እስከ ላይ የሚጀምረው የሽቦ እና የመገጣጠሚያ አካላት ድብልቅ ይሆናል።

የታችኛው ሳህን

የታችኛው ጠፍጣፋ በ 4AA ባትሪ ጥቅል ፣ በ servo ሞተሮች ፣ በታተመው ክፍል (ከኳሱ ስር ያለውን የኳስ ካስተር በማያያዝ) ፣ በሁለት ጠርዝ ዳሳሾች እና በ 6 ወንድ-ሴት ስፔሰርስ ተሰብስቧል።

መካከለኛ ሳህን

በመቀጠልም በሁለቱ ሰሌዳዎች መካከል የ servo ሞተሮችን በመጭመቅ መካከለኛ ሳህኑ ሊጫን ይችላል። ከዚያ በኋላ ሌላ የጠፈር ሰጭዎችን በላዩ ላይ በማስቀመጥ ይህ ሳህን ሊስተካከል ይችላል። አንዳንድ ኬብሎች በማዕከላዊ ቀዳዳ በኩል ሊተላለፉ ይችላሉ።

የ ለአልትራሳውንድ ሞዱል Arduino, 9V የባትሪ ጥቅል (arduino ኃይል), እና ሮቦት ፊት ላይ ሁለት ኢንፍራሬድ መቀበያ ሞጁሎች ጋር መካከለኛ ሳህን ላይ ቋሚ ነው ይህም የማያቋርጥ servo, ጋር ሊጣበቅ ይችላል. እነዚህ ሞጁሎች የሚሠሩት ቀዳዳ በሚሸጡ ቦርዶች በኩል ነው እና ወደ ሳህኑ በዊንች ተያይዘዋል። የእነዚህ ሞጁሎች ወረዳዎች በአጠቃላይ መርሃግብሮች ውስጥ ተገልፀዋል።

የላይኛው ሳህን

በዚህ የስብሰባው ክፍል ላይ መቀያየሪያዎቹ አልተስተካከሉም ፣ ግን ሮቦቱ ክዳኑን ከሚጠይቁ ድርጊቶች በስተቀር ሁሉንም ነገር ማድረግ ይችላል ፣ ስለዚህ እኛ እርሻውን ለማስተካከል ፣ የእንቅስቃሴውን ኮድ ለማስተካከል እና ቀላል እንዲኖረን ያስችለናል። ወደ አርዱዲኖ ወደቦች መዳረሻ።

ይህ ሁሉ ሲሳካ ፣ የላይኛው ሳህን ከጠፈር ጠቋሚዎች ጋር ሊስተካከል ይችላል። ሁለቱ መቀያየሪያዎቹ ፣ አዝራሩ ፣ ሰርቪው ፣ ቡዙ እና ክዳን ስርዓቱ የመጨረሻዎቹ ክፍሎች ስብሰባውን ለመጨረስ በመጨረሻው የላይኛው ሳህን ላይ ሊስተካከሉ ይችላሉ።

ለመፈተሽ እና ለማረም የመጨረሻው ነገር ክዳኑን በትክክል ለመክፈት የ servo ማእዘኑ ነው።

የጠርዝ ዳሳሾች ደፍ ለተለያዩ የጠረጴዛ ገጽታዎች ከተካተተው ፖታቲሞሜትር (ጠፍጣፋ ዊንዲቨር በመጠቀም) ጋር መጣጣም አለበት። ነጭ ጠረጴዛ ለምሳሌ ከ ቡናማ ጠረጴዛ በታች ዝቅተኛ ደፍ ሊኖረው ይገባል። እንዲሁም የአነፍናፊዎቹ ቁመት በሚፈለገው ደፍ ላይ ተጽዕኖ ያሳድራል።

በዚህ ደረጃ መጨረሻ ፣ ስብሰባው ተጠናቅቋል እና የመጨረሻው ቀሪ ክፍል የጎደሉ ኮዶች ናቸው።

ደረጃ 6 - ኮድ መስጠት - ሁሉንም ነገር በአንድ ላይ ማዋሃድ

ሮቦቱ እንዲሠራ ለማድረግ ሁሉም አስፈላጊ ኮድ ሊወርድ በሚችል ዚፕ ፋይል ውስጥ ነው። በጣም አስፈላጊው የሮቦቱን ማዋቀሪያ እና ተግባራዊ ዑደት የሚያካትት “ዋና” ኮድ ነው። አብዛኛዎቹ ሌሎች ተግባራት በንዑስ ፋይሎች (እንዲሁም በዚፕ አቃፊው ውስጥ) የተፃፉ ናቸው። እነዚህ ንዑስ ፋይሎች ወደ አርዱinoኖ ከመስቀላቸው በፊት እንደ ዋናው ስክሪፕት በተመሳሳይ አቃፊ (“ዋና” ተብሎ በሚጠራው) ውስጥ መቀመጥ አለባቸው

በመጀመሪያ የሮቦቱ አጠቃላይ ፍጥነት ከተለዋዋጭ “አስታዋሽ” ጋር አብሮ ይገለጻል። ይህ “አስታዋሽ” ሮቦቱ ወደየትኛው አቅጣጫ እንደዞረ የሚያስታውስ እሴት ነው። “አስታዋሽ = 1” ከሆነ ፣ ሮቦቱ/ወደ ግራ እየዞረ ፣ “አስታዋሽ = 2” ከሆነ ፣ ሮቦቱ/ወደ ቀኝ ዞሯል።

int ፍጥነት = 9; // የሮቦት አጠቃላይ ፍጥነት

int አስታዋሽ = 1; // የመጀመሪያ አቅጣጫ

በሮቦት ቅንብር ውስጥ የፕሮግራሙ የተለያዩ ንዑስ ፋይሎች ተጀምረዋል። በእነዚህ ንዑስ ፋይሎች ውስጥ በሞተር ቁጥጥር ፣ ዳሳሾች ፣… ላይ መሠረታዊ ተግባራት ተፃፉ። በማዋቀሩ ውስጥ እነሱን በማስጀመር ፣ በእነዚህ በእነዚህ ፋይሎች ውስጥ የተገለጹት ተግባራት በዋናው ዑደት ውስጥ ጥቅም ላይ ሊውሉ ይችላሉ። ተግባሩን r2D2 () ን በማግበር ፣ ሮቦቱ ከስታር ዋርስ ፊልም ፍራንቻይዝ እንደ R2D2 ሮቦት ያለ ድምጽ ያሰማል። ይጀምራል። ጩኸቱ በጣም ብዙ የአሁኑን መሳል ለመከላከል እዚህ r2D2 () ተግባሩ ተሰናክሏል።

// ማዋቀር @ ዳግም ማስጀመር // ----------------

ባዶነት ማዋቀር () {initialize_IR_sensors (); እንቅፋቶችን_እንዲሁም (); initialize_movement (); initialize_lid (); initialize_buzzer (); // r2D2 (); int አስታዋሽ = 1; // የመጀመሪያ አቅጣጫ ማስጀመሪያ (ያስታውሱ); }

የጀማሪ (አስታዋሽ) ተግባር በመጀመሪያ በማዋቀር ውስጥ ይጠራል። ይህ ተግባር ሮቦቱን እንዲዞር እና ከአንዱ አዝራሮች የ IR ምልክት እንዲፈልግ ያደርገዋል። አንዴ አዝራሩን ካገኘ በኋላ ፕሮግራሙ ተለዋዋጭውን ‹ኮንዲ› ወደ ሐሰት በመቀየር ከጀማሪው ተግባር ይወጣል። በሮቦቱ አዙሪት ውስጥ ስለ አካባቢያቸው ማወቅ አለበት -ጠርዞችን እና መሰናክሎችን መለየት አለበት። ይህ መዞሩን ከመቀጠሉ በፊት በእያንዳንዱ ጊዜ ይፈትሻል። ሮቦቱ መሰናክልን ወይም ጠርዝን ካወቀ በኋላ እነዚህን መሰናክሎች ወይም ጠርዞች ለማስወገድ ፕሮቶኮሉ ይፈጸማል። እነዚህ ፕሮቶኮሎች በዚህ ደረጃ በኋላ ይብራራሉ። የጀማሪው ተግባር አንድ ተለዋዋጭ አለው ይህም ቀደም ሲል የተወያየበት የማስታወሻ ተለዋዋጭ ነው። የማስታወሻውን እሴት ለጀማሪው ተግባር በመስጠት ሮቦቱ አዝራሩን ለመፈለግ በየትኛው አቅጣጫ መዞር እንዳለበት ያውቃል።

// የጀማሪ loop: ዞር ይበሉ እና አዝራሩን ይፈልጉ // ------------------------------------ ----------------

ባዶ ባዶ ማስጀመሪያ (int አስታዋሽ) {ከሆነ (isedgeleft () || isedgeright ()) {// የጠርዙን ጠርዝ ፈልጎ ተገኝቷል (ያስታውሱ) ፤ } ሌላ {bool cond = true; ሳለ (cond == true) {if (buttonleft () == false && buttonright () == false && isButtonDetected () == true) {cond = false; } ሌላ {ከሆነ (ያስታውሱ == 1) {// እኛ (isobstacleleft ()) {stoppeed () ከሆነ (ወደ እንቅፋትን ያስወግዱ (ያስታውሱ); } ሌላ ከሆነ (isedgeleft () || isedgeright ()) {// የጠርዙን ጠርዝ ፈልጎ ተገኝቷል (ያስታውሱ) ፤ } ሌላ {turnleft (speed); }} ሌላ ከሆነ (ያስታውሱ == 2) {if (isobstacleright ()) {stoppeed () ፤ እንቅፋትን ያስወግዱ (ያስታውሱ); } ሌላ ከሆነ (isedgeleft () || isedgeright ()) {// የጠርዙን ጠርዝ ፈልጎ ተገኝቷል (ያስታውሱ) ፤ } ሌላ {መዞር (ፍጥነት); }}}}}}

ሮቦቱ አዝራሩን ካገኘ ፣ ከዚያ የመጀመሪያው የማስጀመሪያው ዑደት ይወጣል እና የሮቦቱ ዋና ፣ ተግባራዊ ዙር ይጀምራል። ሮቦቱ ከፊት ለፊቱ እንቅፋት ወይም ጠርዝ መኖሩን ወይም አለመኖሩን ማወቅ ስለሚያስፈልገው ይህ ዋናው ዑደት በጣም የተወሳሰበ ነው። ሁለት የ IR ዳሳሾችን በመጠቀም ሶስት ሁኔታዎችን መለየት እንችላለን-

  • በግራ እና በቀኝ ዳሳሽ በተገኘው የ IR መብራት መካከል ያለው ልዩነት ከተወሰነ ደፍ ይበልጣል ፣ እና አንድ አዝራር አለ።
  • በ IR ብርሃን ውስጥ ያለው ልዩነት ከመነሻው ያነሰ ነው ፣ እና በሮቦት ፊት አንድ ቁልፍ አለ።
  • በ IR ብርሃን ውስጥ ያለው ልዩነት ከመነሻው ያነሰ ነው ፣ እና በሮቦት ፊት ምንም አዝራር የለም።

የትራክ አሠራሩ የሚሠራበት መንገድ እንደሚከተለው ነው -አዝራሩ በሚታወቅበት ጊዜ ሮቦቱ በሚዞርበት ተመሳሳይ አቅጣጫ (አስታዋሹን ተለዋዋጭ በመጠቀም) በማዞር ወደ ትንሽ አቅጣጫ ወደፊት ይራመዳል። ሮቦቱ በጣም ሩቅ ከሆነ ፣ ቁልፉ እንደገና ይጠፋል ፣ እና በዚህ ጊዜ ሮቦቱ ወደ ሌላኛው አቅጣጫ መዞር እንዳለበት ያስታውሳል። ይህ ትንሽ ወደ ፊት በሚሄድበት ጊዜም ይከናወናል። ይህን በማድረግ ሮቦቱ ሁል ጊዜ ወደ ግራ እና ወደ ቀኝ ይታጠፋል ፣ ግን በዚህ ጊዜ ውስጥ አሁንም ወደ አዝራሩ እየገፋ ነው። ሮቦቱ አዝራሩን ባገኘ ቁጥር እሱ እስኪያጣው ድረስ መዞሩን ይቀጥላል ፣ በዚህ ሁኔታ ወደ ሌላ አቅጣጫ መንቀሳቀስ ይጀምራል። በጅማሬ loop እና በዋናው loop ውስጥ ጥቅም ላይ የዋሉ ተግባራት ልዩነት ያስተውሉ -የ Starter loop ይጠቀማል “turnleft ()” ወይም “turnright ()” ፣ ዋናው ዙር ደግሞ “moveleft ()” እና “moveright ()” ን ይጠቀማል። የእንቅስቃሴ ግራ/ቀኝ ተግባራት ሮቦቱን እንዲዞሩ ብቻ ሳይሆን በተመሳሳይ ጊዜ ወደ ፊት እንዲሄድ ያደርጉታል።

/ * ተግባራዊ ሉፕ ---------------------------- እዚህ ፣ የትራክ አሠራሩ ብቻ አለ */

int ጠፍቷል = 0; // ከጠፋ = 0 አዝራሩ ተገኝቷል ፣ ከጠፋ = 1 አዝራሩ የጠፋ ባዶ () ከሆነ (isedgeleft () || isedgeright ()) {

ከሆነ (! እንቅፋት ()) {

ወደፊት (ፍጥነት); መዘግየት (5); } ሌላ {መሰናክልን ያስወግዱ (ያስታውሱ) ፤ } ሌላ {ከሆነ (ያስታውሱ == 1 && የጠፋ == 1) {// እኛ የግራ ማቆሚያ (/) የግራ ማቆምን () እየዞርን ነበር። ከሆነ (! isobstacleright ()) {moveright (ፍጥነት); // አዝራሩን ለማግኘት ዘወር ይበሉ} ሌላ {እንቅፋትን ያስወግዱ (ያስታውሱ) ፤ } ማሳሰቢያ = 2; } ሌላ ከሆነ (ያስታውሱ == 2 && የጠፋ == 1) {stoppeed (); ከሆነ (! isobstacleleft ()) {moveleft (speed); // ወደ ቀኝ እንዞራለን} ሌላ {እንቅፋትን ያስወግዱ (ያስታውሱ) ፤ } ያስታውሱ = 1; } ሌላ ከሆነ (የጠፋ == 0) {ከሆነ (ያስታውሱ == 1) {// እኛ (! isobstacleleft ()) {moveleft (ፍጥነት) ከሆነ ወደ ግራ እየዞርን ነበር ፤ // ወደ ቀኝ እየታጠፍን ነበር} ሌላ {stoppeed () ፤ እንቅፋትን ያስወግዱ (ያስታውሱ); } //} ሌላ ከሆነ (ያስታውሱ == 2) {if (! isobstacleright ()) {moveright (speed); // አዝራሩን ለማግኘት ዘወር ይበሉ} ሌላ {stoppeed (); እንቅፋትን ያስወግዱ (ያስታውሱ); }}} መዘግየት (10); የጠፋ = 0; }} //}}

አሁን ስለ ሁለቱ በጣም ውስብስብ አሰራሮች ትንሽ ማብራሪያ ተሰጥቷል-

ጠርዞችን ያስወግዱ

ጠርዞችን ለማስወገድ ፕሮቶኮሉ በ “እንቅስቃሴ” ንዑስ ፋይል ውስጥ በተፃፈው “edgeDetection ()” በተባለው ተግባር ውስጥ ይገለጻል። ይህ ፕሮቶኮል ሮቦቱ መድረሻውን ሲደርስ ጠርዝ ብቻ ሊያጋጥመው በሚችልበት ሁኔታ ላይ የተመሠረተ ነው -አዝራሩ። ሮቦቱ አንድን ጠርዝ ካወቀ ፣ መጀመሪያ የሚያደርገው ነገር ከዳር እስከ ዳር በአስተማማኝ ሁኔታ ላይ ለመሆን ትንሽ ወደ ኋላ መመለስ ነው። አንዴ ይህ ከተደረገ ሮቦቱ ለ 2 ሰከንዶች ያህል ይጠብቃል። በእነዚያ ሁለት ሰከንዶች ውስጥ አንድ ሰው በሮቦቱ ፊት ለፊት ያለውን ቁልፍ ከተጫነ ሮቦቱ ቅቤን ለሚፈልግ ሰው እንደደረሰ እና የቅቤ ክፍሉን ከፍቶ ቅቤውን እንደሚያቀርብ ያውቃል።በዚህ ጊዜ አንድ ሰው ቅቤን ከሮቦት መውሰድ ይችላል። ከጥቂት ሰከንዶች በኋላ ሮቦቱ በመጠባበቅ ይደክማል እና የቅቤውን ክዳን ይዘጋል። አንዴ ክዳኑ ከተዘጋ ሮቦቱ ሌላ አዝራርን ለመፈለግ የጀማሪውን ዑደት ያካሂዳል። ሮቦቱ ወደ መድረሻው ከመድረሱ በፊት ጠርዝ ቢያጋጥመው እና በሮቦቱ ፊት ላይ ያለው ቁልፍ ካልተጫነ ሮቦቱ የቅቤ ክዳኑን አይከፍትም እና ወዲያውኑ የጀማሪውን ዙር ያስፈጽማል።

እንቅፋቶችን ያስወግዱ

የማስወገድ_እንቅፋት () ተግባር እንዲሁ በ “እንቅስቃሴ” ንዑስ ፋይል ውስጥ ይገኛል። መሰናክሎችን ስለማስወገድ በጣም አስቸጋሪው ነገር ሮቦቱ በጣም ትልቅ ዓይነ ስውር ቦታ መኖሩ ነው። የአልትራሳውንድ አነፍናፊው በሮቦቱ ፊት ላይ ይቀመጣል ፣ ይህ ማለት እንቅፋቶችን መለየት ይችላል ፣ ግን እሱ ሲያልፍ አያውቅም። ይህንን ለመፍታት የሚከተለው መርህ ጥቅም ላይ ውሏል - ሮቦቱ መሰናክል ካጋጠመው በኋላ ወደ ሌላ አቅጣጫ ለመዞር የሬሚንግ ተለዋዋጭውን ይጠቀማል። በዚህ መንገድ ሮቦቱ እንቅፋቱን ከመምታት ይቆጠባል። የአልትራሳውንድ ዳሳሽ መሰናክሉን እስኪያገኝ ድረስ ሮቦቱ መዞሩን ይቀጥላል። ሮቦቱ በሚዞርበት ጊዜ እንቅፋቱ ከእንግዲህ እስካልተገኘ ድረስ ቆጣሪ ይጨምራል። ይህ ቆጣሪ ከዚያ መሰናክሉን ርዝመት ግምታዊ ይሰጣል። ከዚያ ወደ ፊት በመሄድ እና በተመሳሳይ ጊዜ ቆጣሪውን በመቀነስ እንቅፋቱን ማስወገድ ይቻላል። አንዴ ቆጣሪው 0 ከደረሰ ፣ አዝራሩን ለማዛወር የጀማሪው ተግባር እንደገና ጥቅም ላይ ሊውል ይችላል። በእርግጥ ሮቦቱ እንቅፋቱን ከማጋጠሙ በፊት (ወደ አስታዋሽ ተለዋዋጭ በመጠቀም) እየሄደበት ወደሚያስታውሰው አቅጣጫ በማዞር የጀማሪውን ተግባር ያከናውናል።

አሁን ኮዱን ሙሉ በሙሉ ተረድተዋል ፣ እሱን መጠቀም መጀመር ይችላሉ!

ገደቦቹን ከአካባቢያችሁ ጋር ማላመድዎን ያረጋግጡ (የ IR ነፀብራቅ በነጭ ጠረጴዛዎች ላይ ከፍ ያለ ነው) እና የተለያዩ ልኬቶችን ከእርስዎ ፍላጎቶች ጋር ማላመድዎን ያረጋግጡ። እንዲሁም ለተለያዩ ሞጁሎች ኃይል ከፍተኛ ትኩረት መስጠት አለበት። ብዙ የአሁኑን ስለሚወስዱ የ servo ሞተሮች በ Arduino 5V ወደብ የማይሠሩ መሆናቸው በጣም አስፈላጊ ነው (ይህ ማይክሮ መቆጣጠሪያውን ሊጎዳ ይችላል)። ተመሳሳዩን የኃይል ምንጭ ሰርኖቹን ለማገልገል እንደ አነፍናፊዎቹ ጥቅም ላይ ከዋለ አንዳንድ የመለኪያ ችግሮች ሊያጋጥሙ ይችላሉ።

የሚመከር: