ഡ്രൈവ്ട്രെയിൻ#
ആമുഖം#
123 റോബോട്ടിന് ഇരുചക്ര ഡ്രൈവ്ട്രെയിൻ ഉണ്ട്, അത് അതിനെ ഓടിക്കാനും തിരിയാനും അനുവദിക്കുന്നു. റോബോട്ട് എങ്ങനെ നീങ്ങുന്നു എന്നത് ഡ്രൈവ്ട്രെയിൻ രീതികൾ നിയന്ത്രിക്കുന്നു.
ഡ്രൈവ്ട്രെയിനിന് ദൂരം രണ്ട് തരത്തിൽ അളക്കാൻ കഴിയും: പടികൾ, mm (മില്ലീമീറ്റർ). ഒരു പടി എന്നത് 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)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
റോബോട്ട് നീങ്ങുന്ന ദിശ: |
# Drive for 2 seconds.
robot.drive(FORWARD)
wait(2, SECONDS)
robot.stop()
drive_for#
drive_for റോബോട്ടിനെ ഒരു പ്രത്യേക ദൂരത്തേക്ക് മുന്നോട്ടോ പിന്നോട്ടോ നീക്കുന്നു. അടുത്ത കോഡ് വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് റോബോട്ട് നീങ്ങുന്നത് പൂർത്തിയാകുന്നതുവരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.
Usage:
robot.drive_for(direction, distance, unit)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
റോബോട്ട് നീങ്ങുന്ന ദിശ: |
|
റോബോട്ട് ഓടിക്കുന്ന ദൂരം. ഇത് ഒരു പൂർണ്ണസംഖ്യയോ ദശാംശമോ ആകാം. |
|
ദൂര യൂണിറ്റ്: |
# 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)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
റോബോട്ട് നീങ്ങുന്ന ദിശ: |
# Reverse after a crash.
robot.drive_until(FORWARD)
robot.drive_for(REVERSE, 1, STEPS)
turn#
turn റോബോട്ടിനെ എന്നെന്നേക്കുമായി ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു. വാഹനമോടിക്കുകയോ നിർത്തുകയോ പോലുള്ള മറ്റൊരു പ്രവർത്തനം നൽകുന്നതുവരെ റോബോട്ട് തിരിയുന്നത് തുടരും.
Usage:
robot.turn(direction)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
റോബോട്ട് തിരിയുന്ന ദിശ: |
# Turn for 2 seconds.
robot.turn(RIGHT)
wait(2, SECONDS)
robot.stop()
turn_for#
turn_for റോബോട്ടിനെ ഒരു നിശ്ചിത എണ്ണം ഡിഗ്രികൾ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു. കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് റോബോട്ട് തിരിയുന്നത് വരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.
Usage:
robot.turn_for(direction, 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)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
റോബോട്ട് അഭിമുഖീകരിക്കേണ്ട തലക്കെട്ട് -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)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
ഒരു ചലനത്തിന് അനുവദിക്കുന്ന സമയം. ഇത് ഒരു പൂർണ്ണസംഖ്യയോ ദശാംശമോ ആകാം. |
|
സമയ യൂണിറ്റ്: |
# 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)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
റോബോട്ടിനായി സജ്ജമാക്കേണ്ട ഹെഡ്ഡിംഗ് മൂല്യം, ഡിഗ്രികളിൽ. |
# 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())