這個(gè)代碼是一個(gè)項(xiàng)目的初始代碼,可以在這個(gè)基礎(chǔ)上擴(kuò)展很多其他的東西,比如ros激光雷達(dá)、機(jī)械臂、視覺(jué)算法之類(lèi)的,硬件用的lm2596降壓到5V,1117降壓到3.3v,298n電機(jī)驅(qū)動(dòng)(tb6612也是一樣的)。下載用4線的stlink就好了,藍(lán)牙模塊隨便什么牌子都可以,線不連錯(cuò)就行,代碼比較簡(jiǎn)單,分享給大家,大家有相關(guān)項(xiàng)目的時(shí)候可以節(jié)省下“造輪子”的時(shí)間哈哈。
完整代碼:
履帶車(chē)oled程序.7z
(189.8 KB, 售價(jià): 1 E幣)
1.png (6.77 KB)
下載附件
2020-6-4 01:20 上傳
部分參考代碼:
main.c如下:
- #include "pwm.h"
- #include "system.h"
- #include "SysTick.h"
- #include "motor.h"
- #include "usart.h"
- #include "ALLDATA.h"
- #include "control.h"#include "oled.h"
- int main()
- {
- SysTick_Init(72);
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- TIM2_CH34_PWM_Init(7199,0);
- USART1_Init(9600);
- // TIM_SetCompare1(TIM2,185);
- MOTOR_Init(); OLED_Init();
-
- while(1)
- {
- motor_control();
- }
- }
復(fù)制代碼
控制函數(shù)部分如下:
- void motor_control (void)
- {
- if(r==0x38)
- {
- start_flag=1;
- }
-
- else if(r==0x37)
- {
- start_flag=0;
- car_stop();
- }
-
- if(start_flag==1)
- {
- if(r==0x30)
- {
- car_go();
- }
-
- else if(r==0x31)
- {
- car_back();
- }
-
- else if(r==0x32)
- {
- car_left();
- }
-
- else if(r==0x33)
- {
- car_right();
- }
-
- else if(r==0x34)
- {
- car_stop();
- }
- }
復(fù)制代碼
要注意的是手機(jī)app和藍(lán)牙通信發(fā)送的是ASCII碼形式, 需要if(r==0x31)判斷,而藍(lán)牙模塊與藍(lán)牙模塊配對(duì)時(shí)采用的hex16進(jìn)制數(shù)據(jù)發(fā)送,直接else if(r==1)就行了。
【必讀】版權(quán)免責(zé)聲明
1、本主題所有言論和內(nèi)容純屬會(huì)員個(gè)人意見(jiàn),與本論壇立場(chǎng)無(wú)關(guān)。2、本站對(duì)所發(fā)內(nèi)容真實(shí)性、客觀性、可用性不做任何保證也不負(fù)任何責(zé)任,網(wǎng)友之間僅出于學(xué)習(xí)目的進(jìn)行交流。3、對(duì)提供的數(shù)字內(nèi)容不擁有任何權(quán)利,其版權(quán)歸原著者擁有。請(qǐng)勿將該數(shù)字內(nèi)容進(jìn)行商業(yè)交易、轉(zhuǎn)載等行為,該內(nèi)容只為學(xué)習(xí)所提供,使用后發(fā)生的一切問(wèn)題與本站無(wú)關(guān)。 4、本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時(shí)本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來(lái),僅供學(xué)習(xí)用途使用,請(qǐng)務(wù)必下載后兩小時(shí)內(nèi)刪除,禁止商用。6、如有侵犯你版權(quán)的,請(qǐng)及時(shí)聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|