Inhaltsverzeichnis
Lösungen zu den Challenges von Beispiel 2
Challenge 1
Versuche auch die erste und letzte LEDs Position abzuschalten, d.h. über die obere und untere Positionsgrenze zu springen, aber nicht weiter. Folglich sollte bei einer negativen Position unmittelbar nach Drücken der Taste A die erste LED wieder aufleuchten. Das gleiche Verhalten sollte bei der letzten LED auch integriert werden.
input.onButtonPressed(Button.A, function () {
if (position <= 9) {
position += 1
}
})
input.onButtonPressed(Button.B, function () {
if (position >= 0) {
position += -1
}
})
let position = 0
let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB)
position = 0
basic.forever(function () {
strip.showColor(neopixel.colors(NeoPixelColors.Black))
strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red))
strip.show()
})input.onButtonPressed(Button.A, function () { if (position <= 9) { position += 1 } }) input.onButtonPressed(Button.B, function () { if (position >= 0) { position += -1 } }) let position = 0 let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB) position = 0 basic.forever(function () { strip.showColor(neopixel.colors(NeoPixelColors.Black)) strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red)) strip.show() })
Challenge 2
Versuche von der ersten auf die letzte LED zu springen und von der letzten direkt auf die erste zu springen.
input.onButtonPressed(Button.A, function () {
if (position <= 8) {
position += 1
}
else {
position = 0
}
})
input.onButtonPressed(Button.B, function () {
if (position >= 1) {
position += -1
}
else {
position = 9
}
})
let position = 0
let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB)
position = 0
basic.forever(function () {
strip.showColor(neopixel.colors(NeoPixelColors.Black))
strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red))
strip.show()
})input.onButtonPressed(Button.A, function () { if (position <= 8) { position += 1 } else { position = 0 } }) input.onButtonPressed(Button.B, function () { if (position >= 1) { position += -1 } else { position = 9 } }) let position = 0 let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB) position = 0 basic.forever(function () { strip.showColor(neopixel.colors(NeoPixelColors.Black)) strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red)) strip.show() })
Challenge 3
Basierend auf der ersten oder zweiten Challenge versuche die LEDs blinken zu lassen, d.h. die LEDs 500 Millisekunden leuchten zu lassen, dann abzudrehen und nach 500 Millisekunden wieder leuchten zu lassen.
Basierend auf Challenge 1
input.onButtonPressed(Button.A, function () {
if (position <= 9) {
position += 1
}
})
input.onButtonPressed(Button.B, function () {
if (position >= 0) {
position += -1
}
})
let position = 0
let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB)
position = 0
basic.forever(function () {
strip.showColor(neopixel.colors(NeoPixelColors.Black))
strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red))
strip.show()
basic.pause(500)
strip.clear()
strip.showColor(neopixel.colors(NeoPixelColors.Black))
basic.pause(500)
})input.onButtonPressed(Button.A, function () { if (position <= 9) { position += 1 } }) input.onButtonPressed(Button.B, function () { if (position >= 0) { position += -1 } }) let position = 0 let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB) position = 0 basic.forever(function () { strip.showColor(neopixel.colors(NeoPixelColors.Black)) strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red)) strip.show() basic.pause(500) strip.clear() strip.showColor(neopixel.colors(NeoPixelColors.Black)) basic.pause(500) })
Basierend auf Challenge 2
input.onButtonPressed(Button.A, function () {
if (position <= 8) {
position += 1
} else {
position = 0
}
})
input.onButtonPressed(Button.B, function () {
if (position >= 1) {
position += -1
} else {
position = 9
}
})
let position = 0
let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB)
position = 0
basic.forever(function () {
strip.showColor(neopixel.colors(NeoPixelColors.Black))
strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red))
strip.show()
basic.pause(500)
strip.showColor(neopixel.colors(NeoPixelColors.Black))
strip.show()
basic.pause(500)
})input.onButtonPressed(Button.A, function () { if (position <= 8) { position += 1 } else { position = 0 } }) input.onButtonPressed(Button.B, function () { if (position >= 1) { position += -1 } else { position = 9 } }) let position = 0 let strip = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB) position = 0 basic.forever(function () { strip.showColor(neopixel.colors(NeoPixelColors.Black)) strip.setPixelColor(position, neopixel.colors(NeoPixelColors.Red)) strip.show() basic.pause(500) strip.showColor(neopixel.colors(NeoPixelColors.Black)) strip.show() basic.pause(500) })
