ዝርዝር ሁኔታ:
- ደረጃ 1 - አስፈላጊ አካላት
- ደረጃ 2 ሮቦትን መሰብሰብ
- ደረጃ 3 - የራስዎን ማዘር ይፍጠሩ - እንደ አማራጭ
- ደረጃ 4 - አካባቢን ማቀናበር
- ደረጃ 5 - GiggleBot ን ፕሮግራም ማድረግ - ክፍል አንድ
- ደረጃ 6 - የርቀት ፕሮግራምን - ክፍል II
- ደረጃ 7 - የርቀት ማያ ገጽን መተርጎም
ቪዲዮ: በጊግቦቦት -8 ደረጃዎች በሊዳር የሚመራ ሮቦት ይስሩ
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
በዚህ መማሪያ ውስጥ GiggleBot የማይልን ችግሮች እንዲፈታ እያደረግን ነው።
እኛ የርቀት ዳሳሽ ባያያዝንበት GiggleBot ላይ servo እንጭናለን። በሚሮጥበት ጊዜ የርቀት ዳሳሹ ለእያንዳንዱ መሰናክል ርቀቱን ለመለካት እንዲችል servo ወደ ኋላ እና ወደ ፊት ይሽከረከራል። ይህ እንደ LIDAR ዳሳሽ ይሠራል ፣ እሱም ብዙውን ጊዜ በጣም ውድ ነው።
በተመሳሳይ ጊዜ ጊግሌቦት ይህንን መረጃ ወደ ሩቅ የቢቢሲ ማይክሮ-ቢት በ 5-በ -5 ማትሪክስ የኤልዲኤስ ማነፃፀሪያዎቹ ላይ ለሚገጥሙት እንቅፋቶች አንጻራዊ ቦታውን እየላከ ነው።
የእርስዎ ሥራ ጊግሌቦትን ማሰስ መቻል በሌላ የቢቢሲ ማይክሮ ቢት ላይ የሚታየውን በማየት ብቻ ነው። GiggleBot ን ለመቆጣጠር በርቀት በቢቢሲ ማይክሮ ላይ ያሉት አዝራሮች ጥቅም ላይ ይውላሉ።
ያ አስደሳች ይመስላል! ወደ እሱ እንውረድ?
ደረጃ 1 - አስፈላጊ አካላት
እኛ ያስፈልገናል:
- አንድ GiggleBot።
- ለቢቢሲ ማይክሮ ቢት የባትሪ ጥቅል። በጥቅሉ ውስጥ ከቢቢሲ ማይክሮ -ቢት ጋር አብሮ ይመጣል።
- ለ GiggleBot x3 AA ባትሪዎች።
- የርቀት ዳሳሹን ከ GiggleBot ጋር ለማገናኘት ግሮቭ ገመድ።
- ከ DexterIndustries አንድ Servo ኪት።
- x3 ቢቢሲ ማይክሮ ቢት። አንዱ ለ GiggleBot እና አንዱ ሮቦትን ከሩቅ ለመቆጣጠር ያገለግላል።
- የርቀት ዳሳሽ ከ DexterIndustries።
GiggleBot ሮቦትን ለቢቢሲ ማይክሮ -ቢት እዚህ ያግኙ!
ደረጃ 2 ሮቦትን መሰብሰብ
GiggleBot ለፕሮግራም ዝግጁ ለማድረግ ፣ ምንም እንኳን ብዙ መደረግ ባይኖርበትም መሰብሰብ አለብን።
በጊግቦቦቱ ስር 3 AA ባትሪዎችን በእሱ ክፍል ውስጥ ያስገቡ።
የ servo ጥቅሉን ያሰባስቡ። ወደ ሰርቦው ወደሚሽከረከረው ክንዱ ፣ በጊግቦቦት የፊት ማያያዣዎች ላይ አገልጋዩን ለመጠገን የመጨረሻውን ቀዳዳ ይጠቀሙ። በእሱ ቦታ ላይ የበለጠ የተረጋጋ እንዲሆን ዊንች እና/ወይም አንዳንድ ሽቦን መጠቀም ይችላሉ። ወይም በቦርዱ ላይ ሙጫውን ማጣበቅ ይችላሉ። በእኔ ሁኔታ ፣ የ servo ክንድን በጊግቦቦት ሰሌዳ ላይ ለማሰር ጠመዝማዛ እና አጭር ሽቦ እጠቀም ነበር።
የ servo ክንድን ወደ servo ላይ ሲጭኑ ፣ ሰርቪው ቀድሞውኑ ወደ ቦታው 80 መዘጋጀቱን ያረጋግጡ። gigglebot.set_servo (gigglebot. RIGHT ፣ 80) በመደወል ያንን ማድረግ ይችላሉ። ስለዚያ የበለጠ እዚህ ማንበብ ይችላሉ።
በመቀጠልም የርቀት ዳሳሹን በ servo ጥቅል ፊት ለፊት በኩል ያድርጉት እና ከላይ ባለው ምሳሌ ውስጥ እንደነበረው ያስተካክሉት።
በመጨረሻም የርቀት ዳሳሹን ከግሮቭ ገመድ ከማንኛውም የ 2 I2C ወደቦች እና የ servo ሞተር በ GiggleBot ላይ ከተቀመጠው ወደ ቀኝ ወደብ ያገናኙ - ትክክለኛው ወደብ በላዩ ላይ ተጠቅሷል።
ደረጃ 3 - የራስዎን ማዘር ይፍጠሩ - እንደ አማራጭ
በዚህ ሁኔታ ፣ ከ NASCAR ጋር የሚመሳሰል የተዘጋ ሉፕ ትራክ ለመፍጠር ብዙ ሳጥኖችን ተጠቅሜያለሁ።
በዚህ ደረጃ ፣ በእውነቱ ፈጠራን ማግኘት እና እርስዎ የሚፈልጉትን ያህል ጠማማ ማድረግ ወይም በጣም ረጅም ማድረግ ይችላሉ ምክንያቱም በእውነቱ በእርስዎ ላይ የተመሠረተ ነው።
ወይም ትራክ በጭራሽ የማይፈልጉ ከሆነ ፣ ለምሳሌ ጊግሌቦትን በወጥ ቤት ውስጥ ወይም ሳሎን ውስጥ ማስቀመጥ ይችላሉ - አሁንም ብዙ ግድግዳዎች እና መሰናክሎች ስለሚኖሩዎት በቂ መሆን አለበት።
ደረጃ 4 - አካባቢን ማቀናበር
በማይክሮ ፓይቶን ውስጥ የቢቢሲ ማይክሮ -ቢት ፕሮግራም ማድረግ እንዲችሉ ለእሱ (ለሙ አርታኢ) አርታዒ ማዘጋጀት እና GiggleBot MicroPython Runtime ን እንደ ሥራው ጊዜ ማዘጋጀት አለብዎት። ለዚያ ፣ በዚህ ገጽ ላይ ያሉትን መመሪያዎች መከተል አለብዎት። በዚህ ቅጽበት ፣ የአሂደቱ ጊዜ v0.4.0 ስሪት ጥቅም ላይ ውሏል።
ደረጃ 5 - GiggleBot ን ፕሮግራም ማድረግ - ክፍል አንድ
በመጀመሪያ ፣ የጊግቦቦትን ስክሪፕት እናዘጋጅ። ይህ ስክሪፕት GiggleBot የ servo ሞተር 160 ዲግሪዎች (በእያንዳንዱ አቅጣጫ 80 ዲግሪዎች) እንዲሽከረከር እና በተመሳሳይ ጊዜ ከርቀት ዳሳሽ 10 ንባቦችን በየተራ እንዲወስድ ያደርገዋል።
ሲበራ GiggleBot ከርቀት መቆጣጠሪያው ትእዛዝ እስኪያገኝ ድረስ ይቆማል። 3 ትዕዛዞች ብቻ ሊሆኑ ይችላሉ -ወደ ፊት ፣ ወደ ግራ ወይም ወደ ቀኝ ይሂዱ።
ማሳሰቢያ -የሚከተለው ስክሪፕት የነጭ ቦታዎች ሊኖሩት ይችላል እና ይህ የ GitHub Gists ን በማሳየት ምክንያት በሆነ ችግር ምክንያት ይመስላል። ኮዱን መቅዳት እና መለጠፍ ወደሚችልበት ወደ GitHub ገጽዎ ሊወስድዎት የሚገባውን ቁልፍ ጠቅ ያድርጉ።
በርቀት ቁጥጥር የሚደረግበት በ LIDAR ላይ የተመሠረተ GiggleBot
ከ gigglebot ማስመጣት* |
ከርቀት_ሴንሰር ማስመጣት DistanceSensor |
ከማይክሮቢት ማስመጣት እንቅልፍ |
ከ utime ማስመጣት ticks_us ፣ sleep_us |
ማስመጣት ustruct |
ሬዲዮ አስመጣ |
ሮቦቱ ቀድሞውኑ የሚንቀሳቀስ ከሆነ # ያቁሙ |
ተወ() |
# ሬዲዮን ያንቁ |
radio.on () |
# የርቀት ዳሳሽ ነገር |
ds = DistanceSensor () |
ds.start_continuous () |
rotate_time = 0.7# በሰከንዶች ይለካል |
rotate_span = 160# በዲግሪዎች ይለካል |
rotate_steps = 10 |
overhead_compensation = 1.05# በመቶኛ ተተርጉሟል |
time_per_step = 10 ** 6* rotate_time / (rotate_steps* overhead_compensation) |
last_read_time = 0 |
ራዳር = bytearray (rotate_steps) |
servo_rotate_direction = 0# 0 ወደ ላይ ለመውጣት (0-> 160) እና 1 በሌላ |
radar_index = 0 |
set_servo (RIGHT ፣ 0) |
እውነት: |
# ከራዳር ያንብቡ |
ticks_us () ከሆነ - የመጨረሻ_ንባብ_ጊዜ> ጊዜ_per_step: |
# ከርቀት ዳሳሽ ያንብቡ |
ራዳር [radar_index] = int (ds.read_range_continuous () /10) |
last_read_time = ticks_us () |
ህትመት (radar_index) |
# አገልጋዩን ከግራ ወደ ቀኝ ለማሽከርከር አመክንዮ ያድርጉ |
radar_index == rotate_steps -1 እና servo_rotate_direction == 0 ከሆነ |
set_servo (RIGHT ፣ 0) |
servo_rotate_direction = 1 |
elif radar_index == 0 እና servo_rotate_direction == 1: |
set_servo (RIGHT ፣ rotate_span) |
servo_rotate_direction = 0 |
ሌላ |
radar_index += 1if servo_rotate_direction == 0else-1 |
# እና የራዳር እሴቶችን ይላኩ |
radio.send_bytes (ራዳር) |
ሞክር |
# የሮቦት ትዕዛዞችን ያንብቡ |
lmotor, rmotor = ustruct.unpack ('bb', radio.receive_bytes ()) |
# የተቀበሉ ትዕዛዞች ካሉ # ሞተሮችን ያንቀሳቅሱ |
set_speed (lmotor, rmotor) |
መንዳት () |
ከታይፕ ስህተት በስተቀር |
ማለፍ |
በ GitHub በ hosted የተስተናገደ rawgigglebot_lidar_robot.py ን ይመልከቱ
ደረጃ 6 - የርቀት ፕሮግራምን - ክፍል II
ሊደረግ የቀረው እንደ በርቀት የሚሠራውን 2 ኛ ቢቢሲ ማይክሮ -ቢት ማዘጋጀት ነው።
የርቀት መቆጣጠሪያው እንቅፋቶችን አንጻራዊ ርቀት በ 5-በ -5 ፒክሰል በተሠራ ማያ ገጹ ላይ ለማሳየት ያገለግላል። ቢበዛ 10 ፒክሰሎች በርተዋል።
በተመሳሳይ ጊዜ የርቀት መቆጣጠሪያው ጊግቦቦትን 2 ቁልፎቹን በመጫን የርቀት መቆጣጠሪያ ችሎታዎችን ይሰጥዎታል -ወደ ፊት ፣ ወደ ግራ እና ወደ ቀኝ ይሂዱ።
ማሳሰቢያ -የሚከተለው ስክሪፕት የነጭ ቦታዎች ሊኖሩት ይችላል እና ይህ የ GitHub Gists ን በማሳየት ምክንያት በሆነ ችግር ምክንያት ይመስላል። ኮዱን መቅዳት እና መለጠፍ ወደሚችልበት ወደ GitHub ገጽዎ ሊወስድዎት የሚገባውን ቁልፍ ጠቅ ያድርጉ።
በርቀት ቁጥጥር የሚደረግበት በ LIDAR ላይ የተመሠረተ GiggleBot - የርቀት ኮድ
ከማይክሮቢት ማስመጣት እንቅልፍ ፣ ማሳያ ፣ button_a ፣ button_b |
ማስመጣት ustruct |
ሬዲዮ አስመጣ |
ማስመጣት ሂሳብ |
radio.on () |
rotate_steps = 10 |
rotate_span = 160# በዲግሪዎች |
rotate_step = rotate_span / rotate_steps |
max_distance = 50# በሴንቲሜትር |
የጎን_መጠን_መንገዶች = 3 # በፒክሰሎች # ይለካሉ |
ራዳር = bytearray (rotate_steps) |
xar = bytearray (rotate_steps) |
yar = bytearray (rotate_steps) |
save_xar = bytearray (rotate_steps) |
save_yar = bytearray (rotate_steps) |
ሞተር_ፍጥነት = 50 |
እውነት: |
ሁኔታ = radio.receive_bytes_into (ራዳር) |
ሁኔታ ካልሆነ ማንም የለም |
# ማሳያ። ግልፅ () |
ለ c ፣ val inenumerate (ራዳር) |
ራዳር ከሆነ [c] <= max_distance: |
# የእያንዳንዱ ርቀት 2 ዲ መጋጠሚያዎችን ያስሉ |
ማዕዘን = rotate_steps / (rotate_steps -1) * rotate_step * ሐ |
አንግል += (180- rotate_span) /2.0 |
x_c = math.cos (አንግል * math.pi /180.0) * ራዳር [ሐ] |
y_c = math.sin (አንግል * math.pi /180.0) * ራዳር [ሐ] |
በ 5x5 ማይክሮቢት ማሳያ ላይ ለመገጣጠም # ርቀቶችን ይለኩ |
x_c = x_c * (side_length_leds -1) / max_distance |
y_c = y_c * (side_length_leds +1) / max_distance |
# ዳግም አቀማመጥ መጋጠሚያዎች |
x_c += (የጎን_ ርዝመት_መረጃዎች -1) |
y_c = (የጎን_ርዝመት_ላይዶች +1) - y_c |
LED ዎች የሚገኙበት # ክብ መጋጠሚያዎች በትክክል |
ከሆነ x_c - math.floor (x_c) <0.5: |
x_c = math.floor (x_c) |
ሌላ |
x_c = math.ceil (x_c) |
ከሆነ y_c - math.floor (y_c) <0.5: |
y_c = math.floor (y_c) |
ሌላ |
y_c = math.ceil (y_c) |
xar [c] = x_c |
yar [c] = y_c |
ሌላ |
xar [c] = 0 |
ያር [ሐ] = 0 |
ማሳያ። ግልጽ () |
ለ x ፣ y inzip (xar ፣ yar) |
display.set_pixel (x, y, 9) |
# ማተም (ዝርዝር (ዚፕ (xar ፣ yar ፣ ራዳር))) |
stateA = button_a.is_pressed () |
stateB = button_b.is_pressed () |
stateA እና stateB ከሆነ: |
radio.send_bytes (ustruct.pack ('bb', motor_speed, motor_speed)) |
ማተም ('ወደፊት') |
ግዛት ከሆነ እና ሁኔታ B ካልሆነ: |
radio.send_bytes (ustruct.pack ('ቢቢ' ፣ ሞተር_ስፔድ ፣ -ሞተር_ስፔድ)) |
ማተም ('ግራ') |
ሁኔታ ካልሆነ ሀ እና ግዛት ቢ: |
radio.send_bytes (ustruct.pack ('bb', -motor_speed, motor_speed)) |
ማተም ('ቀኝ') |
ሁኔታ ካልሆነ A andnot stateB: |
radio.send_bytes (ustruct.pack ('bb', 0, 0)) |
ማተም ('አቁም') |
በ GitHub በ hosted የተስተናገደ rawgigglebot_lidar_remote.py ን ይመልከቱ
ደረጃ 7 - የርቀት ማያ ገጽን መተርጎም
“ጭነት =” ሰነፍ”ጊግቦትን ይቆጣጠሩ ፣ የሚከተሉት አማራጮች አሉዎት
- GiggleBot ን ወደ ፊት ለማንቀሳቀስ አዝራሩን ሀ እና ቁልፍን ይጫኑ።
- GiggleBot ን ወደ ግራ ለማሽከርከር ቁልፍን ሀ ይጫኑ።
- GiggleBot ን ወደ ቀኝ ለማሽከርከር B ቁልፍን ይጫኑ።
በጣም ቅርብ የሆኑ መሰናክሎች ወደየትኛው አቅጣጫ እንደተገኙ ለማየት የርቀት መቆጣጠሪያውን (የርቀት ቢቢሲ ማይክሮ - የያዙት ቢት) ማያ ገጽ ላይ ብቻ ይመልከቱ። GiggleBot ን ሳይመለከቱ ከሩቅ መቆጣጠር መቻል አለብዎት።
የሚመከር:
ያለ 3 ዲ አታሚ እና አርዱinoኖ/#ብልጥ ፈጠራ - 11 ደረጃዎች (ከስዕሎች ጋር) የዳንስ ሮቦት ይስሩ።
ያለ 3 ዲ አታሚ እና አርዱinoኖ/#ብልጥ ፈጠራ/የዳንስ ሮቦት ይስሩ - ሰላም ወዳጆች ፣ በዚህ ትምህርት ውስጥ ያለ 3 ዲ አታሚ እና ያለ አርዱinoኖ ያለ ዳንስ ሮቦት በቤት ውስጥ እንዴት እንደሚሠሩ አሳያችኋለሁ። ይህ ሮቦት መደነስ ፣ ራስ -ማመጣጠን ፣ ሙዚቃ ማምረት እና መራመድ ይችላል። እና የሮቦት ንድፍ እንዲሁ በጣም አሪፍ ይመስላል
የተመጣጠነ ሮቦት / 3 የጎማ ሮቦት / STEM ሮቦት 8 ደረጃዎች
የተመጣጠነ ሮቦት / 3 የጎማ ሮቦት / STEM ሮቦት - በትምህርት ቤቶች ውስጥ እና ከት / ቤት ትምህርታዊ ትምህርቶች በኋላ ለትምህርታዊ አጠቃቀም የተቀናጀ ሚዛን እና 3 ጎማ ሮቦት ገንብተናል። ሮቦቱ የተመሠረተው በአርዱዲኖ ኡኖ ፣ ብጁ ጋሻ (ሁሉም የግንባታ ዝርዝሮች ቀርበዋል) ፣ የ Li Ion ባትሪ ጥቅል (ሁሉም ገንቢ
[አርዱinoኖ ሮቦት] እንዴት ተንቀሳቃሽ እንቅስቃሴ ሮቦት እንደሚሰራ - አውራ ጣቶች ሮቦት - ሰርቮ ሞተር - የምንጭ ኮድ 26 ደረጃዎች (ከስዕሎች ጋር)
[አርዱinoኖ ሮቦት] እንዴት ተንቀሳቃሽ እንቅስቃሴ ሮቦት እንደሚሰራ | አውራ ጣቶች ሮቦት | ሰርቮ ሞተር | የምንጭ ኮድ - አውራ ጣቶች ሮቦት። የ MG90S servo ሞተር የ potentiometer ን ተጠቅሟል። በጣም አስደሳች እና ቀላል ነው! ኮዱ በጣም ቀላል ነው። እሱ ወደ 30 መስመሮች ብቻ ነው። እንቅስቃሴ-መያዝ ይመስላል። እባክዎን ማንኛውንም ጥያቄ ወይም ግብረመልስ ይተዉ! [መመሪያ] ምንጭ ኮድ https: //github.c
ከድር ጋር የተገናኘ ሮቦት ይስሩ (ለ 500 ዶላር ያህል) (አርዱዲኖ እና ኔትቡክ በመጠቀም) 6 ደረጃዎች (ከስዕሎች ጋር)
ከድር ጋር የተገናኘ ሮቦት ይስሩ (ለ $ 500 ዶላር) (አርዱዲኖ እና ኔትቡክ በመጠቀም)-ይህ አስተማሪ የእራስዎን የድር የተገናኘ ሮቦት እንዴት እንደሚገነቡ ያሳየዎታል (የአርዱዲኖ ማይክሮ መቆጣጠሪያ እና የ Asus eee pc በመጠቀም)። ለምን ድር ይፈልጋሉ? የተገናኘ ሮቦት? በእርግጥ ለመጫወት። ሮቦትዎን ከክፍሉ ማዶ ወይም በመቁጠር ላይ ይንዱ
ሮቦት ይስሩ !: 16 ደረጃዎች (ከስዕሎች ጋር)
ሮቦት ይስሩ !: ይህ አስተማሪ በ LEDs የሚያበራ የሮቦት ቅርፃ ቅርፅ እንዴት እንደሚፈጥሩ ያሳየዎታል። ጠቅላላው ፕሮጀክት በጣም ርካሽ ነው። ሁሉም ክፍሎች በቤቱ ዙሪያ እና በአከባቢው ሃርድዌር እና የእጅ ሥራ መደብር ውስጥ ሊገኙ ይችላሉ። ደረጃ በደረጃ አሳያችኋለሁ