Blocket Kör – spakstyrning

Blocket Kör – spakstyrning kan få en robot att åka framåt eller bakåt, att svänga eller stanna. Använd blocket Kör – spakstyrning för robotfordon som har två stora motorer, och där den ena motorn driver fordonets vänstra sida och den andra motorn driver högra sidan. Vill du få roboten att svänga kan du göra så att de två motorerna körs med olika hastigheter eller i olika riktningar.


Vänster motor
Höger motor
Tips och trick
Du kan också använda blocket Kör – rattstyrning för att styra ett robotfordon med två drivmotorer. Blocket Kör – rattstyrning liknar blocket Kör – spakstyrning, men svängning hanteras på olika sätt.
Välj motorportar och kontrolläge



Portväljare
Lägesväljare
Indata

Välj de två motorer (A, B, C eller D) som blocket Kör – spakstyrning ska användas för. Det gör du genom att använda portväljaren överst i blocket. Klicka på varje motorbokstav för att välja en port för motorn. Den första porten bör vara motorn på fordonets vänstersida, och den andra motorn bör vara motorn på fordonets högersida.
Tips och trick
När roboten är vänd framåt ska vänstersidans motor visas överst i portväljaren. I annat fall kommer roboten att svänga åt fel håll.
Använd lägesväljaren för att ange hur motorerna ska styras. När du har valt ett läge kan du välja indatavärden. Vilka indata som är tillgängliga beror på vilket läge som har valts. Alla lägen och indata beskrivs här nedanför.
Lägen


Läget På startar båda motorerna och går sedan omedelbart till nästa block i programmet. Med indatavärdena Styrka vänster och Styrka höger kan du kontrollera de båda motorernas hastighet och riktning. Motorerna körs tills de stängs av eller ändras av ett annat block senare i programmet, eller tills programmet avslutas.
Exempel
Använd läget På om du vill att andra block i programmet ska styra hur länge motorerna ska vara på. I det här programmet åker roboten rakt fram. När trycksensorn trycks in stannar roboten.
Av


I läget Av stängs båda motorerna av. Använd läget Av om du vill stoppa en robot som startas med läget tidigare i programmet. Se exemplet ovan.

Om Bromsa vid slut är Sant, stoppas motorerna omedelbart. Motorerna hålls i avstängt läge tills ett annat block av typen Kör eller ett motorblock startar motorerna, eller tills programmet avslutas. Om Bromsa vid slut är Falskt, stängs strömmen till motorerna av. Motorerna drivs därefter av den återstående drivkraften, tills motorerna har stannat helt, eller tills ett annat block av typen Kör eller ett motorblock startar.
På i antal sekunder


På i antal sekunder håller igång de båda motorerna i det antal sekunder som anges i Sekunder. Sedan stängs motorerna av. Blocket väntar tills tiden har förflutit, varpå programmet fortsätter till nästa block.

Med indatavärdena Styrka vänster och Styrka höger kan du kontrollera robotens hastighet och riktning. Använd Bromsa vid slut om du vill att roboten ska stoppas efter exakt det antal sekunder som du har angett.
Exempel
Med det här programmet körs en robot rakt fram med full styrka i 2 sekunder, för att sedan stanna.
Tips och trick
Du kan använda ett decimalkomma i indatavärdet Sekunder för att få exakta tidsangivelser, till exempel 3,5 för tre och en halv sekund eller 0,25 sekunder för en fjärdedels sekund.
På i antal grader



På i antal grader startar båda motorerna och väntar tills den ena motorn har roterat det angivna antalet grader enligt indatavärdet Grader. Därefter stängs båda motorerna av. Det här kan vara användbart om du vill att roboten ska förflyttas ett visst avstånd eller svänga med ett visst antal grader. 360 graders rotation innebär att motorn roterar ett helt varv.

