:::info 以下全篇幅以喵比特教育版+Robotbit扩展版为例继续宁案例介绍 ::: image.png

数字读


案例 - 辅助计数器(按钮)

  • 简介:统计在指定时间内按下按钮的次数

  • 硬件清单:

    • 喵比特*1
    • Robotbit拓展板*1
    • 按键模块*1
  • 硬件接线

image.png

  • 示例代码 ```python from meowbit import * from time import sleep

p1 = MeowPin(‘P1’,IN) times = 0 while True: if p1.getDigital() == 0: times = times + 1 screen.clear() screen.text(str(times)) sleep(0.5)

  1. <a name="bJdPg"></a>
  2. ## 数字写
  3. <a name="1CuA9"></a>
  4. ### 案例 - 小星星(LED灯)
  5. - 简介:编程控制led灯亮0.5秒,熄灭0.1秒,循环往复
  6. - 硬件清单:
  7. - 喵比特*1
  8. - Robotbit拓展板*1
  9. - 单色LED模块*1
  10. - 硬件接线
  11. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/1540278/1607586618116-98fa1961-9faa-42f7-b474-bc50b0881895.png#crop=0&crop=0&crop=1&crop=1&height=263&id=gWEPW&margin=%5Bobject%20Object%5D&name=image.png&originHeight=415&originWidth=790&originalType=binary&ratio=1&rotation=0&showTitle=false&size=128696&status=done&style=stroke&title=&width=500)
  12. - 示例代码
  13. ```python
  14. from meowbit import *
  15. import time
  16. p1 = MeowPin('P1',OUT)
  17. while True:
  18. p1.setDigital(1)
  19. time.sleep(0.5)
  20. p1.setDigital(0)
  21. time.sleep(0.5)

模拟读

案例 - 光照探测仪(光照强度传感器)

  • 简介:检测光照强度,并通过点阵屏显示当前光照强度值,数值每3秒更新一次

  • 硬件清单:

    • 喵比特*1
    • Robotbit拓展板*1
    • 光照强度传感器*1
  • 硬件接线

image.png

  • 示例代码 ```python from meowbit import * from time import sleep

screen.sync = 0 p1 = MeowPin(‘P1’,ANALOG) while True: light = p1.getAnalog() screen.clear() screen.text(str(light)) screen.refresh() sleep(3)

  1. <a name="RxFLB"></a>
  2. ## 模拟写
  3. <a name="NF2Ek"></a>
  4. ### 案例 - 呼吸灯(LED灯)
  5. - 简介编程控制led灯缓缓变亮,到达最亮后再缓缓变暗,如此循环往复
  6. - 硬件清单:
  7. - 喵比特*1
  8. - Robotbit拓展板*1
  9. - 单色LED模块*1
  10. - 硬件连线
  11. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/1540278/1607586618116-98fa1961-9faa-42f7-b474-bc50b0881895.png#crop=0&crop=0&crop=1&crop=1&height=263&id=nHQ1r&margin=%5Bobject%20Object%5D&name=image.png&originHeight=415&originWidth=790&originalType=binary&ratio=1&rotation=0&showTitle=false&size=128696&status=done&style=stroke&title=&width=500)
  12. - 示例代码
  13. ```python
  14. from meowbit import *
  15. from time import sleep
  16. p1 = MeowPin('P1',PWM)
  17. while True:
  18. for i in range(0,200,1):
  19. p1.setAnalog(i)
  20. sleep_ms(10)
  21. for i in range(200,0,-1):
  22. p1.setAnalog(i)
  23. sleep_ms(10)

电机

案例 - 大摆锤

  • 简介:编程控制电机先以中等速度工作2秒,停止工作1秒后以最大速度工作5秒,然后以中等速度工作2秒,最后停止

  • 硬件清单

    • 喵比特*1
    • Robotbit拓展板*1
    • 电机模块*1
  • 硬件接线

image.png

  • 示例代码 ```python from robotbit import RobotBit from time import sleep

robotbit = RobotBit() robotbit.motor(1, 100, 2000) sleep(1) robotbit.motor(1, 255, 5000) robotbit.motor(1, 100, 2000)

  1. <a name="NLp6P"></a>
  2. ## 舵机
  3. <a name="pt6ai"></a>
  4. ### 案例 - 定点运输
  5. - 简介:9g小舵机在A(0°方向)、B(90°方向)、C(180°方向)三个点间往复运动,其中在A点停留5秒,B点停留2秒,C点停留2秒
  6. - 硬件清单 :
  7. - 喵比特*1
  8. - Robotbit拓展板*1
  9. - Geekservo 9g舵机*1
  10. - 硬件接线
  11. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/1540278/1607590179100-235e633d-6205-4660-8dc5-008cd593582c.png#crop=0&crop=0&crop=1&crop=1&height=247&id=uznG2&margin=%5Bobject%20Object%5D&name=image.png&originHeight=413&originWidth=835&originalType=binary&ratio=1&rotation=0&showTitle=false&size=138600&status=done&style=stroke&title=&width=500)
  12. - 示例代码
  13. ```python
  14. from robotbit import RobotBit
  15. from time import sleep
  16. robotbit = RobotBit()
  17. while True:
  18. robotbit.geekServo9g(8, int(0))
  19. sleep(5)
  20. robotbit.geekServo9g(8, int(90))
  21. sleep(2)
  22. robotbit.geekServo9g(8, int(180))
  23. sleep(2)

综合案例 - 教室智能控温系统

  • 简介:通过喵比特自带温度检测模块检测室内温度,并实时显示在屏幕上。当温度过高时(大于28℃)自动打开门窗,并打开风扇;当温度适宜时(18℃-28℃),关闭风扇,只打开门窗;当温度较低时(小于18℃)自动关闭门窗

  • 方案设计:

image.png

  • 控制流程梳理

image.png

  • 硬件清单:

    • 喵比特*1
    • Geekservo 9g小舵机*2
    • 风扇*1
    • Robotbit拓展板*1
  • 硬件接线

image.png

  • 示例代码 ```python from meowbit import * from robotbit import RobotBit from time import sleep

robotbit = RobotBit() p1 = MeowPin(“P1”,OUT) p1.setDigital(0)

while True: tempetature = sensor.getTemp() screen.clear() screen.text(str(tempetature)) if tempetature > 28: p1.setDigital(1)

  1. #S1端口舵机控制门,0度为关门,90度为开门
  2. robotbit.geekServo9g(1, 90)
  3. sleep(1)
  4. #S2端口舵机控制窗户,0度为关窗,90度为开窗
  5. robotbit.geekServo9g(2, 90)
  6. sleep(1)
  7. elif tempetature >18:
  8. p1.setDigital(0)
  9. robotbit.geekServo9g(1, 90)
  10. sleep(1)
  11. robotbit.geekServo9g(2, 90)
  12. sleep(1)
  13. else:
  14. p1.setDigital(0)
  15. robotbit.geekServo9g(1, 0)
  16. sleep(1)
  17. robotbit.geekServo9g(2, 0)
  18. sleep(1)
  19. sleep(3)

```