本帖最后由 会飞的小影子 于 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界面
最后展示下设计效果,因为素材不全,简单用纸箱制作了一个灯膜
|
做一个不会编程的电工,太难了
@suncat0504 :这个直接将要实现的功能转换成指令吗?
@王栋春 :以后没准会有语音命令计算机编程,那时你就不用担心了。哈哈哈
围观一下,感觉现在不会编程寸步难行。