62 lines
1.3 KiB
Markdown
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)!
|
|
|
|
### ~
|
|
|