玩转硬件之Micro:bit的玩法(五)——垃圾分类

垃圾分类,为了美好的明天

垃圾是我们生活中不可避免的产物,每天都有大量的垃圾被丢弃,如果不加以处理,就会给环境和人类带来严重的危害。 垃圾分类是一种有效的垃圾管理方式,它是指按照一定的标准或规则,将垃圾分成不同的类别,进行储存、投放、收运和处理,从而实现垃圾的减量化、资源化和无害化的目的。 垃圾分类不仅可以保护环境,节约资源,提高经济效益,还可以培养人们的环保意识,提高社会文明程度,为建设美好的明天做出贡献。

垃圾分类的意义

垃圾分类的意义主要体现在以下几个方面:

- 保护环境。

垃圾如果不进行分类,就会混杂在一起,造成垃圾处理的难度和成本增加,同时也会增加垃圾的污染程度,对土壤、水源、空气等造成破坏,影响人类的健康和生态的平衡。 垃圾分类可以有效地减少垃圾的数量和危害,降低垃圾处理的压力,减少垃圾填埋和焚烧的需求,减少温室气体的排放,改善环境质量,保障人类的生存环境。 


- 节约资源。

垃圾中有很多是可以回收利用的,如废纸、塑料、玻璃、金属等,这些都是有价值的资源,如果不进行分类,就会被当作无用的垃圾处理掉,造成资源的浪费和损失。 垃圾分类可以有效地回收利用这些资源,减少对原材料的需求,节约能源,降低生产成本,提高经济效益,促进循环经济的发展。


- 培养意识。

垃圾分类是一种环保的生活方式,它需要人们从日常生活中做起,养成良好的垃圾分类习惯,提高垃圾分类的自觉性和主动性,增强环保意识和责任感,树立节约资源、保护环境的价值观,形成一种文明的社会风尚,促进社会的和谐与进步。

垃圾分类的方法

现在小区里随处可见的分类垃圾桶,但是我们其实还没有养成良好的垃圾分类习惯。如果给我们一个智能垃圾桶,当你靠近垃圾桶时,它会自动打开,你只需要把垃圾放进去就行了,你会喜欢这样的垃圾桶吗?你会乐意把垃圾放进垃圾桶吗?

玩转硬件之Micro:bit的玩法(五)——垃圾分类_第1张图片

这是一种基于Micro:bit实现的可自动开合的垃圾桶,我们一起看一下如何实现吧!

接线方式:

使用舵机型号SG90 经典舵机180度,按上图绑扎一个木制支架,同时借助Micro:bit小车的扩展板超声波模块,舵机接线插入J3,如下图所示:

玩转硬件之Micro:bit的玩法(五)——垃圾分类_第2张图片

代码实现:

1. 当开机时,设定舵机角度为0度,同时加入一个欢迎界面。

玩转硬件之Micro:bit的玩法(五)——垃圾分类_第3张图片

2. 设定循环,当超声波感应到物体接近时,设定舵机角度为90度,同时给一个音乐,表示打开垃圾桶盖,并放入垃圾。同时给定一个延时,设定足够放入垃圾的时间。

玩转硬件之Micro:bit的玩法(五)——垃圾分类_第4张图片

3. 否则设定舵机角度为0度,关闭垃圾桶盖。

玩转硬件之Micro:bit的玩法(五)——垃圾分类_第5张图片

代码展示

1. python代码

basic.show_icon(IconNames.HAPPY)
mbit_小车类.Servo_Car(mbit_小车类.enServo.S2, 0)

def on_forever():
    if mbit_传感器类.ultrasonic(DigitalPin.P14, DigitalPin.P15) < 15:
        mbit_小车类.Servo_Car(mbit_小车类.enServo.S2, 90)
        music.play(music.builtin_playable_sound_effect(soundExpression.happy),
            music.PlaybackMode.UNTIL_DONE)
        basic.pause(5000)
    else:
        mbit_小车类.Servo_Car(mbit_小车类.enServo.S2, 0)
basic.forever(on_forever)

2. Javascript代码

basic.showIcon(IconNames.Happy)
mbit_小车类.Servo_Car(mbit_小车类.enServo.S2, 0)
basic.forever(function on_forever() {
    if (mbit_传感器类.Ultrasonic(DigitalPin.P14, DigitalPin.P15) < 15) {
        mbit_小车类.Servo_Car(mbit_小车类.enServo.S2, 90)
        music.play(music.builtinPlayableSoundEffect(soundExpression.happy), music.PlaybackMode.UntilDone)
        basic.pause(5000)
    } else {
        mbit_小车类.Servo_Car(mbit_小车类.enServo.S2, 0)
    }
    
})

垃圾分类,从我做起,从现在做起,让我们一起为了美好的明天,做出我们的贡献吧!

你可能感兴趣的:(硬件,单片机)