找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1802|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

STM32F103RCT6單片機(jī)按鍵控制智能車正反轉(zhuǎn)的代碼怎么做?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1072718 發(fā)表于 2023-5-18 22:57 來(lái)自觸屏版 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
有大佬知道這種核心板按鍵控制智能車正反轉(zhuǎn)的代碼怎么做嗎

tb_image_share_1684421598433.jpg (318.09 KB, 下載次數(shù): 58)

tb_image_share_1684421598433.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:517951 發(fā)表于 2023-5-20 11:53 | 只看該作者
這個(gè)板子在網(wǎng)上能買到的, 賣家店鋪里面有例程.  自己增加一個(gè)按鍵, 一個(gè)電機(jī)驅(qū)動(dòng)板, 按鍵控制一個(gè)GPIO腳高低電平給到電機(jī)驅(qū)動(dòng)板來(lái)實(shí)現(xiàn)正反轉(zhuǎn).
回復(fù)

使用道具 舉報(bào)

板凳
ID:820444 發(fā)表于 2023-5-21 23:47 | 只看該作者
用單片機(jī)直接控制電機(jī)正反轉(zhuǎn),需要四個(gè)IO口,控制四個(gè)繼電器,把這四個(gè)分成兩組對(duì)電機(jī)供電。兩組不能同時(shí)供電,不然會(huì)短路。
自己做的話,很麻煩,很多接線,不好看,不實(shí)用。
買一個(gè)電機(jī)驅(qū)動(dòng)板, 按鍵控制一個(gè)GPIO引腳,不會(huì)出現(xiàn)短路問(wèn)題。
回復(fù)

使用道具 舉報(bào)

地板
ID:731755 發(fā)表于 2023-5-22 00:37 來(lái)自觸屏版 | 只看該作者
我也在研究這個(gè)東西,目前我的板子已經(jīng)手工焊接好,正在研究程序。不過(guò)你首先把材料備齊。電機(jī),單片機(jī)核心板,電機(jī)驅(qū)動(dòng)板,電源或者電池
回復(fù)

使用道具 舉報(bào)

5#
ID:170318 發(fā)表于 2023-5-22 08:46 | 只看該作者
wangshunda 發(fā)表于 2023-5-21 23:47
用單片機(jī)直接控制電機(jī)正反轉(zhuǎn),需要四個(gè)IO口,控制四個(gè)繼電器,把這四個(gè)分成兩組對(duì)電機(jī)供電。兩組不能同時(shí)供 ...

樓主的電機(jī)可能不是有刷電機(jī)
回復(fù)

使用道具 舉報(bào)

6#
ID:170318 發(fā)表于 2023-5-22 08:49 | 只看該作者
13872888583 發(fā)表于 2023-5-22 00:37
我也在研究這個(gè)東西,目前我的板子已經(jīng)手工焊接好,正在研究程序。不過(guò)你首先把材料備齊。電機(jī),單片機(jī)核心 ...

我也在做無(wú)刷電機(jī)的驅(qū)動(dòng)板,現(xiàn)在被卡在開環(huán)啟動(dòng)轉(zhuǎn)閉環(huán)不能自動(dòng)銜接上,顯示“速度反饋錯(cuò)誤”啟動(dòng)后達(dá)到設(shè)定速度就停轉(zhuǎn)了
回復(fù)

使用道具 舉報(bào)

7#
ID:731755 發(fā)表于 2023-5-22 19:19 | 只看該作者
jhczy 發(fā)表于 2023-5-22 08:49
我也在做無(wú)刷電機(jī)的驅(qū)動(dòng)板,現(xiàn)在被卡在開環(huán)啟動(dòng)轉(zhuǎn)閉環(huán)不能自動(dòng)銜接上,顯示“速度反饋錯(cuò)誤”啟動(dòng)后達(dá)到設(shè) ...

你的速度快一點(diǎn),我才開始,用的有刷電機(jī),干擾的單片機(jī)無(wú)法控制,現(xiàn)在正在改電路
回復(fù)

使用道具 舉報(bào)

8#
ID:1073399 發(fā)表于 2023-5-22 22:47 | 只看該作者
#include "stm32f10x.h"

#define MOTOR_A1_PIN GPIO_Pin_2  //電機(jī)A1引腳
#define MOTOR_A2_PIN GPIO_Pin_3  //電機(jī)A2引腳
#define MOTOR_B1_PIN GPIO_Pin_4  //電機(jī)B1引腳
#define MOTOR_B2_PIN GPIO_Pin_5  //電機(jī)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);  //電機(jī)A正轉(zhuǎn)
      GPIO_ResetBits(GPIOB, MOTOR_A2_PIN);
      GPIO_SetBits(GPIOB, MOTOR_B1_PIN);  //電機(jī)B正轉(zhuǎn)
      GPIO_ResetBits(GPIOB, MOTOR_B2_PIN);
      Delay(0xFFFFF); //延時(shí)一段時(shí)間,使智能車前進(jìn)
    }
    else  //按鍵未按下
    {
     GPIO_ResetBits(GPIOB, MOTOR_A1_PIN);  //電機(jī)A停止
      GPIO_ResetBits(GPIOB, MOTOR_A2_PIN);
      GPIO_ResetBits(GPIOB, MOTOR_B1_PIN);  //電機(jī)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時(shí)鐘

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

  //電機(jī)引腳配置
  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--);
}

/*
這個(gè)代碼實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的按鍵控制智能車前進(jìn)的功能。當(dāng)按鍵按下時(shí),電機(jī)A和電機(jī)B同時(shí)正轉(zhuǎn),使智能車前進(jìn);當(dāng)按鍵未按下時(shí),電機(jī)A和電機(jī)B停止,智能車停止前進(jìn)。

在代碼中,我們使用了兩個(gè)GPIO口控制電機(jī)的正反轉(zhuǎn),其中MOTOR_A1_PIN和MOTOR_B1_PIN控制電機(jī)正轉(zhuǎn),MOTOR_A2_PIN和MOTOR_B2_PIN控制電機(jī)反轉(zhuǎn)。在按鍵引腳(KEY_PIN)被按下時(shí),我們?cè)O(shè)置了電機(jī)正轉(zhuǎn)的引腳,使智能車前進(jìn),同時(shí)使用了一個(gè)簡(jiǎn)單的延時(shí)函數(shù)Delay來(lái)控制智能車前進(jìn)的時(shí)間。當(dāng)按鍵未被按下時(shí),我們關(guān)閉了所有電機(jī)引腳,使智能車停止前進(jìn)。
*/
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表