Bericht#
Invoering#
Twee VEX AIM-codeerrobots kunnen aan elkaar gekoppeld worden zodat ze tijdens een project met elkaar kunnen communiceren. Met behulp van berichtblokken kan de ene robot een bericht naar de andere sturen. Een bericht kan bestaan uit alleen tekst, of uit tekst in combinatie met een getal.
Ontvangen berichten worden opgeslagen in een FIFO-wachtrij (first-in, first-out). Dit betekent dat het eerste bericht dat binnenkomt, ook als eerste wordt gelezen.
Gebruik een laatste bericht ophalen blok om het volgende ontvangen bericht op te slaan. Gebruik vervolgens het laatste bericht reporterblok om de opgeslagen tekst te lezen. Als het bericht ook een getal bevat, gebruik dan laatste bericht ophalen met gegevens om beide waarden op te slaan en gebruik vervolgens laatste bericht en laatste gegevens om ze te lezen.
Let op: Om berichten te kunnen verzenden en ontvangen, moeten beide robots gekoppeld zijn en moeten beide robots projecten uitvoeren die gebruikmaken van berichtblokken.
Hieronder vindt u een lijst van alle blokken:
Waarden — Lees berichtinformatie of controleer de bericht- en verbindingsstatus.
laatste bericht — Toont het meest recent opgeslagen tekstbericht.
laatste gegevens — Geeft het meest recent opgeslagen getal weer.
is bericht beschikbaar? — Geeft aan of een bericht beschikbaar is om te lezen.
is verbonden? — Rapporteert of de robot is verbonden met een andere robot.
naam van de gekoppelde robot — Geeft de naam van de gekoppelde robot weer.
Acties — Berichten verzenden of ontvangen.
bericht verzenden — Verzendt tekst naar de gekoppelde robot.
bericht met gegevens verzenden — Verzendt tekst en een nummer naar de gekoppelde robot.
laatste bericht ophalen — Slaat het volgende ontvangen sms-bericht op.
laatste bericht met gegevens ophalen — Slaat het volgende ontvangen sms-bericht en nummer op.
Waarden#
laatste bericht#
Het laatste bericht-rapportblok geeft het meest recent opgeslagen tekstbericht weer. Dit blok ontvangt zelf geen nieuw bericht. Gebruik eerst laatste bericht ophalen of laatste bericht met gegevens ophalen, en gebruik vervolgens laatste bericht om de opgeslagen tekst weer te geven of in een ander blok te gebruiken.
(laatste bericht)
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
Robot 1
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [Hello, Robot 2!]
Robot 2
wanneer gestart
[Code for Robot 2.]
[Display the message Robot 1 sends.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
haal laatste bericht op
druk (laatste bericht) af op scherm ▶
meest recente gegevens#
Het laatste gegevens-rapportageblok rapporteert het meest recent opgeslagen getal uit een bericht dat gegevens bevatte. Dit blok haalt zelf geen nieuw getal op. Gebruik eerst laatste bericht met gegevens ophalen en gebruik vervolgens laatste gegevens in een ander blok, bijvoorbeeld voor een rijafstand, richting of snelheid.
(laatste gegevens)
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
Robot 1
wanneer gestart
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
druk [Robot 1] af op scherm ▶
altijd
stuur bericht [heading] met gegevens (koers in graden)
einde
Robot 2
wanneer gestart
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
druk [Robot 2] af op scherm ▶
altijd
als <is bericht beschikbaar?> dan
haal laatste bericht met gegevens op
draai naar koers (laatste gegevens) graden ▶
einde
einde
Is het bericht beschikbaar?#
Het Booleaanse blok is bericht beschikbaar? geeft aan of er een bericht in de berichtenwachtrij staat. Gebruik dit blok vóór laatste bericht ophalen of laatste bericht met gegevens ophalen, zodat de ontvangende robot pas probeert een bericht op te slaan nadat er daadwerkelijk een bericht is aangekomen.
Klopt — Er is een bericht beschikbaar om te lezen.
Onjuist — Er zijn geen berichten beschikbaar om te lezen.
<is bericht beschikbaar?>
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
Robot 1
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [message]
Robot 2
wanneer gestart
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
druk [Received!] af op scherm ▶
Is het verbonden?#
Het Booleaanse blok is verbonden? geeft aan of de robot is verbonden met een andere robot. Gebruik dit blok vóór het verzenden van berichten of het wachten op berichten als het project moet controleren of de robot-naar-robotverbinding gereed is.
Klopt — De robot is verbonden met een andere robot.
Onjuist — De robot is niet gekoppeld aan een andere robot.
<verbonden?>
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Turn off one of the linked robots to see the message change.]
altijd
wis scherm
druk <verbonden?> af op scherm ▶
einde
gekoppelde robotnaam#
Het linked robot name reporterblok geeft de naam van de gekoppelde robot weer. Gebruik dit blok om te laten zien welke robot is verbonden voordat je berichten verzendt of ontvangt. Als er geen robot is gekoppeld, geeft dit blok Geen weer.
(naam van gekoppelde robot)
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Display the name of the robot that is linked.]
druk (naam van gekoppelde robot) af op scherm ▶
Acties#
bericht verzenden#
Het stackblok bericht verzenden stuurt tekst naar de gekoppelde robot. Gebruik dit blok op één robot wanneer de andere robot een commando, signaal of kort stukje informatie moet ontvangen. Gebruik op de ontvangende robot is bericht beschikbaar? om te controleren of er een bericht is aangekomen, en gebruik vervolgens laatste bericht ophalen voordat je het leest met laatste bericht.
stuur bericht [message]
Parameter |
Beschrijving |
|---|---|
bericht |
De tekst die naar de gekoppelde robot moet worden verzonden. |
Voorbeeld
Robot 1
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [Hello, Robot 2!]
Robot 2
wanneer gestart
[Code for Robot 2.]
[Display the message Robot 1 sends.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
haal laatste bericht op
druk (laatste bericht) af op scherm ▶
Bericht verzenden met gegevens#
Het stackblok bericht verzenden met gegevens verzendt tekst en een getal naar de gekoppelde robot. Gebruik dit blok wanneer het bericht een label en een getal nodig heeft, bijvoorbeeld om richting te verzenden met de huidige richtingwaarde van de robot. Gebruik op de ontvangende robot is bericht beschikbaar? om te controleren of er een bericht is aangekomen, en gebruik vervolgens laatste bericht met gegevens ophalen voordat u de tekst leest met laatste bericht en het getal met laatste gegevens.
stuur bericht [message] met gegevens [0]
Parameter |
Beschrijving |
|---|---|
bericht |
De tekst die naar de gekoppelde robot moet worden verzonden. |
gegevens |
Het nummer dat met het bericht moet worden meegestuurd. |
Voorbeeld
Robot 1
wanneer gestart
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
druk [Robot 1] af op scherm ▶
altijd
stuur bericht [heading] met gegevens (koers in graden)
einde
Robot 2
wanneer gestart
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
druk [Robot 2] af op scherm ▶
altijd
als <is bericht beschikbaar?> dan
haal laatste bericht met gegevens op
draai naar koers (laatste gegevens) graden ▶
einde
einde
ontvang het laatste bericht#
Het stackblok laatste bericht ophalen haalt het eerstvolgende ontvangen tekstbericht uit de berichtenwachtrij en slaat het op, zodat het project het kan gebruiken. Gebruik dit blok nadat is bericht beschikbaar? True rapporteert en voordat u laatste bericht gebruikt. Dit helpt de ontvangende robot het bericht op te slaan voordat hij het probeert weer te geven, te vergelijken of in een ander blok te gebruiken.
Gebruik bericht verzenden op de andere robot om een bericht te verzenden dat alleen uit tekst bestaat.
haal laatste bericht op
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
Robot 1
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [Hello, Robot 2!]
Robot 2
wanneer gestart
[Code for Robot 2.]
[Display the message Robot 1 sends.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
haal laatste bericht op
druk (laatste bericht) af op scherm ▶
Ontvang het laatste bericht met gegevens#
Het stackblok laatste bericht met gegevens ophalen neemt het volgende ontvangen bericht uit de berichtenwachtrij en slaat beide delen ervan op: het tekstbericht en het bijbehorende nummer. Gebruik dit blok nadat is bericht beschikbaar? True rapporteert en voordat u laatste bericht of laatste gegevens gebruikt. Dit helpt de ontvangende robot om beide waarden op te slaan voordat ze worden gebruikt, bijvoorbeeld om naar een richting te gaan die een andere robot heeft verzonden.
Gebruik bericht met gegevens verzenden op de andere robot om de tekst en het nummer samen te verzenden.
haal laatste bericht met gegevens op
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
Robot 1
wanneer gestart
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
druk [Robot 1] af op scherm ▶
altijd
stuur bericht [heading] met gegevens (koers in graden)
einde
Robot 2
wanneer gestart
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
druk [Robot 2] af op scherm ▶
altijd
als <is bericht beschikbaar?> dan
haal laatste bericht met gegevens op
draai naar koers (laatste gegevens) graden ▶
einde
einde