Makerming
Published

Mini Fireplace of A Song of Ice and Fire Theme

A mini fireplace with burning flame surrounded by ice, to make a song of ice and fire in your home. For fans of Game of Thrones.

IntermediateFull instructions provided2 days742

Things used in this project

Hardware components

BBC Micro:bit
×1
Seeed Grove Shield for micro:bit V2
×1
Seeed Grove - RGB LED Ring (24-WS2813 Mini)
×1
Grove - Ultrasonic Ranger
Seeed Grove - Ultrasonic Ranger
×1
Seeed Grove - Universal 4 Pin Buckled Cable
×2
 USB Fan (5*5cm)
×1
Seeed 3.7V lithium battery
×1
Acrylic Plate
×1
Acrylic Ice Cubes
If you don't have acrylic fake ice rock as mentioned, try to use rock candy, hahahaha!
×1

Software apps and online services

MakeCode
Microsoft MakeCode

Hand tools and fabrication machines

Laser cutting machine
Hot melt glue gun
Acrylic glue
Scotch tape
Scissors, art knife, ruler, etc.

Story

Read more

Custom parts and enclosures

a_song_of_ice_and_fire_fireplace_lacer_cutting_design_-_makerming_G46d6paF1r.dxf

Schematics

_20200108201256_Rr7xHieyNu.png

Makecode Program .hex

Code

A song of ice and fire fireplace code

JavaScript
basic.showIcon(IconNames.Heart)
let seeed_ring = neopixel.create(DigitalPin.P0, 24, NeoPixelMode.RGB)
let bright = grove.measureInCentimeters(DigitalPin.P1)
basic.forever(function () {
    let display: grove.TM1637 = null
    display.show(grove.measureInCentimeters(DigitalPin.P1))
    if (grove.measureInCentimeters(DigitalPin.P1) < 20) {
        seeed_ring.showColor(neopixel.rgb(225, 69, 19))
        seeed_ring.setBrightness(150)
        seeed_ring.show()
        basic.pause(200)
    } else {
        if (grove.measureInCentimeters(DigitalPin.P1) < 30) {
            seeed_ring.showColor(neopixel.rgb(240, 69, 19))
            seeed_ring.setBrightness(180)
            seeed_ring.show()
            basic.pause(200)
        } else {
            if (grove.measureInCentimeters(DigitalPin.P1) > 50) {
                seeed_ring.showColor(neopixel.rgb(240, 69, 19))
                seeed_ring.setBrightness(Math.randomRange(100, 200))
                seeed_ring.show()
                basic.pause(Math.randomRange(100, 500))
            } else {
                seeed_ring.showColor(neopixel.rgb(250, 69, 19))
                seeed_ring.setBrightness(200)
                seeed_ring.show()
                basic.pause(200)
            }
        }
    }
})

Credits

Makerming

Makerming

2 projects • 1 follower

Comments

Add projectSign up / Login