欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

STM32F103RCT6單片機按鍵控制智能車正反轉的代碼怎么做?

查看數: 2119 | 評論數: 7 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-5-18 22:57

正文摘要:

有大佬知道這種核心板按鍵控制智能車正反轉的代碼怎么做嗎

回復

ID:1073399 發表于 2023-5-22 22:47
#include "stm32f10x.h"

#define MOTOR_A1_PIN GPIO_Pin_2  //電機A1引腳
#define MOTOR_A2_PIN GPIO_Pin_3  //電機A2引腳
#define MOTOR_B1_PIN GPIO_Pin_4  //電機B1引腳
#define MOTOR_B2_PIN GPIO_Pin_5  //電機B2引腳

#define KEY_PIN GPIO_Pin_0   //按鍵引腳

void GPIO_Configuration(void);
void Delay(__IO uint32_t nCount);

int main(void)
{
  GPIO_Configuration();
  
  while(1)
  {
    if(GPIO_ReadInputDataBit(GPIOA,KEY_PIN) == 0) //按鍵按下
    {
      GPIO_SetBits(GPIOB, MOTOR_A1_PIN);  //電機A正轉
      GPIO_ResetBits(GPIOB, MOTOR_A2_PIN);
      GPIO_SetBits(GPIOB, MOTOR_B1_PIN);  //電機B正轉
      GPIO_ResetBits(GPIOB, MOTOR_B2_PIN);
      Delay(0xFFFFF); //延時一段時間,使智能車前進
    }
    else  //按鍵未按下
    {
     GPIO_ResetBits(GPIOB, MOTOR_A1_PIN);  //電機A停止
      GPIO_ResetBits(GPIOB, MOTOR_A2_PIN);
      GPIO_ResetBits(GPIOB, MOTOR_B1_PIN);  //電機B停止
      GPIO_ResetBits(GPIOB, MOTOR_B2_PIN);
    }
  }
}

void GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);  //使能GPIOA和GPIOB時鐘

  //按鍵引腳配置
  GPIO_InitStructure.GPIO_Pin = KEY_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;  //上拉輸入
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  //電機引腳配置
  GPIO_InitStructure.GPIO_Pin = MOTOR_A1_PIN | MOTOR_A2_PIN | MOTOR_B1_PIN | MOTOR_B2_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽輸出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
}

void Delay(__IO uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}

/*
這個代碼實現了一個簡單的按鍵控制智能車前進的功能。當按鍵按下時,電機A和電機B同時正轉,使智能車前進;當按鍵未按下時,電機A和電機B停止,智能車停止前進。

在代碼中,我們使用了兩個GPIO口控制電機的正反轉,其中MOTOR_A1_PIN和MOTOR_B1_PIN控制電機正轉,MOTOR_A2_PIN和MOTOR_B2_PIN控制電機反轉。在按鍵引腳(KEY_PIN)被按下時,我們設置了電機正轉的引腳,使智能車前進,同時使用了一個簡單的延時函數Delay來控制智能車前進的時間。當按鍵未被按下時,我們關閉了所有電機引腳,使智能車停止前進。
*/
ID:731755 發表于 2023-5-22 19:19
jhczy 發表于 2023-5-22 08:49
我也在做無刷電機的驅動板,現在被卡在開環啟動轉閉環不能自動銜接上,顯示“速度反饋錯誤”啟動后達到設 ...

你的速度快一點,我才開始,用的有刷電機,干擾的單片機無法控制,現在正在改電路
ID:170318 發表于 2023-5-22 08:49
13872888583 發表于 2023-5-22 00:37
我也在研究這個東西,目前我的板子已經手工焊接好,正在研究程序。不過你首先把材料備齊。電機,單片機核心 ...

我也在做無刷電機的驅動板,現在被卡在開環啟動轉閉環不能自動銜接上,顯示“速度反饋錯誤”啟動后達到設定速度就停轉了
ID:170318 發表于 2023-5-22 08:46
wangshunda 發表于 2023-5-21 23:47
用單片機直接控制電機正反轉,需要四個IO口,控制四個繼電器,把這四個分成兩組對電機供電。兩組不能同時供 ...

樓主的電機可能不是有刷電機
ID:731755 發表于 2023-5-22 00:37
我也在研究這個東西,目前我的板子已經手工焊接好,正在研究程序。不過你首先把材料備齊。電機,單片機核心板,電機驅動板,電源或者電池
ID:820444 發表于 2023-5-21 23:47
用單片機直接控制電機正反轉,需要四個IO口,控制四個繼電器,把這四個分成兩組對電機供電。兩組不能同時供電,不然會短路。
自己做的話,很麻煩,很多接線,不好看,不實用。
買一個電機驅動板, 按鍵控制一個GPIO引腳,不會出現短路問題。
ID:517951 發表于 2023-5-20 11:53
這個板子在網上能買到的, 賣家店鋪里面有例程.  自己增加一個按鍵, 一個電機驅動板, 按鍵控制一個GPIO腳高低電平給到電機驅動板來實現正反轉.

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表