ड्राइवट्रेन#

परिचय#

123 रोबोट में दो पहियों वाला ड्राइवट्रेन है जो इसे चलने और मुड़ने की सुविधा देता है। ड्राइवट्रेन प्रणाली रोबोट की गति को नियंत्रित करती है।

ड्राइवट्रेन दूरी को दो तरीकों से माप सकता है: स्टेप्स और मिमी (मिलीमीटर)। एक स्टेप 123 फील्ड पर एक वर्ग के बराबर होता है।

ड्राइवट्रेन को कोड करने के कई तरीके हैं। नीचे ड्राइवट्रेन से संबंधित सभी तरीकों की सूची दी गई है:

कार्य — रोबोट को हिलाएं और घुमाएं।

  • drive — रोबोट को हमेशा के लिए आगे या पीछे ले जाता है।

  • drive_for — रोबोट को एक विशिष्ट दूरी के लिए आगे या पीछे ले जाता है।

  • drive_until — रोबोट को आगे या पीछे तब तक ले जाता है जब तक कि वह किसी वस्तु, दुर्घटना या रेखा का पता नहीं लगा लेता।

  • turn — रोबोट को हमेशा के लिए बाएँ या दाएँ घुमाता है।

  • turn_for — रोबोट को एक विशिष्ट संख्या में डिग्री के लिए बाएँ या दाएँ घुमाता है।

  • turn_to_heading — रोबोट को -359 से 359 डिग्री तक एक विशिष्ट हेडिंग का सामना करने के लिए मोड़ता है।

  • stop — रोबोट की गति को रोकता है।

म्यूटेटर्स — ड्राइवट्रेन सेटिंग्स को समायोजित करें।

  • set_timeout — यह निर्धारित करता है कि रोबोट किसी गतिविधि को पूरा करने के लिए कितनी देर तक प्रयास करेगा।

  • set_heading — रोबोट की वर्तमान दिशा को नई दिशा में बदलता है।

गेटर्स — गतिविधि की स्थिति जांचें।

  • is_stopped — यह बताता है कि रोबोट चलना बंद कर चुका है या नहीं, बूलियन मान के रूप में।

  • get_heading — रोबोट की वर्तमान दिशा 0 से 359 डिग्री तक लौटाता है।

कार्रवाई#

drive#

drive रोबोट को निरंतर आगे या पीछे ले जाता है। रोबोट तब तक चलता रहेगा जब तक उसे कोई और क्रिया, जैसे मुड़ना या रुकना, करने का निर्देश नहीं दिया जाता।

Usage:
robot.drive(direction)

पैरामीटर

विवरण

direction

रोबोट की गति की दिशा: FORWARD या REVERSE।

# Drive for 2 seconds.
robot.drive(FORWARD)
wait(2, SECONDS)
robot.stop()

drive_for#

drive_for कमांड रोबोट को एक निश्चित दूरी तक आगे या पीछे ले जाता है। प्रोजेक्ट रोबोट के चलने के पूरा होने तक प्रतीक्षा करेगा, उसके बाद ही कोड की अगली पंक्ति चलेगी।

Usage:
robot.drive_for(direction, distance, unit)

पैरामीटर

विवरण

direction

रोबोट की गति की दिशा: FORWARD या REVERSE।

distance

रोबोट द्वारा तय की गई दूरी। यह पूर्णांक या दशमलव हो सकती है।

unit

दूरी की इकाई: MM (मिलीमीटर) या STEPS (123 फ़ील्ड पर एक वर्ग)।

# Drive back and forth.
robot.drive_for(FORWARD, 3, STEPS)
robot.drive_for(REVERSE, 3, STEPS)

drive_until#

drive_until रोबोट को तब तक आगे या पीछे ले जाता है जब तक कि वह किसी वस्तु, दुर्घटना या रेखा का पता नहीं लगा लेता।

Usage:
robot.drive_until(direction)

पैरामीटर

विवरण

direction

रोबोट की गति की दिशा: FORWARD या REVERSE।

# Reverse after a crash.
robot.drive_until(FORWARD)
robot.drive_for(REVERSE, 1, STEPS)

turn#

turn रोबोट को हमेशा के लिए बाएँ या दाएँ घुमाता है। रोबोट तब तक घूमता रहेगा जब तक उसे कोई और क्रिया, जैसे चलाना या रोकना, करने को न कहा जाए।

Usage:
robot.turn(direction)

पैरामीटर

विवरण

direction

रोबोट के मुड़ने की दिशा: LEFT या RIGHT।

# Turn for 2 seconds.
robot.turn(RIGHT)
wait(2, SECONDS)
robot.stop()

turn_for#

turn_for रोबोट को एक निश्चित संख्या में डिग्री तक बाएँ या दाएँ घुमाता है। प्रोजेक्ट रोबोट के पूरा घूमने तक प्रतीक्षा करेगा, उसके बाद ही कोड की अगली पंक्ति चलेगी।

Usage:
robot.turn_for(direction, degrees)

पैरामीटर

विवरण

direction

रोबोट के मुड़ने की दिशा: LEFT या RIGHT।

degrees

घुमाने के लिए आवश्यक डिग्री की संख्या। यह एक पूर्णांक या दशमलव संख्या हो सकती है।

# Turn left, then turn around to the right.
robot.turn_for(LEFT, 90)
robot.turn_for(RIGHT, 180)

turn_to_heading#

turn_to_heading रोबोट को -359 से 359 डिग्री के बीच किसी विशिष्ट दिशा में मोड़ता है। रोबोट लक्ष्य दिशा तक पहुँचने के लिए सबसे छोटी दिशा में मुड़ेगा।

प्रारंभिक दिशा 0 डिग्री है।

अगली कोड लाइन चलने से पहले प्रोजेक्ट रोबोट के पूरी तरह से घूमने का इंतजार करेगा।

Usage:
robot.turn_to_heading(heading)

पैरामीटर

विवरण

heading

रोबोट को -359 से 359 डिग्री के बीच की दिशा में मुड़ना चाहिए।

# Turn to face the cardinal directions.
robot.turn_to_heading(90)
wait(2, SECONDS)
robot.turn_to_heading(180)
wait(2, SECONDS)
robot.turn_to_heading(270)
wait(2, SECONDS)
robot.turn_to_heading(0)
wait(2, SECONDS)

stop#

stop रोबोट की गति को रोक देता है।

Usage:
robot.stop()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Stop driving after 4 seconds.
robot.drive(FORWARD)
wait(4, SECONDS)
robot.stop()

उत्परिवर्तक#

set_timeout#

set_timeout निर्धारित करता है कि रोबोट किसी गतिविधि को पूरा करने के लिए कितने सेकंड तक प्रयास करेगा। यदि रोबोट उस समय में गतिविधि पूरी नहीं कर पाता है, तो वह प्रयास करना बंद कर देगा और कोड की अगली पंक्ति पर चला जाएगा। इससे रोबोट को किसी गतिविधि में अटकने से बचाया जा सकता है।

Usage:
robot.set_timeout(time, unit)

पैरामीटर

विवरण

time

किसी गतिविधि के लिए अनुमत समय की अवधि। यह एक पूर्णांक या दशमलव संख्या हो सकती है।

unit

समय इकाई: MSEC या SECONDS.

# Turn right after driving for 1 second.
robot.set_timeout(1, SECONDS)
robot.drive_for(FORWARD, 1000, MM)
robot.turn_for(RIGHT, 90)

set_heading#

set_heading रोबोट की वर्तमान दिशा को एक नए दिशा मान में बदल देता है।

उदाहरण के लिए, यदि रोबोट दाईं ओर मुड़ गया है, तो हेडिंग को 0 डिग्री पर सेट करने से वह दाईं ओर की स्थिति ही नया 0 डिग्री बन जाती है।

Usage:
robot.set_heading(heading)

पैरामीटर

विवरण

heading

रोबोट के लिए निर्धारित की जाने वाली दिशा का मान (डिग्री में)।

# Face the new 0 degree heading.
robot.set_heading(90)
robot.turn_to_heading(0)

टिककर खेल#

is_stopped#

is_stopped एक Boolean लौटाता है जो रिपोर्ट करता है कि रोबोट चलना बंद कर दिया है।

  • True — रोबोट रुका हुआ है।

  • False — रोबोट अभी भी चल रहा है।

Usage:
robot.is_stopped()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Glow blue after a crash.
robot.drive_until(FORWARD)
while True:
    if robot.is_stopped():
        robot.led.glow(BLUE)
    else:
        robot.led.glow(GREEN)
    wait(0.05, SECONDS)

get_heading#

get_heading रोबोट की वर्तमान दिशा को 0 से 359 डिग्री तक की पूर्ण संख्या के रूप में लौटाता है।

रोबोट की प्रारंभिक दिशा 0 डिग्री है।

Usage:
robot.get_heading()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Display the heading after turning.
robot.turn_for(RIGHT, 450)
console.print(robot.get_heading())