Fancy kjørelys

Lag lys som endrer seg etter hva bilen gjør, og unike lys for hver bil!

Egne lys for Hver BIL

Om du vil ha flere bitbot-er som skal kjøre om kapp er det kjekt å kunne se forskjell på dem. Det kan gjøres med at hver bil har en unik fargeprofil, med f.eks. en hovedfarge og en sekundærfarge. Aller helst vil du kanskje slippe å gjøre mange endringer i koden for hver microbit som skal i bitbot-ene.

Fargeblokkene i MakeCode (se gul boks til høyre) er faktisk tall, så det går an å lage en funksjon som tar inn tall som parametere og bruke de tallene i sett LED til …-blokkene. Se hvordan man kan lage en pen og ryddig kode for å bestemme fargeprofilene og hvordan fargene skal fordeles på LED-lysene på bitbot-en.

Bitbot-program med oversikt over fargene til bilene som skal kjøre:
Bytt mellom de ulike fargene ved å trykke på A (eller skrive nytt tall i variabelen bil-nr ved start)

Speedometer-lys

For å bruke LED-lysene på bitbot-en som speedometer tenne alle lys for å vise maks. fart og tenne kun ett lys for å vise null fart.

Hvis null fart tilsvarer å  tenne ingen lys kan det være man ikke ser forskjell på bitbot er avskrudd og bitbot er påskrudd men har hastigheten satt til 0.

Regn om-blokka brukes her for å oversette variabelen hastighet fra skalaen 0–100 til skalaen 0–5. Dette tallet lagres i variabelen hastighet_speedometer-skala og tilsvarer opptil hvilket lys som tennes.  

OBS! Det finnes to regn om-blokker: én fra menyen "Matematikk" og én fra "Avansert > Tilkobling". De gjør det samme, forskjellen er at den fra "Tilkobling" står på høykant og er dermed lettere å lese. 

Speedometer-skalaen går til 5 fordi LED-lysene på den ene siden av bitbot-en er nummerert fra 0 til 5.  I eksempelet til venstre vil dermed kun lysene på den ene siden av bitbot-en tennes.

Klikk og åpne bildet under for å se hvordan man kan tenne lysene på begge sider rad for rad vha. en ekstra løkke og litt matematikk.

SVINGLYS

For testing: 

Vi kan også bruke lysene på bitbot-en til å vise hvor mye man "vrir rattet", altså hvor mye man heller kontrolleren. F.eks., svinger man litt til venstre tennes noen lys på venstre side av bitbot-en i en egen, svinger man mye tennes alle lysene på den siden. Når vi kjører rett frem vil vi heller ikke tenne noen lys på hverken høyre eller venstre side.

Hvor krapp svingen til bitbot-en bestemmes av variabelen svingjustering. Dette tallet mottas på radio fra en kontroller-microbit som sender tallet fra –80 (maks. venstresving) gjennom 0 (ingen sving) til +80 (maks. høyresving). Klikk her for kontrollerkode.

svingjustering oversettes så til en skala som går fra –6 til 6 i variabelen  svingjustering_lysskala. Hvis svingjustering_lysskala er negativ betyr det at bitbot-en svinger mot venstre og lysene på venstre side av bitbot-en, LED nr. 0–5, tennes (mens høyre skal være slukket/svarte). Hvis tallet er positivt betyr det høyresving og lysene på høyre side, nr. 6–11, tennes.

Hvorfor går skalaen til 6, og ikke 5 som i speedometer-programmet? Spør Frederic. Det var sånn det måtte bli for at lysene det skulle pent.