打印
[活动]

我的无线DIY设计-蓝牙控制灯

[复制链接]
258|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 会飞的小影子 于 2023-1-5 17:18 编辑

套件包装盒提供了入门指导,请按照盒子上的网址打开说明

打开包装盒:nRF52840DK和可拆卸的NFC天线

如果打算使用NFC,可以将NFC插入到开发板对应的接口。

开发板提供了MicroUSB接口,所以这里需要用户自己准备一根MicroUSB数据线。因为开发套件没提供这些。

将电源开关拨动到“ON”。即打开了开发板的供电开关。
此时开发板上的指示灯应该就亮了。绿色的

此时按下开发板NFC天线附近的四个按钮会使得其上方对应的4个绿色LED进行呼吸灯效果显示。按下哪个编号的按钮
对应编号的LED就呼吸灯显示,其他的熄灭。

接下来就是实现手机遥控蓝牙点灯。
我们可以参考官方提供的例程。
static void led_write_handler(uint16_t conn_handle, ble_lbs_t * p_lbs, uint8_t led_state)
{
    if (led_state=='1')
    {
        bsp_board_led_on(LEDBUTTON_LED);
        NRF_LOG_INFO("Received LED ON!");
    }
    else
    {
        bsp_board_led_off(LEDBUTTON_LED);
        NRF_LOG_INFO("Received LED OFF!");
    }
}

/**@brief Function for initializing services that will be used by the application.
*/
static void services_init(void)
{
    ret_code_t         err_code;
    ble_lbs_init_t     init     = {0};
    nrf_ble_qwr_init_t qwr_init = {0};

    // Initialize Queued Write Module.
    qwr_init.error_handler = nrf_qwr_error_handler;

    err_code = nrf_ble_qwr_init(&m_qwr, &qwr_init);
    APP_ERROR_CHECK(err_code);

    // Initialize LBS.
    init.led_write_handler = led_write_handler;

    err_code = ble_lbs_init(&m_lbs, &init);
    APP_ERROR_CHECK(err_code);
}

在服务程序中调用LED处理函数,并将蓝牙BLE收到的字符进行判断来实现点灯和关灯的操作。
蓝牙手机APP我们这里通过E4A实现。

事件 BLE蓝牙1.发现服务(服务信息 为 集合)
        如果 服务信息.取项目总数() < 0 则
                退出
        结束 如果

        弹出提示("发现服务")

        变量 信息数组 为 文本型()

        信息数组 = 服务信息.取项目(2)
        服务UUID=信息数组(0)
        弹出提示(服务UUID)
        通道UUID=信息数组(2)        
        弹出提示(通道UUID)
结束 事件

事件 BLE蓝牙1.写入数据完毕(结果 为 整数型)
        如果 结果 = 1 则
                弹出提示("写入数据成功")
        否则        
                弹出提示("写入数据失败")
        结束 如果
结束 事件

事件 按钮1.被单击()
        BLE蓝牙1.写入数据(服务UUID,通道UUID,十六进制到字节集("31"))
结束 事件

事件 按钮2.被单击()
        BLE蓝牙1.写入数据(服务UUID,通道UUID,十六进制到字节集("32"))
结束 事件

发送字符1点亮LED,发送字符2关闭LED下面是手机APP界面

最后展示下设计效果,因为素材不全,简单用纸箱制作了一个灯膜


使用特权

评论回复
评论
ningling_21 2023-1-8 13:23 回复TA
做一个不会编程的电工,太难了 
王栋春 2023-1-5 11:39 回复TA
@suncat0504 :这个直接将要实现的功能转换成指令吗? 
suncat0504 2023-1-5 11:29 回复TA
@王栋春 :以后没准会有语音命令计算机编程,那时你就不用担心了。哈哈哈 
王栋春 2023-1-3 22:00 回复TA
围观一下,感觉现在不会编程寸步难行。 

相关帖子

沙发
sq16888| | 2023-7-9 17:46 | 只看该作者
e4a官网倒闭了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

9

帖子

0

粉丝