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

direction

Robota kustības virziens: FORWARD vai REVERSE.

# 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

direction

Robota kustības virziens: FORWARD vai REVERSE.

distance

Robota nobrauktais attālums. Tas var būt vesels skaitlis vai decimālskaitlis.

unit

Attāluma mērvienība: MM (milimetri) vai STEPS (viens kvadrāts uz 123. lauka).

# 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

direction

Robota kustības virziens: FORWARD vai REVERSE.

# 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

direction

Robota griešanās virziens: LEFT vai RIGHT.

# 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

direction

Robota griešanās virziens: LEFT vai RIGHT.

degrees

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

heading

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

time

Laiks, kas nepieciešams kustības veikšanai. Tas var būt vesels skaitlis vai decimālskaitlis.

unit

Laika mērvienība: MSEC vai 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 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

heading

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())