day_1

1.舵机控制,SG90舵机通过PWM波的占空比控制转动角度

 

2.红外循迹,前面的路线如果是黑色的则输出高电平,其他则为低电平。 即我们应该初始化IO口为下拉输入,当被上拉则说明检测到了黑色。

         这里有4个红外对管,做4个输入读取。

3.超声波

    可以根据返回的高电平的时间测算距离

 

4.超声波跟随

检测距离小于预设值就后退,大于预测值就前进,否则就不动 

 

5.超声波加舵机避障,通过舵机左右扭转判断前方是否有障碍物,逻辑:前方没有则直行,前方有障碍则尝试右转舵机,否则左转舵机,都不行则后退

6.定时器的编码器功能

 电机通过码盘输出A 相和B相,当A相下降沿时,B相为高电平为正向,B相为低电平为方向

我们可以使用定时器来对编码信号进行测量,CNT寄存器和DIR寄存器 , CNT寄存器用于记录脉冲数量,DIR用于表示计数方向

 计算时间变化量:计数器变化量 = 当前计数器的值(每一次检测到值后,会清零当前的值)

根据电机的参数可以算出电机旋转一周会产生多少个脉冲,如图,该电机的减速比为1:9.6即旋转一圈会旋转9.6圈,又一圈会产生11个脉冲 ,又单片机计数时设置为4倍频,所以单片机会接收到9.6*11*4个脉冲,此时我们仅需根据一个单位时间内单片机共收到了几个脉冲即可算出电机旋转了多少圈。

7.hal库的使用

选择芯片,选择引脚,时钟设置,project设置名称,code 勾选和 选择ARM开发,generate code完成编写

初始化配置就已经写好了,我们只需要自己写逻辑配置

 最简单的点灯,HAL_Delay是一个毫秒级的延时函数,HAL_GPIO_WritePin用于给IO设置高低电平。

        可以通过这个地方对IO口的初始模式进行设置

如图PC5被设置成了上拉模式 

HAL_GPIO_ReadPin读取电平

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值