f041324388
* outline of milkjmonster lesson * Inital version Milky Monster ready to publish on Github - can you please review Peli ? * removing "radio" project * various fixes * updated summary * Adding croc to male option * commit changes * fixed missing pdf * fixing broken image link * fixing servo page * fixing markdown * Fixing step1 * commit changes * merging * merge * changed milk-monster to milky-monster * reized image
83 lines
1.9 KiB
Markdown
83 lines
1.9 KiB
Markdown
# Code
|
|
### @description code to make the Milky Monster alive
|
|
|
|
### ~avatar avatar
|
|
|
|
Add code to make the Milky Monster move.
|
|
|
|
### ~
|
|
|
|
## Duration: ~30 minutes
|
|
|
|
## Step 1: calibrate servo
|
|
|
|
In order for the Milky Monster to move, the @boardname@ needs to command the servo to go between ``0`` and ``180`` degrees at a certain pace. In the code below:
|
|
- the user pressed button ``A`` to switch the servo to 180 degrees (to close the mouth of Milky Monster).
|
|
- the user pressed button ``B`` to switch the servo to 0 degrees (to open the mouth of Milky Monster).
|
|
|
|
```blocks
|
|
input.onButtonPressed(Button.A, () => {
|
|
pins.servoWritePin(AnalogPin.P0, 180)
|
|
basic.showNumber(180)
|
|
})
|
|
input.onButtonPressed(Button.B, () => {
|
|
pins.servoWritePin(AnalogPin.P0, 0)
|
|
basic.showNumber(0)
|
|
})
|
|
basic.showString("calibrate")
|
|
|
|
```
|
|
|
|
## Step 2: attach rotor
|
|
|
|
The servo should be positioned on 180 degrees **before** attaching the rotor to it. This is to make sure the mouth of the Milky Monster will be closed once the servo reaches 180 degrees.
|
|
|
|
### ~ hint
|
|
|
|
You may use a philips scew driver to attach the rotor to the servo.
|
|
|
|
### ~
|
|
|
|
https://youtu.be/YZfkMWTeH4o
|
|
|
|
## Step 3: check calibration
|
|
|
|
When the user pressed ``A`` the servo rotor should be in 'up' position.
|
|
|
|
https://youtu.be/bAqXEawUsSM
|
|
|
|
## Step 4: connect cord to rotor
|
|
|
|
Connect the cord to the servo rotor while mouth of Milky Monster is **closed**.
|
|
|
|
https://youtu.be/AWsnwk_iA_A
|
|
|
|
## Step 5: connect cables to @boardname@
|
|
|
|
Connect cables from @boardname@ to the servo and place the battery.
|
|
|
|
https://youtu.be/fAR58GJUZdM
|
|
|
|
## Step 6: code light sensor
|
|
|
|
Code the lightsensor on the @boardname@ to control the servo.
|
|
|
|
```blocks
|
|
basic.forever(() => {
|
|
pins.servoWritePin(AnalogPin.P0, input.lightLevel())
|
|
led.plotBarGraph(
|
|
input.lightLevel(),
|
|
0
|
|
)
|
|
})
|
|
```
|
|
|
|
## Step 6: Ready!
|
|
|
|
Your Milky Monster is ready!
|
|
|
|
https://youtu.be/egl3fNAYylk
|
|
|
|
### ~button /projects/milky-monster/connect
|
|
NEXT: Connect
|
|
### ~ |