ዝርዝር ሁኔታ:

ሮቦ-ቤልፕፕ እንዴት እንደሚሠራ -3 ደረጃዎች
ሮቦ-ቤልፕፕ እንዴት እንደሚሠራ -3 ደረጃዎች

ቪዲዮ: ሮቦ-ቤልፕፕ እንዴት እንደሚሠራ -3 ደረጃዎች

ቪዲዮ: ሮቦ-ቤልፕፕ እንዴት እንደሚሠራ -3 ደረጃዎች
ቪዲዮ: Консультант от бога Tg: cadrolikk 2024, ህዳር
Anonim

ተጨማሪ በ ደራሲው ይከተሉ

ወደ iRobot ፍጠር የስኮላርሺፕ አነስተኛ ውድድር
ወደ iRobot ፍጠር የስኮላርሺፕ አነስተኛ ውድድር
ወደ iRobot ፍጠር የስኮላርሺፕ አነስተኛ ውድድር
ወደ iRobot ፍጠር የስኮላርሺፕ አነስተኛ ውድድር
አስቂኝ መግለጫ ፅሁፎች ያላቸው LOLCats ፣ Meme ድመቶች ፣ የድመት ማክሮዎች ወይም የድመት ሥዕሎች እንዴት እንደሚሠሩ
አስቂኝ መግለጫ ፅሁፎች ያላቸው LOLCats ፣ Meme ድመቶች ፣ የድመት ማክሮዎች ወይም የድመት ሥዕሎች እንዴት እንደሚሠሩ
አስቂኝ መግለጫ ፅሁፎች ያላቸው LOLCats ፣ Meme ድመቶች ፣ የድመት ማክሮዎች ወይም የድመት ሥዕሎች እንዴት እንደሚሠሩ
አስቂኝ መግለጫ ፅሁፎች ያላቸው LOLCats ፣ Meme ድመቶች ፣ የድመት ማክሮዎች ወይም የድመት ሥዕሎች እንዴት እንደሚሠሩ

ስለ: ነገሮችን መለየት እና እንዴት እንደሚሠሩ መገመት እወዳለሁ። ከዚያ በኋላ በአጠቃላይ ወለድ እፈታለሁ። ስለ ጄፍሪፍ ተጨማሪ »

ይህ አስተማሪ ተንቀሳቃሽ ደወልን ለመሥራት iRobot ፍጠርን እንዴት እንደሚጠቀም ያሳያል። ይህ ከካሮል ዳንሰርስ መመሪያ ፈቃድ ሙሉ በሙሉ ተነስቷል ፣ እና እኛ እንደ ውድድሩ ናሙና መግቢያ አድርጌዋለሁ። ሮቦ-ቤልሆፕ ቦርሳዎችዎን ፣ ሸቀጣ ሸቀጣ ሸቀጣ ሸቀጦችን ፣ የልብስ ማጠቢያዎችን ፣ ወዘተ ለመሸከም የራስዎ የግል ረዳት ሊሆን ይችላል ፣ ስለዚህ እርስዎ እንዳይኖሩዎት ወደ. መሠረታዊው ፍጠር ከላዩ ላይ አንድ መያዣ አለው እና የባለቤቱን IR ማስተላለፊያ ለመከተል ሁለት በቦርዱ ላይ የ IR መመርመሪያዎችን ይጠቀማል። በጣም መሠረታዊ በሆነ የ C ሶፍትዌር ኮድ ተጠቃሚው ከባድ ሸቀጣ ሸቀጦችን ፣ ትልቅ የልብስ ማጠቢያ ጭነት ወይም የሌሊት ቦርሳዎን በሮቦ -ቤልሆፕ ላይ መጠበቅ እና ሮቦቱ በመንገድ ላይ ፣ በገበያ አዳራሹ ፣ በአዳራሹ ወይም በአየር ማረፊያው በኩል እንዲከተልዎት ማድረግ ይችላል - - ተጠቃሚው በሄደበት ሁሉ መሰረታዊ አሠራር 1) የትእዛዝ ሞዱሉን ለማብራት እና ዳሳሾችን እየተሳተፉ 1 ሀ) የዳግም አስጀምር ቁልፍን ይምቱ) እርስዎ እንዲከተሉ የ IR አስተላላፊውን ሲያይ የ Play LED መብራት አለበት 1 ለ) የቅድሚያ LED ሲበራ ሮቦቱ በጣም ቅርብ በሆነ ክልል ውስጥ ነው 2) ሮቦ-ቤልሆፕ ልማድን ለማሄድ ጥቁር ለስላሳ ቁልፍን ይምቱ 3) የ IR አስተላላፊውን ከቁርጭምጭሚቱ ጋር ያያይዙ እና መብራቱን ያረጋግጡ። ከዚያ ቅርጫቱን ይጫኑ እና ይሂዱ! ክልል (በጣም ሩቅ ወይም በጣም ጥግ በሆነ አንግል) ፣ ሮቦቱ ምልክቱ እንደገና ከተነሳ በቀስታ ፍጥነት በአጭር ርቀት ይጓዛል 4c) የ IR ምልክቱ ካልተገኘ ሮቦቱ በግራ እና በቀኝ ምልክቱን እንደገና ለማግኘት ይሞክሩ 4 ዲ) የ IR ምልክቱ ከተገኘ ግን ሮቦቱ እንቅፋት ቢገጥመው ፣ ሮቦቱ እንቅፋቱን ዙሪያ ለመንዳት ይሞክራል። የባለቤቱ ቁርጭምጭሚቶች ሃርድዌር 1 አይሮቦት ምናባዊ የግድግዳ አሃድ - $ 301 አይአር ፈላጊ ከሬዲዮሻክ - $ 31 DB -9 ወንድ አያያዥ ከሬዲዮ ሻክ - $ 44 6-32 ብሎኖች ከ Home Depot - $ 2.502 3V ባትሪዎች ፣ ከዒላማው D1 የልብስ ማጠቢያ ቅርጫት ተጠቀምኩ - $ 51 ተጨማሪ ጎማ ወደ ከሮቦት ኤሌክትሪክ ኤሌክትሪክ ቴፕ ፣ ሽቦ እና መሸጫ ጀርባ