Med indatavärdena Styrka vänster och Styrka höger kan du kontrollera robotens hastighet och riktning. Använd Bromsa vid slut om du vill att roboten ska stoppas efter exakt det antal sekunder som du har angett.
Exempel 1
Det här programmet får roboten att åka rakt fram med 75 % styrka tills motorerna har roterat 900 grader (två och ett halvt varv). Därefter stannar roboten. Med samma värde för Styrka vänster och Styrka höger åker roboten rakt fram.
Tips och trick
Hur långt roboten förflyttas beror på indatavärdet Grader. Avståndet styrs också av diametern på de drivhjul som används och av andra fysiska faktorer. Motorernas inbyggda rotationssensorer mäter hur mycket motorn roterar vid motorhubbarna.
Exempel 2
Programmet nedan får roboten att svänga i en båge åt höger, eftersom värdet i Styrka vänster är högre än värdet i Styrka höger. Roboten fortsätter svänga tills den vänstra motorn (den utvändiga och snabbaste) har roterat exakt 900 grader. Därefter stannar roboten.

Exempel 3
Det här programmet får roboten att snurra på platsen, dvs. kring en punkt, eftersom motorerna roterar i motsatta riktningar. Med ett negativt värde för Styrka höger roterar högermotorn bakåt. Roboten snurrar tills den vänstra motorn har roterat 250 grader framåt. Därefter stannar roboten. Den högra motorn roterar 250 grader bakåt.
Tips och trick
Observera att indatavärdet Grader mäter antalet rotationer hos den snabbare motorn, inte förändringen av robotens riktning när den svänger. Robotens riktningsändring beror på hjuldiametern, hjulavståndet och andra faktorer.
På i antal varv


Programmet På i antal varv startar båda motorerna, väntar tills någon av dem har roterat så många varv som angetts i indatavärdet Varv och stänger sedan av båda motorerna. Det här kan vara användbart om du vill att roboten ska förflyttas ett visst avstånd eller svänga med ett visst antal grader.

Med indatavärdena Styrka vänster och Styrka höger kan du kontrollera robotens hastighet och riktning. Använd Bromsa vid slut om du vill att roboten ska stoppas efter exakt det antal sekunder som du har angett.
Exempel
Det här programmet får roboten att köra rakt fram med 50 % styrka (värdet 50 för både Styrka vänster och Styrka höger) tills motorerna har roterat tre hela varv. Sedan åker roboten rakt bakåt (med negativ styrka) i tre varv och stannar vid startpunkten.
Tips och trick
Läget På i antal varv fungerar exakt lika som läget På i antal grader, utöver att en annan rotationsenhet används. Vill du ange en andel av ett varv kan du infoga decimaltecken i indatavärdet Varv. Nedanstående exempel visar två olika sätt att få lika stor rotation:
VarvGrader
1360
2720
0,5180
1,25450
7,22592
Motorstyrka och riktning
Värden mellan -100 och 100 kan anges som indata för Styrka vänster och Styrka höger. Positiva och negativa värden får motorn att rotera i olika riktningar, som visas på bilden nedan.





Positiv styrka
Negativ styrka

Du kan ändra den normala rotationsriktningen för en motor med hjälp av blocket Reversera motor. Om en motorriktning har reverserats blir effekten av positiv och negativ motorstyrka den motsatta till vad som visas ovan.
Tips och trick
En motors rotationshastighet motsvarar i stort sett den angivna styrkan, men rotationshastigheten påverkas även av hur mycket belastning motorn utsätts för.
Indata
Indatavärdena till blocket Kör – spakstyrning är avgörande för motorernas styrning. Du kan fylla i indatavärdena direkt i blocket. Det går också att ange värdena med hjälp av dataledningar från utgångarna för andra programmeringsblock. Vilka indata som är tillgängliga och deras funktioner beror på vilket kontrolläge du har valt.
IndataTypTillåtna värdenAnteckningar
Styrka vänster Numerisk-100 till 100Motorstyrka för vänstra motorn.
Se Motorstyrka och riktning.
Styrka höger Numerisk-100 till 100Motorstyrka för högra motorn.
Se Motorstyrka och riktning.
Bromsa vid slut LogikSant/FalsktAnvänds när blocket avslutas.
Om värdet är Sant stoppas motorerna omedelbart och hålls kvar i stoppat läge.
Vid Falskt stängs motorerna av men frirullning tillåts.
Sekunder Numerisk≥ 0Förflyttningstid i sekunder.
Grader NumeriskValfritt antalRörelsens storlek i grader. 360 grader ger ett helt varv.
Varv NumeriskValfritt antalRörelsens storlek i varv.
Kör – spakstyrning
Snabblänkar