2-STM32多功能小车--(5)主函数

1–原理:
通过开发板上的三个按键控制三个模式–按键1,2,3分别代表蓝牙控制,红外循迹,舵机加超声波避障,切换功能时按复位键就行;

2:代码;
主函数:

#include "move.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "trailing.h"
#include "key.h"
#include "control.h"
#include "wave.h"
int main()
{
 u8 mode;
 Stm32_Clock_Init(9);
 delay_init(72);
 key_init();
 uart_init(72,9600);
 MOVE_Init(7199,0);//PWM频率=72000(719+1)=100Khz
 left_PWM=100;
 right_PWM=100;
 stop();
 while(1)
 {
  go(10);
  mode=key();
  printf("mode%d",mode);
  switch(mode)
  {
   case 1:control();break;
   case 2:trailing();break;
   case 3:wave_init();
   default:break;
  }
 }
}

按键控制:
key.h

#ifndef _KEY_H_
#define _KEY_H_
#include "sys.h"
#define KEY_0  PCin(5)
#define KEY_1  PAin(15)
#define KEY_UP PAin(0)
void key_init(void);
u8 key(void);
#endif

key.c

#include "key.h"
void key_init()
{
 RCC->APB2ENR |=1<<2;
 RCC->APB2ENR |=1<<4;
 GPIOA->CRL &=0XFFFFFFF0;//PA0
 GPIOA->CRL |=0X00000008;
 GPIOA->CRH &=0X0FFFFFFF;//PA15
 GPIOA->CRH |=0X80000000;
 GPIOA->CRL &=0XFF0FFFFF;//PC5
 GPIOA->CRL |=0X00800000;
}
u8 key()
{
 key_init();
 if(KEY_0==0)
  return 1;
 else if(KEY_1==0)
  return 2;
 else if(KEY_UP==1)
  return 3;
 else 
  return 0;
}

该部分代码都比较简单;
到这小车主体功能大概就差不多了,下篇介绍下硬件方面的问题;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 基于ARM-STM32的手势感应无线遥控小车是一种创新的智能小车设计。该小车利用ARM-STM32作为控制器,实现手势感应和无线遥控功能。 手势感应是通过一种特殊的传感器技术,能够识别人的手势动作并将其转化为相应的指令。在这个小车中,通过使用加速度计和陀螺仪等传感器,可以实时获取用户的手部动作,并将其转化为控制指令。比如,当用户向左移动手掌时,小车向左转动;当用户向右移动手掌时,小车向右转动。这种手势感应的控制方式更加直观和方便,用户可以通过简单的手势动作来操控小车的运动。 此外,该小车还具备无线遥控功能,用户可以通过无线遥控器来控制小车的运动。无线遥控技术使用了一种无线通信模块,通过发送和接收信号来控制小车的移动。用户可以通过按键或摇杆等操作来控制小车的前进、后退、左转和右转。无线遥控使小车的控制更加灵活,用户可以远程操控小车,无需与小车保持实时连接。 基于ARM-STM32的手势感应无线遥控小车具有多种应用场景。首先,它可以作为玩具,提供给儿童玩乐和探索的机会。其次,它可以用作教育工具,帮助学生了解物理原理和电子技术。此外,它还可以用于智能家居领域,通过手势感应和无线遥控来控制家电或监控设备。总之,这种手势感应无线遥控小车集成了多种技术,为用户提供了一种新颖而方便的控制方式,拓展了无线遥控应用的可能性。 ### 回答2: 基于ARM-STM32的手势感应无线遥控小车是一种通过手势识别技术实现远程控制的小车。该小车STM32芯片作为控制核心,集成了无线通信模块和手势传感器,并且搭载了各种传感器和执行器,具备了智能避障、路径规划、图像识别等功能。 用户可以通过手势传感器来控制小车的运动。手势传感器可以识别用户的手势动作,比如向上划动手指,小车就会向前行驶;向下划动手指,小车就会后退;向左或向右划动手指,则小车会进行相应的转向操作。这种操作方式使得用户能够更加直观地控制小车的移动,提高了交互体验。 基于ARM-STM32的控制芯片,具有较高的计算和处理能力,能够实现实时的手势识别和远程控制。无线通信模块可以使得小车和操作者之间建立可靠的通信连接,实现远程控制。同时,小车还可以通过搭载的传感器实现其他功能,比如超声波距离传感器用于避障,图像传感器用于图像识别等。 总而言之,基于ARM-STM32的手势感应无线遥控小车通过手势传感器和无线通信实现了远程控制功能,方便用户进行移动操作。同时,搭载的其他传感器和执行器可以实现更多的智能功能,提高了小车的自主性和实用性。这种技术能够应用于多个领域,比如智能家居、仓储物流等,具有广阔的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是智造哎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值