m0_64039939 2023-02-01 23:47 采纳率: 50%
浏览 46
已结题

怎么用蓝牙控制舵机连续旋转!?(语言-c语言)

我想的是怎么用手机蓝牙控制舵机旋转,就比如按着按钮舵机就转,松开就停下。蓝牙软件我会搞,用APP inventor就行。但是怎么将51单片机蓝牙串口通信的字符串改为数字啊。我想要的效果就是下图这样
我用的是PCA9685舵机控制板

img

【手机蓝牙控制两个舵机-哔哩哔哩】 https://b23.tv/0CkRDB6

  • 写回答

3条回答 默认 最新

  • 未来_未必会来 2023-02-02 17:59
    关注

    “怎么将51单片机蓝牙串口通信的字符串改为数字啊”----你只是想知道字符串怎么转换为数值是吧。
    看你截图的画面是发送一个角度值,例如90。“90”这个字符串实际上就是0x39,0x30这两个十六进制字节。
    你可以去了解一下ASCII码,你这个问题实际就是ASCII码转数字

    转换的方法呢就是这个值直接减去0x30,即字符‘0’

    例如char str[10] = “90”;
    int a = 0;
    a=(str[0] -'0')*10+(str[1]-'0') /即先取出十位数的9,减掉0x30之后就变成数值9,乘10之后再加上同样方法取出来的个位数的数值/

    不知道怎么表达,可能写得有点乱,去了解一下ASCII码吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月18日
  • 已采纳回答 2月10日
  • 修改了问题 2月1日
  • 创建了问题 2月1日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同