pxt-calliope/docs/lessons/blink/activity.md
2016-06-14 17:28:08 -04:00

62 lines
1.3 KiB
Markdown

# blink blocks activity
Turn an LED on and off with forever
### ~avatar avatar
```sim
basic.forever(() => {
led.plot(2, 2)
basic.pause(500)
led.unplot(2, 2)
basic.pause(500)
})
```
Let's build a blinking light!
### ~
Have you ever tried to blink a flashlight at night? The concept is fairly simply: turn on the light, wait for a little, turn off the light, wait again, and repeat. That's exactly what we need to code to get a blinking LED.
Let's start by adding a line of code that turns on the LED at position 2, 2.
```blocks
led.plot(2, 2)
```
Run your script to make sure it's correct. Then, let's add code to `pause` 500 milliseconds and turn off the LED.
```blocks
led.plot(2, 2)
basic.pause(500)
led.unplot(2,2)
```
We've got the LED blinking once. Let's add another pause and turn on the LED again.
```blocks
led.plot(2, 2)
basic.pause(500)
led.unplot(2, 2)
basic.pause(500)
led.plot(2, 2)
```
The current code works but it only blinks once! We are going to use a `forever` loop and move the code inside it to repeat it forever. We've dropped the second `plot` line since we don't need it in the loop.
```blocks
basic.forever(() => {
led.plot(2, 2)
basic.pause(500)
led.unplot(2, 2)
basic.pause(500)
})
```
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/lessons/blink/challenges)!
### ~