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.
Prova att välja kodverktyget (som ser ut som {;} i verktygsraden) och klistra in igen.
Jag skickar länken till koden istället här:
Har ni nånsin fått det att visa gult?
Ja, eller vad menar hern
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!
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.
Tack ändå. Du kan alltså inte hjälpa oss med js koden. Den är mer simpel än va det verkar.