7 svar
104 visningar
Logiska kungen 4
Postad: 5 mar 13:41

Trafiksystem javascript (microbit)

På tekniken har vi en uppgift där vi ska programmera ett trafiksystem med 2 microbits. Vi programmerar egentligen inte med js, utan med block som finns i kodskaparen för microbit, men om någon kan lösa felet i js koden skulle vi kunna föra in det. 

Här är uppgiften: (vi arbetar med A-lösningen) (det ska vara samma program på båda microbitsen)

C nivån: Utvecklad lösning.Två micro:bits som kommunicerar med varandra via radio. Trafikljusen ska omväxlande visa rött, gult, grönt, osv. 

A nivån: Välutvecklad lösning: Som C-lösningen, men det ska också gå att snabba på trafikljuset genom att trycka på en knapp, så att det slår över snabbare

 

Problem

Vi vet inte exakt varför koden inte funkar. Just nu hoppar hoppar trafikljusen på vägen tillbaka från röd till grön och vice versa på vägen tillbaka (skippar gul). Vet inte heller om själva uppsnabbningen fungerar. 

 

Info

För att se hur de fungerar gå till microbit make code och klistra in koden. Då kan man se hur programmet fungerar.

Annars:

p0 = röd

p1 = gul

p2= grön

 

Här är våran kod: 

radio.onReceivedNumber(function (receivedNumber) {    if (receivedNumber == 5) {        rött()    }    if (receivedNumber == 4) {        gult()    }    if (receivedNumber == 3) {        grönt()    }    if (receivedNumber == 2) {        basic.pause(100)        radio.sendNumber(1)    }    if (receivedNumber == 1) {        while (hurry_up_button == 0) {            rött()            basic.pause(2000)            radio.sendNumber(3)            basic.pause(2000)            basic.pause(5000)            gult()            radio.sendNumber(4)            basic.pause(5000)            radio.sendNumber(5)            basic.pause(1000)            grönt()            basic.pause(5000)            basic.pause(2000)            basic.pause(2000)        }        while (hurry_up_button == 1) {            rött()            basic.pause(1000)            radio.sendNumber(3)            basic.pause(5000)            gult()            radio.sendNumber(4)            basic.pause(2000)            basic.pause(1000)            basic.pause(500)            radio.sendNumber(5)            basic.pause(500)            grönt()            basic.pause(5000)            basic.pause(1000)            hurry_up_button = 0        }    }})function grönt () {    pins.digitalWritePin(DigitalPin.P0, 0)    pins.digitalWritePin(DigitalPin.P1, 0)    pins.digitalWritePin(DigitalPin.P2, 1)}input.onButtonPressed(Button.A, function () {    radio.sendNumber(1)})function rött () {    pins.digitalWritePin(DigitalPin.P0, 1)    pins.digitalWritePin(DigitalPin.P1, 0)    pins.digitalWritePin(DigitalPin.P2, 0)}input.onButtonPressed(Button.B, function () {    radio.sendNumber(2)    hurry_up_button = 1})function gult () {    pins.digitalWritePin(DigitalPin.P0, 0)    pins.digitalWritePin(DigitalPin.P1, 1)    pins.digitalWritePin(DigitalPin.P2, 0)}let hurry_up_button = 0rött()hurry_up_button = 0

 

Vet inte varför den visa så när den klistrats in.

Tack för svar.

Laguna Online 28753
Postad: 5 mar 13:43

Prova att välja kodverktyget (som ser ut som {;} i verktygsraden) och klistra in igen.

Logiska kungen 4
Postad: 5 mar 13:47

Jag skickar länken till koden istället här: 

https://makecode.microbit.org/_K9r65j4XfWgu

Laguna Online 28753
Postad: 5 mar 13:54

Har ni nånsin fått det att visa gult?

Logiska kungen 4
Postad: 5 mar 13:57

Ja, eller vad menar hern

sorken 1
Postad: 5 mar 14:09

Jag behöver samma hjälp, hade varit fantastiskt om du kunde hjälpa oss skapa en kod som är utefter kriterierna logiska kungen skrev!

Laguna Online 28753
Postad: 6 mar 18:30

Jag skulle prova mig fram, kolla alla färger, längre väntetider, börja med något enklare som fungerar, osv.

Den miljön vet jag ingenting om.

Logiska kungen 4
Postad: 7 mar 10:14

Tack ändå. Du kan alltså inte hjälpa oss med js koden. Den är mer simpel än va det verkar.

Svara Avbryt
Close