Piedziņa#
Ievads#
123. robotam ir divu riteņu piedziņa, kas ļauj tam braukt un pagriezties. Piedziņas metodes kontrolē robota kustību.
Piedziņa var izmērīt attālumu divos veidos: soļos un mm (milimetri). Viens solis ir viens kvadrāts uz 123 Field.
Ir daudz veidu, kā kodēt piedziņas sistēmu. Zemāk ir visu piedziņas sistēmas metožu saraksts:
Darbības — Pārvietot un pagriezt robotu.
drive— Pārvieto robotu uz priekšu vai atpakaļ uz visiem laikiem.drive_for— Pārvieto robotu uz priekšu vai atpakaļ noteiktu attālumu.drive_until— Pārvieto robotu uz priekšu vai atpakaļ, līdz tas konstatē objektu, avāriju vai līniju.turn— Pagriež robotu pa kreisi vai pa labi uz visiem laikiem.turn_for— Pagriež robotu pa kreisi vai pa labi par noteiktu grādu skaitu.turn_to_heading— Pagriež robotu noteiktā virzienā no -359 līdz 359 grādiem.stop— Aptur robota kustību.
Mutatori — pielāgo piedziņas mehānisma iestatījumus.
set_timeout— Iestata, cik ilgi robots mēģinās pabeigt kustību.set_heading— Maina robota pašreizējo virzienu uz jaunu virzienu.
Getteri — pārbaudiet kustības statusu.
is_stopped— Atgriež, vai robots ir apstājies, kā Būla vērtību.get_heading— Atgriež robota pašreizējo virzienu no 0 līdz 359 grādiem.
Darbības#
drive#
drive pārvieto robotu uz priekšu vai atpakaļ bezgalīgi. Robots turpinās kustēties, līdz tam tiks dota cita darbība, piemēram, pagriešana vai apstāšanās.
Usage:
robot.drive(direction)
Parametri |
Apraksts |
|---|---|
|
Robota kustības virziens: |
# Drive for 2 seconds.
robot.drive(FORWARD)
wait(2, SECONDS)
robot.stop()
drive_for#
drive_for pārvieto robotu uz priekšu vai atpakaļ noteiktu attālumu. Projekts gaidīs, līdz robots būs pabeidzis kustību, pirms tiks palaista nākamā koda rinda.
Usage:
robot.drive_for(direction, distance, unit)
Parametri |
Apraksts |
|---|---|
|
Robota kustības virziens: |
|
Robota nobrauktais attālums. Tas var būt vesels skaitlis vai decimālskaitlis. |
|
Attāluma mērvienība: |
# Drive back and forth.
robot.drive_for(FORWARD, 3, STEPS)
robot.drive_for(REVERSE, 3, STEPS)
drive_until#
drive_until pārvieto robotu uz priekšu vai atpakaļ, līdz tas konstatē objektu, avāriju vai līniju.
Usage:
robot.drive_until(direction)
Parametri |
Apraksts |
|---|---|
|
Robota kustības virziens: |
# Reverse after a crash.
robot.drive_until(FORWARD)
robot.drive_for(REVERSE, 1, STEPS)
turn#
turn pagriež robotu pa kreisi vai pa labi uz visiem laikiem. Robots turpinās griezties, līdz tam tiks dota cita darbība, piemēram, braukšana vai apstāšanās.
Usage:
robot.turn(direction)
Parametri |
Apraksts |
|---|---|
|
Robota griešanās virziens: |
# Turn for 2 seconds.
robot.turn(RIGHT)
wait(2, SECONDS)
robot.stop()
turn_for#
turn_for pagriež robotu pa kreisi vai pa labi par noteiktu grādu skaitu. Projekts gaidīs, līdz robots būs pabeidzis pagriešanos, pirms tiks palaista nākamā koda rinda.
Usage:
robot.turn_for(direction, degrees)
Parametri |
Apraksts |
|---|---|
|
Robota griešanās virziens: |
|
Pagriešanas grādu skaits. Tas var būt vesels skaitlis vai decimālskaitlis. |
# Turn left, then turn around to the right.
robot.turn_for(LEFT, 90)
robot.turn_for(RIGHT, 180)
turn_to_heading#
turn_to_heading pagriež robotu noteiktā virzienā no -359 līdz 359 grādiem. Robots pagriezīsies īsākajā virzienā, lai sasniegtu mērķa virzienu.
Sākuma kurss ir 0 grādi.
Projekts gaidīs, līdz robots būs pabeidzis griešanos, pirms tiks palaista nākamā koda rinda.
Usage:
robot.turn_to_heading(heading)
Parametri |
Apraksts |
|---|---|
|
Robota virziens no -359 līdz 359 grādiem. |
# 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 aptur robota kustību.
Usage:
robot.stop()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# Stop driving after 4 seconds.
robot.drive(FORWARD)
wait(4, SECONDS)
robot.stop()
Mutatori#
set_timeout#
set_timeout nosaka, cik sekundes robots mēģinās pabeigt kustību. Ja robots nevar pabeigt šajā laikā, tas pārtrauks mēģinājumu un pāries uz nākamo koda rindiņu. Tas neļauj robotam iestrēgt kustībā.
Usage:
robot.set_timeout(time, unit)
Parametri |
Apraksts |
|---|---|
|
Laiks, kas nepieciešams kustības veikšanai. Tas var būt vesels skaitlis vai decimālskaitlis. |
|
Laika mērvienība: |
# 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 maina robota pašreizējo virzienu uz jaunu virziena vērtību.
Piemēram, ja robots ir pagriezies pa labi, virziena iestatīšana uz 0 grādiem padara šo labo pusi vērsto pozīciju par jauno 0 grādu.
Usage:
robot.set_heading(heading)
Parametri |
Apraksts |
|---|---|
|
Robota virziena vērtība grādos, kas jāiestata. |
# Face the new 0 degree heading.
robot.set_heading(90)
robot.turn_to_heading(0)
Getteri#
is_stopped#
is_stopped atgriež Boolean, kas ziņo, vai robots ir apstājies kustībā.
True— Robots ir apturēts.False— Robots joprojām kustas.
Usage:
robot.is_stopped()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 atgriež robota pašreizējo virzienu kā veselu skaitli no 0 līdz 359 grādiem.
Robota sākuma virziens ir 0 grādi.
Usage:
robot.get_heading()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# Display the heading after turning.
robot.turn_for(RIGHT, 450)
console.print(robot.get_heading())