MT7697底板1,板载外设说明

RGBLED (彩灯)

板载的RGBLED可以通过rgbled模块进行控制。

var rgbled = require("rgbled");

通过set方法设置R、G、B分量值,如

rgbled.set(255, 0, 0); // 红色
rgbled.set(255, 255, 0); // 红色+绿色=黄色

SWITCH (开关)

板载两个开关KEY1和KEY2。可以通过设置外部中断的方式来设置事件函数。需要用到pinmux和extint两个模块。pinmux用做配置引脚复用,extint用做配置外部中断。

var pinmux = require("pinmux");
var extint = require("extint");

以KEY1为例,KEY1开关通过下拉的方式连接到GPIO37上。首先将GPIO37配置成中断输入模式

var pinno = 37;
pinmux.set(pinno, 3); // 模式3为中断输入模式

配置中断模式,按键在抬起状态GPIO37上为低电平,按下状态GPIO37上为高电平。所以设置为上升沿触发

var eno = extint.pin2eint(pinno);   // 通过引脚号查询对应的外部中断号
extint.init(eno, "rise_edge", 10);  // 上升沿触发,消抖时间为10毫秒
var handler = extint.register(eno, function(){
    print("KEY1 DOWN");
});                                 // 注册中断响应函数,但按钮按下时,打印 "KEY1 DOWN"
                                    // handler为该事件的控制器

若需要取消该事件函数,则使用

handler.kill();

MOTOR (电机)

板载的电机通过两个引脚GPIO29, GPIO30控制其正转和反转

GPIO29 GPIO30 转向
0 0 停止
1 0 正转
0 1 反转
1 1 停止

为了控制电机,需要使用pinmux和gpio模块

var pinmux = require("pinmux");
var gpio = require("gpio");

配置引脚

pinmux.set(29, 8);      // 将GPIO29引脚配置为普通IO口模式
pinmux.set(30, 8);      // 将GPIO30引脚配置为普通IO口模式
var m1 = gpio.open(29); // 打开GPIO29引脚,获得引脚对象
var m2 = gpio.open(30); // 打开GPIO30引脚,获得引脚对象
m1.direction("out");    // 配置为输出
m2.direction("out");    // 配置为输出
m1.pull("down");        // 配置为下拉
m2.pull("down");        // 配置为下拉

设置为正转

m1.write(true);         // GPIO29拉高
m2.write(false);        // GPIO30拉低

以上程序的demo代码可以在 这里 找到

results matching ""

    No results matching ""