ruff implement a responder

Bertha 。 2022-06-17 05:06 203阅读 0赞

这里写图片描述

前几天入了ruff的板子,今天撸了官网的官方教程SOS 求救灯 ,还有后面的课后练习-按键抢答器。

按键抢答器

使用三个按键模块和两个板载LED灯。
- 如果按键 A 按下,板载蓝灯(led-b)亮;
- 按键 B 按下,板载红灯(led-r)亮;
- 按键 C 用于重置抢答器,C 键按下,两灯都灭;
- 按键 A 或 B 按下后,直到按下按键 C 重置抢答器,即使另一按键按下,两LED 灯也不会有变化。

效果演示

这里写图片描述

实践

材料清单

我看了看后面的回复

因为套件里面只有两个大按钮,就使用板载的button-k2来作为重置按钮了

  • 2个大按键模块
  • ruff板子
  • 6根杜邦线
    这里写图片描述

部署项目

在此之前你需要参看官网写的
- 起步走
- ruff开发的基本步骤

我这里用的是AP模式部署

step1:新建项目文件夹

  1. mkdir responder
  2. cd responder

step2:项目初始化

  1. rap init

step3:添加外设(参照这里)

  1. rap device add button_a
  2. ? model: CK002
  3. rap device add button_b
  4. ? model: CK002

step4:硬件布局按图连线

  1. rap layout --visual

这里写图片描述

事件绑定

src/index.js具体的代码
switchLed() 根据按钮的id来选择要触发的事件

  1. function switchLed(id){
  2. switch(id){
  3. case 'button_a':
  4. if(!$('#led-b').isOn()) $('#led-r').turnOn();
  5. break;
  6. case 'button_b':
  7. if(!$('#led-r').isOn()) $('#led-b').turnOn();
  8. break;
  9. case 'button-k2':
  10. $('#led-r').turnOff();
  11. $('#led-b').turnOff();
  12. break;
  13. }
  14. }

$.ready 中代码逻辑

  1. $.ready(function (error) {
  2. if (error) {
  3. console.log(error);
  4. return;
  5. }
  6. $('#button_a').on('push', function(){
  7. console.log('Button_a pushed.');
  8. switchLed('button_a');
  9. });
  10. $('#button_b').on('push', function(){
  11. console.log('Button_b pushed.');
  12. switchLed('button_b');
  13. });
  14. $('#button-k2').on('push', function(){
  15. console.log('Button-k2 pushed.');
  16. switchLed('button-k2');
  17. });
  18. });

发表评论

表情:
评论列表 (有 0 条评论,203人围观)

还没有评论,来说两句吧...

相关阅读