ደረጃ 1: የ IR ዳሳሹን መሸፈን

በሮቦት ፍጠር ፊት ለፊት ካለው የ IR ዳሳሽ ትንሽ ስንጥቅ በስተቀር ሁሉንም ለመሸፈን የኤሌክትሪክ ቴፕ ያያይዙ። ምናባዊውን የግድግዳ ክፍል ያላቅቁ እና በአከባቢው ፊት ለፊት ያለውን ትንሽ የወረዳ ሰሌዳ ያውጡ። ብዙ የተደበቁ ብሎኖች እና የፕላስቲክ ተራሮች ስላሉ ይህ ትንሽ አስቸጋሪ ነው። የ IR አስተላላፊው በወረዳ ሰሌዳ ላይ ነው። የ IR ን ነፀብራቅ ለማስወገድ የ IR አስተላላፊውን በጨርቅ ወረቀት ይሸፍኑ። የወረዳ ሰሌዳውን በቁርጭምጭሚትዎ ላይ መጠቅለል ከሚችል ገመድ ወይም ተጣጣፊ ባንድ ጋር ያያይዙት። ባትሪዎቹን ምቹ በሆነ ቦታ እንዲይዙዎት ባትሪዎቹን ወደ ወረዳው ቦርድ ያያይዙት (ባትሪዎቹን በኪሴ ውስጥ ማስቀመጥ እችል ነበር)።

2 ኛውን IR ፈታሽ ወደ DB-9 አያያዥ ያገናኙ እና በጭነት ቤይ ePort ፒን 3 (ምልክት) እና ፒን 5 (መሬት) ውስጥ ያስገቡ። 2 ኛ IR ፈላጊው ሮቦቱ እንዲቆም እንዲፈልጉት በሚፈልጉት ርቀት ላይ 2 ኛ IR ፈላጊውን አሁን ካለው የ IR ዳሳሽ አናት ላይ ያያይዙት እና በሁለት የቲሹ ወረቀት ንብርብሮች ይሸፍኑት። እርስዎን ከመምታት። ዳግም ማስጀመሪያ ቁልፍን ከመታቱ እና በማቆሚያው ርቀት ላይ ሲሆኑ ለመቀጠል የቅድሚያ LED ን ከተመለከቱ በኋላ ይህንን መሞከር ይችላሉ።

ደረጃ 2 ቅርጫቱን ያያይዙ

6-32 ዊንጮችን በመጠቀም ቅርጫቱን ያያይዙ። እኔ ብቻ ፍጠር ሮቦት አናት ላይ ቅርጫቱን ሰቀልኩ። በሮቦት ፍጠር ጀርባ ላይ ክብደት እንዲያስቀምጡም በጀርባው ጎማ ውስጥ ይንሸራተቱ።

