pxt-calliope/docs/projects/milky-monster/code.md
Peli de Halleux f041324388 outline of milkjmonster lesson (#372)
* 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
2017-03-20 15:17:24 -07:00

1.9 KiB

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).
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.

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

~