ማስታወሻዎች: - ሮቦቱ በጣም ትንሽ ጭነት ፣ ቢያንስ 30 ፓውንድ ሊሸከም ይችላል። - ትንሹ መጠን ማንኛውንም ሻንጣ እንዲይዝ ማድረጉ በጣም ከባድ ይመስላል - አይአር በጣም ጠበኛ ነው። ምናልባት ምስልን መጠቀም የተሻለ ነው ግን በጣም ውድ ነው

ደረጃ 3: የምንጭ ኮዱን ያውርዱ።

የምንጭ ኮዱን ያውርዱ።
የምንጭ ኮዱን ያውርዱ።

የምንጭ ኮዱ ይከተላል ፣ እና በጽሑፍ ፋይል ውስጥ ተያይ isል-

/************************************************* ************* የ IR ዳሳሽ ** ፍጠር ምናባዊ ግድግዳ (ወይም ማንኛውም የ ** ኃይል-መስክ ምልክትን የሚልክ) ይከተላል እና በሂደቱ ውስጥ እንቅፋቶችን ያስወግዳል ብለን ተስፋ እናደርጋለን ***************** *************************************************** **/#interrupt.h>#include io.h>#ያካትቱ#ያካትታሉ "oi.h"#መግለፅ TRUE 1#ፍቺን 0#ይግለጹ FullSpeed 0x7FFF#ይግለጹ SlowSpeed 0x0100#የፍለጋ ፍጥነት 0x0100#ይግለጹ ExtraAngle 10#ይግለጹ SearchLeftAngle 125#SearchRightAngle (SearchLeftAngle - 1000) #define CoastDistance 150#TraceDistance 250#TraceAngle 30#ን ይገልፃል BackDistance 25#IRR ተገኝቷል (~ ፒንቢ እና 0x01) // ግዛቶች#ዝግጁነትን ይግለጹ 1#መግለፅ 1 #ፍተሻ ግራ 3#ፍተሻ ቀኝ 4 ን ይግለጹ TracingLeft 5#TracingRight 6 ን ይግለጹ#BackingTraceLeft 7#ፍቺ BackingTraceRight 8 // Global variablesv ተለዋዋጭ uint16_t timer_cnt = 0; ተለዋዋጭ uint8_t timer_on = 0; ተለዋዋጭ uint8_t sensors_flag = 0; ተለዋዋጭ uint8_t sensors_index = 0; ተለዋዋጭ uint8_t sensors_in ውስጥ [Sen6Size]; ተለዋዋጭ uint8_t inRange = 0; // ተግባሮች byteTx (uint8_t እሴት) ያስወግዱ ፣ ባዶ መዘግየቶች ኤምኤምኤስ (uint16_t time_ms) ፣ ባዶ መዘግየትAndCheckIR (uint16_t time_ms) ፤ ባዶ መዘግየት AndUpdateSensors (ያልተፈረመ int time_ms) ፤ ባዶነት (ባዶ) ባዶ (ባዶ) ባዶ (ባዶ) ባውድ (uint8_t baud_code); ባዶ ድራይቭ (int16_t ፍጥነት ፣ int16_t ራዲየስ) ፤ 0; // ፍጠር እና ሞጁልን (()) ያዘጋጁ () ፤ LEDBothOff ፤ powerOnRobot () ፤ byteTx (CmdStart) ፤ baud (Baud28800) ፤ byteTx (CmdControl) ~ 0x01; // ግቤት እንዲሆን የካርጎ ቤይ ePort ፒን 3 ን ያዘጋጁ PORTB | = 0x01; // የጭነት ePort pin3 pullup ነቅቷል // የፕሮግራም አዙሪት (እውነት) {// ልክ እንደ ቅድመ ጥንቃቄ (0 ፣ RadStraight) ፤ // አዘጋጅ LEDsbyteTx (CmdLeds); byteTx (((ዳሳሾች [SenVWall])? LEDPlay: 0x00) ((inRange? LEDAdvance: 0x00)) ፤ ባይትቴክስ (ዳሳሾች [SenCharge1]) ፤ ባይትቴክስ (64) ፣ IRDetected? LED2On: LED2Off; inRange? (10) ፤ ከሆነ (UserButtonPressed) {delayAndUpdateSensors (1000) ፤ // active loopwhile (! (UserButtonPressed) && (! Sensors [SenCliffL]) && (! Sensors [SenCliffFL]) && (! Sensors [SenCliffFR]) && (! ዳሳሾች [SenCliffR])) {byteTx (CmdLeds); byteTx (((sensors [SenVWall]))? LEDPlay: 0x00) | (inRange? LEDAdvance: 0x00)); byteTx (sensors [SenCharge1]); byteTx (255); IRDetected ? ቀጥ ያለ ድራይቭ (SlowSpeed ፣ RadStraight) ፤ ሁኔታ = መከተል ፤}} ሌላ {// ምሰሶውን = 0 ፤ ርቀትን = 0 ፤ ተጠባባቂ_ኮተርን ይፈልጉ = 0; ተገኝቷል = ሐሰት; መንዳት (SearchSpeed ፣ RadCCW) ፤ state = SearchingLeft;} break; case following: if (sensors [SenBumpDrop] & BumpRight) {distance = 0; angle = 0; drive (-SlowSpeed, RadStraight); state = BackingTraceLeft;} ሌላ ከሆነ (ዳሳሾች [SenBumpDrop] & BumpLeft) {distance = 0; angle = 0; drive (-SlowSpeed, RadStraight); state = BackingTraceRight;} ሌላ ከሆነ (ዳሳሾች [SenVWall]) {// ይፈትሹ ከመሪፍ (inRange) {drive (0, RadStraight) ፤ state = ዝግጁ ፤} ሌላ {// drive straightdrive (FullSpeed ፣ RadStraight) ፤ state = following;}} ሌላ {// ዝም ብሎ ምልክቱን አጣ ፣ ቀስ በቀስ አንድ ይቀጥሉ ሳይክሊስትስታንስ = 0; ድራይቭ (SlowSpeed ፣ RadStraight) ፤ ግዛት = WasFollowing;} እረፍት ፤ ጉዳይ WasFollowing: ከሆነ (ዳሳሾች [SenBumpDrop] & BumpRight) {ርቀት = 0 ፤ አንግል = 0 ፤ መንዳት (-SlowSpeed ፣ RadStraight) ፤ ግዛት = BackingTraceLeft;} ሌላ ከሆነ (ዳሳሾች [SenBumpDrop] & BumpLeft) {distance = 0; angle = 0; drive (-SlowSpeed, RadStraight); state = BackingTraceRight;} ሌላ ከሆነ (ዳሳሾች [SenVWall]) {// ወደ leaderif ቅርበት ያረጋግጡ (inRange) {drive (0 ፣ RadStraight) ፤ state = R ፈጣን;;} ዕረፍት ፣ የጉዳይ ፍለጋ ፍለጋ - ከተገኘ (ከተገኘ) {ከሆነ (አንግል> = ExtraAngle) {ድራይቭ (SlowSpeed ፣ RadStraight) ፤ state = መከተል ፤} ሌላ {drive (SearchSpeed ፣ RadCCW) ፤}} ሌላ ከሆነ (ዳሳሾች [SenVWall]) {found = TRUE; angle = 0; ከሆነ (inRange) {drive (0, RadStraight) ፤ state = ዝግጁ ፤} ሌላ {drive (SearchSpeed ፣ RadCCW) ፤}} ሌላ ከሆነ (አንግል> = SearchLeftAngle) {drive (SearchSpeed ፣ RadCW); wait_counter = 0; state = SearchingRight;} ሌላ {drive (SearchSpeed, RadCCW);} break; case SearchingRight: if (found) {if (-angle> = ExtraAngle) {drive (SlowSpeed, RadStraight); state = እየተከተለ ፤} ሌላ {drive (SearchSpeed ፣ RadCW) ፤}} ሌላ ከሆነ (ዳሳሾች [SenVWall]) {found = TRUE; angle = 0; if (inRange) {drive (0, RadStraight) ፤ state = Ready;} ሌላ {drive (SearchSpeed ፣ RadCCW) ፤}} ሌላ ከሆነ (wait_counter> 0) {wait_counter -= 20; drive (0 ፣ RadStraight) ፤} ሌላ ከሆነ (አንግል = ፍለጋ RightAngle) {drive (0, RadStraight); wait_counter = 5000; angle = 0;} ሌላ {drive (SearchSpeed, RadCW);} break; case TracingLeft: if (sensors [SenBumpDrop] & BumpRight) {distance = 0; angle = 0; ድራይቭ (-SlowSpeed ፣ RadStraight) ፤ state = BackingTraceLeft;} ሌላ ከሆነ (ዳሳሾች [SenBumpDrop] & BumpLeft) {drive (0 ፣ RadStraight) ፤ state = ዝግጁ;} ሌላ ከሆነ (ዳሳሾች [SenVWall]) {// ይፈትሹ ከመሪ (ቅርበት) ({inRange) {drive (0, RadStraight) ፤ state = ዝግጁ ፤} ሌላ {// drive straightdrive (SlowSpeed ፣ RadStraight) ፤ state = following;}} ሌላ ከሆነ (! (ርቀት> = TraceDistance)) { ድራይቭ (SlowSpeed ፣ RadStraight) ፤} ሌላ ከሆነ (! (-angle> = TraceAngle)) {drive (SearchSpeed ፣ RadCW) ፤} ሌላ {ርቀት = 0 ፤ አንግል = 0 ፤ ድራይቭ (SlowSpeed ፣ RadStraight) ፤ ሁኔታ = ዝግጁ; } ዕረፍት ፣ ጉዳይ TracingRight: ከሆነ (ዳሳሾች [SenBumpDrop] & BumpRight) {drive (0, RadStraight) ፤ state = ዝግጁ;} ሌላ ከሆነ (ዳሳሾች [SenBumpDrop] & BumpLeft) {ርቀት = 0 ፤ አንግል = 0 ፤ መንዳት (- SlowSpeed, RadStraight); state = BackingTraceRight;} ሌላ ከሆነ (ዳሳሾች [SenVWall]) {// ወደ መሪ (ኢራን) ቅርበት ያረጋግጡ ሠ) {drive (0 ፣ RadStraight) ፤ state = ዝግጁ ፤} ሌላ {// drive straightdrive (SlowSpeed ፣ RadStraight) ፤ state = following;}} ሌላ ከሆነ (! (ርቀት> = TraceDistance)) {drive (SlowSpeed ፣ RadStraight);} ሌላ ከሆነ (! (angle> = TraceAngle)) {drive (SearchSpeed, RadCCW);} ሌላ {distance = 0; angle = 0; drive (SlowSpeed, RadStraight); state = Ready;} break; case BackingTraceLeft: ከሆነ (ዳሳሾች [SenVWall] && inRange) {drive (0, RadStraight) ፤ state = Ready;} ሌላ ከሆነ (አንግል> = TraceAngle) {distance = 0; angle = 0; drive (SlowSpeed, RadStraight); state = TracingLeft; } ሌላ ከሆነ (-distance> = BackDistance) {drive (SearchSpeed, RadCCW) ፤} ሌላ {drive (-SlowSpeed ፣ RadStraight) ፤} መቋረጥ ፤ ጉዳይ BackingTraceRight: ከሆነ (ዳሳሾች [SenVWall] && inRange) {drive (0, RadStraight); ሁኔታ = ዝግጁ;} ሌላ ከሆነ (-angle> = TraceAngle) {distance = 0; angle = 0; drive (SlowSpeed, RadStraight); state = TracingRight; ፣ RadCW) ፤} ሌላ {ድራይቭ (-SlowSpeed ፣ RadStraight) ፤} እረፍት ፤ ነባሪ // stopdrive (0 ፣ RadStraight) ፤ state = Re አድይ ፣ ዕረፍት ፣ // ተከታታይ ዳሳሽ እሴቶችን ለማከማቸት መቋረጥ ሲግናል (SIG_USART_RECV) {uint8_t temp; temp = UDR0 ፣ ከሆነ (sensors_flag) {sensors_in [sensors_index ++] = temp; ከሆነ (sensors_index> = Sen6Size) sensors_flag = 0;}} // ሰዓት ቆጣሪ 1 መቋረጥ በ msSIGNAL (SIG_OUTPUT_COMPARE1A) ውስጥ ወደ ጊዜ መዘግየቶች {ከሆነ (timer_cnt) timer_cnt-; elsetimer_on = 0;} // ባይት ያስተላልፉ byteTx (uint8_t እሴት) {ሳለ (! (UCSR0A & _BV (UDRE0))); UDR0 = እሴት;} // የአነፍናፊ እሴቶችን ሳያዘምኑ በተጠቀሰው ጊዜ ውስጥ በ ms ውስጥ መዘግየት ኤምኤም (uint16_t time_ms) {timer_on = 1; timer_cnt = time_ms; while (timer_on);} // ms ውስጥ ለተጠቀሰው ጊዜ መዘግየት እና ሁለተኛውን ይመልከቱ የ IR ፈላጊ መዘግየትን ያስወግዱ እና ‹CeckIR (uint16_t time_ms) {uint8_t timer_val = 0; inRange = 0; timer_on = 1; timer_cnt = time_ms; ሳለ (timer_on) {if (! (Timer_val == timer_cnt)) {inRange + = IRDetected; timer_val = timer_cnt;}} inRange = (inRange> = (time_ms >> 1));} // በ ms ውስጥ ለተጠቀሰው ጊዜ መዘግየት እና አነፍናፊ እሴቶችን መዘግየትን ያስወግዱ እና መዘግየትን ያስወግዱ (uint16_t time_ms) {uint8_t temp; timer_on = 1; timer_cnt = time_ms; ሳለ (timer_on) {ከሆነ (! sensors_flag) {ለ (temp = 0; temp Sen6Size; temp ++) ዳሳሾች [temp] = sensors_in [temp]; // የሩጫ እና angledistance ድምር ድምርን ያዘምኑ += (int) ((ዳሳሾች [SenDist1] 8) | ዳሳሾች [SenDist0]) ፤ አንግል += (int) ((ዳሳሾች)] // እኔ/ኦ ፒን ዲ ዲ አርቢ = 0x10 ፤ PORTB = 0xCF ፤ DDRC = 0x00 ፤ PORTC = 0xFF ፤ DDRD = 0xE6 ፤ PORTD = 0x7D ፤ // በየ 1 msTCCR1A = 0x00 ፤ TCCR1B = (_BV) መቋረጥ ለማመንጨት ሰዓት ቆጣሪ 1 ያዘጋጁ። (WGM12) | _BV (CS12)) ፤ OCR1A = 71 ፤ TIMSK1 = _BV (OCIE1A) ፤ // ተከታታይ ወደቡን በ rx interruptUBRR0 = 19 ያቋርጡ UCR0B = (_BV (RXCIE0) | _BV (TXEN0) | _BV (RXEN0))); ! RobotIsOn) {RobotPwrToggleLow; delayMs (500); // በዚህ ሁኔታ ውስጥ መዘግየትRobotPwrToggleHigh; // የኃይል መቀነሻ (100) ለመቀየር ከዝቅተኛ ወደ ከፍተኛ ሽግግር; // በዚህ ሁኔታ ውስጥ መዘግየትRobotPwrToggleLow;} delayMs (3500); // ለጅምር መዘግየት}} // በሁለቱም ላይ የባውድ ተመን ይለውጡ እና ሞዱል ባውድ (uint8_t baud_code) {if (baud_code = 11) {byteTx (CmdBaud) ፤ UCSR0A | = _BV (TXC0) ፤ byteTx (baud_code) ፤/ / ማስተላለፉ እስኪጠናቀቅ ድረስ ይጠብቁ (! (UCSR0A & _BV (TXC0))) ፤ cli () ፤ // የባውድ መመዝገቢያ መመዝገቢያ (baud_code == Baud115200) UBRR0 = Ubrr115200 ይቀየር ፤ ሌላ ከሆነ (baud_code == Baud57600) UBRR0 = Ubrr77600; ሌላ ከሆነ (baud_code == Baud38400) UBRR0 = Ubrr38400; ሌላ ከሆነ (baud_code == Baud28800) UBRR0 = Ubrr28800; ሌላ ከሆነ (baud_code == Baud19200) UBRR0 = Ubrr19200; ከሆነ (baud_code == Baud9600) UBRR0 = Ubrr9600; ሌላ ከሆነ (baud_code == Baud4800) UBRR0 = Ubrr4800; ሌላ ከሆነ (baud_code == Baud2400) UBRR0 = Ubrr2400; ሌላ ከሆነ (baud_code == Baud1200) ሌላ baud_code == Baud600) UBRR0 = Ubrr600; ሌላ ከሆነ (baud_code == Baud300) UBRR0 = Ubrr300; sei (); delayMs (100);}} // የፍጥነት እና ራዲየስ አንፃፊ (int16_t velocity ፣ int16_t) አንፃር የመንጃ ትዕዛዞችን ይፍጠሩ። ራዲየስ) {byteTx (CmdDrive); byteTx ((uint) & 0x00FF));}

የሚመከር: