0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

19.5-星曈科技 STM32接收openmv數(shù)據(jù)-根據(jù)狀態(tài)控制電機(jī) 超詳細(xì)OpenMV與STM32單片機(jī)通信 OPENMV和STM32的識(shí)別追蹤小車(chē)

dfhjgfg ? 來(lái)源:dfhjgfg ? 作者:dfhjgfg ? 2024-08-20 11:24 ? 次閱讀

功能介紹放開(kāi)頭, 使用便捷無(wú)需愁

這是全網(wǎng)最詳細(xì)、性價(jià)比最高的STM32實(shí)戰(zhàn)項(xiàng)目入門(mén)教程,通過(guò)合理的硬件設(shè)計(jì)和詳細(xì)的視頻筆記介紹,硬件使用STM32F103主控資料多方便學(xué)習(xí),通過(guò)3萬(wàn)字筆記、12多個(gè)小時(shí)視頻、20多章節(jié)代碼手把手教會(huì)你如何開(kāi)發(fā)和調(diào)試。讓你更快掌握嵌入式系統(tǒng)開(kāi)發(fā)。

V3.3.0-STM32智能小車(chē)

視頻: https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click

V3:HAL庫(kù)開(kāi)發(fā)、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺(jué)控制、電磁循跡、RTOS等功能。

19.5-STM32接收數(shù)據(jù)-根據(jù)狀態(tài)控制電機(jī)

前面我們測(cè)試了openmv能夠正確識(shí)別,正確發(fā)送數(shù)據(jù)、STM32能夠正確接收、那么下面STM32單片機(jī)就要開(kāi)始控制電機(jī)了。

這里控制電機(jī)其實(shí)和我們紅外循跡PID基本一致。

需要注意的 因?yàn)槲覀兊臄z像頭更加前瞻,距離車(chē)輪更遠(yuǎn),所以電機(jī)同樣的擺動(dòng)幅度,攝像頭擺動(dòng)更大。

先分析一下之前的代碼,然后明白我們要改什么了就
在這里插入圖片描述
所以我們需要上面紅色減藍(lán)色 的部分

這里我們先定義一個(gè)結(jié)構(gòu)體,這個(gè)是攝像頭PID循跡,仿造那個(gè)紅外對(duì)管的就可以。

tPid pidOpenmv_Tracking;//openmv攝像頭的PID結(jié)構(gòu)體類(lèi)型變量

在這里插入圖片描述

pidOpenmv_Tracking.actual_val=0.0;
	pidOpenmv_Tracking.target_val=0.00;//攝像頭PID 的目標(biāo)值為0
	pidOpenmv_Tracking.err=0.0;
	pidOpenmv_Tracking.err_last=0.0;
	pidOpenmv_Tracking.err_sum=0.0;
	pidOpenmv_Tracking.Kp=-0.4;//攝像頭循跡PID的K和d先調(diào)整的小一些
	pidOpenmv_Tracking.Ki=0;
	pidOpenmv_Tracking.Kd=0.10;

在這里插入圖片描述
聲明一下

extern tPid pidOpenmv_Tracking;//攝像頭的PID

在這里插入圖片描述

sprintf((char*)OledString, "lHW:%d  ", g_lHW_State);//視覺(jué)識(shí)別結(jié)果
		OLED_ShowString(0,0,OledString,12);//這個(gè)是oled驅(qū)動(dòng)里面的,是顯示位置的一個(gè)函數(shù),
		
		g_fHW_PID_Out = PID_realize(&pidOpenmv_Tracking,g_cThisState);//PID計(jì)算輸出目標(biāo)速度 這個(gè)速度,會(huì)和基礎(chǔ)速度加減

		g_fHW_PID_Out1 = 0.5 + g_fHW_PID_Out;//電機(jī)1速度=基礎(chǔ)速度+循跡PID輸出速度
		g_fHW_PID_Out2 = 0.5 - g_fHW_PID_Out;//電機(jī)1速度=基礎(chǔ)速度-循跡PID輸出速度
		if(g_fHW_PID_Out1 >1.2) g_fHW_PID_Out1 =1.2;//進(jìn)行限幅 限幅速度在0-1.2之間
		if(g_fHW_PID_Out1 < 0) g_fHW_PID_Out1 =0;
		if(g_fHW_PID_Out2 >1.2) g_fHW_PID_Out2 =1.2;//進(jìn)行限幅 限幅速度在0-1.2之間
		if(g_fHW_PID_Out2 < 0) g_fHW_PID_Out2 =0;
		if(g_cThisState != g_cLastState)//如何這次狀態(tài)不等于上次狀態(tài)、就進(jìn)行改變目標(biāo)速度和控制電機(jī)、在定時(shí)器中依舊定時(shí)控制電機(jī)
		{
			motorPidSetSpeed(g_fHW_PID_Out1,g_fHW_PID_Out2);//通過(guò)計(jì)算的速度控制電機(jī)
		}
		
		g_cLastState = g_cThisState;//保存上次紅外對(duì)管狀態(tài)

在這里插入圖片描述
注意攝像頭不能仰角太大
在這里插入圖片描述

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2281

    文章

    10974

    瀏覽量

    360624
  • 小車(chē)
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    21158
  • 單片機(jī)通信
    +關(guān)注

    關(guān)注

    1

    文章

    12

    瀏覽量

    15462
  • 控制電機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    243

    瀏覽量

    18485
  • openMV
    +關(guān)注

    關(guān)注

    3

    文章

    39

    瀏覽量

    10101
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    第19.1 章-瞳科技 OpenMV視覺(jué)循跡功能 詳細(xì)OpenMVSTM32單片機(jī)通信

    第19.1 章-[瞳科技]OpenMV視覺(jué)循跡功能 詳細(xì)OpenMVSTM32
    的頭像 發(fā)表于 08-20 11:41 ?1324次閱讀
    第19.1 章-<b class='flag-5'>星</b>瞳科技 <b class='flag-5'>OpenMV</b>視覺(jué)循跡功能 <b class='flag-5'>超</b><b class='flag-5'>詳細(xì)</b><b class='flag-5'>OpenMV</b>與<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>通信</b>

    19.3-科技 openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺(jué)巡線小車(chē) STM32循跡小車(chē)系列教程

    19.3-【科技】openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺(jué)巡線小車(chē)
    的頭像 發(fā)表于 08-20 11:32 ?1274次閱讀
    19.3-<b class='flag-5'>星</b><b class='flag-5'>曈</b>科技 <b class='flag-5'>openmv</b> Hopenmv發(fā)送五個(gè)uchar <b class='flag-5'>Openmv+STM32</b>F103C8T6視覺(jué)巡線<b class='flag-5'>小車(chē)</b> <b class='flag-5'>STM32</b>循跡<b class='flag-5'>小車(chē)</b>系列教程

    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與小車(chē)控制 Openmv+STM32F103C8T6視覺(jué)巡線小車(chē)

    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與小車(chē)
    的頭像 發(fā)表于 08-20 11:12 ?1326次閱讀
    19.4-<b class='flag-5'>STM32</b><b class='flag-5'>接收</b><b class='flag-5'>數(shù)據(jù)</b>-<b class='flag-5'>狀態(tài)</b>顯示在屏幕 <b class='flag-5'>openMV</b>尋跡與<b class='flag-5'>小車(chē)</b><b class='flag-5'>控制</b> <b class='flag-5'>Openmv+STM32</b>F103C8T6視覺(jué)巡線<b class='flag-5'>小車(chē)</b>

    怎樣設(shè)計(jì)OPENMVSTM32識(shí)別追蹤小車(chē)

    OPENMVSTM32識(shí)別追蹤小車(chē)詳細(xì)版)之STM32
    發(fā)表于 08-11 06:27

    OpenMvSTM32通信問(wèn)題

    問(wèn)題,剛開(kāi)始不知道哪里出了問(wèn)題,一直通信失敗,明明使用TTL串口接收OpenMv發(fā)送的數(shù)據(jù)是可以在串口調(diào)試助手上顯示的,但就是無(wú)法發(fā)給Stm32
    發(fā)表于 08-16 07:44

    STM32openmv通信的相關(guān)資料分享

    最近需要用到openmv進(jìn)行追蹤物體,所以在此做個(gè)小結(jié),其中這些文章給我很大的幫助,建議可以去看詳細(xì)OpenMV
    發(fā)表于 02-21 06:47

    基于OPENMVSTM32識(shí)別追蹤小車(chē)設(shè)計(jì)實(shí)現(xiàn)

    OPENMVSTM32識(shí)別追蹤小車(chē)詳細(xì)版)實(shí)現(xiàn):通過(guò)O
    發(fā)表于 02-25 06:21

    OpenMvstm32簡(jiǎn)單串口通信

    前言剛開(kāi)始學(xué)openmv與32串口通信,我是用的stm32f103的板子。開(kāi)始想簡(jiǎn)單發(fā)送字符或者16位數(shù)試驗(yàn)一下,然后就遇到了個(gè)小問(wèn)題,即openmv
    發(fā)表于 12-16 16:56 ?27次下載
    <b class='flag-5'>OpenMv</b>與<b class='flag-5'>stm32</b>簡(jiǎn)單串口<b class='flag-5'>通信</b>

    科技】OpenMv筆記——利用OpenMVSTM32進(jìn)行串口通信

    利用OpenMVSTM32進(jìn)行串口通信OpenMV端的程序# Untitled - By: dell - 周一 7月 19 2021# Blob Detection and uart
    發(fā)表于 12-24 18:51 ?27次下載
    【<b class='flag-5'>星</b><b class='flag-5'>曈</b>科技】<b class='flag-5'>OpenMv</b>筆記——利用<b class='flag-5'>OpenMV</b>與<b class='flag-5'>STM32</b>進(jìn)行串口<b class='flag-5'>通信</b>

    OpenMV識(shí)別色塊并且與STM32串口通信

    。因?yàn)橐曈X(jué)部分有兩個(gè)任務(wù),所以用單片機(jī)STM32發(fā)送“1”,開(kāi)始顏色識(shí)別,發(fā)送“2”,開(kāi)始特征點(diǎn)識(shí)別。不發(fā)送則不識(shí)別。
    發(fā)表于 12-24 19:03 ?44次下載
    <b class='flag-5'>OpenMV</b><b class='flag-5'>識(shí)別</b>色塊并且與<b class='flag-5'>STM32</b>串口<b class='flag-5'>通信</b>

    STM32openmv通信(HAL庫(kù))

    最近需要用到openmv進(jìn)行追蹤物體,所以在此做個(gè)小結(jié),其中這些文章給我很大的幫助,建議可以去看詳細(xì)OpenMV
    發(fā)表于 12-24 19:16 ?23次下載
    <b class='flag-5'>STM32</b>與<b class='flag-5'>openmv</b><b class='flag-5'>通信</b>(HAL庫(kù))

    OpenMV單片機(jī)串口通信交互

    器件:OpenMVMM32單片機(jī)一、采用串口通信串口通信想必大家都知道,這里就不多贅述了,如果有不了解的可以看我的往期文章【STM32】HAL庫(kù) CubeMX例程三—串口中斷
    發(fā)表于 12-27 19:21 ?20次下載
    <b class='flag-5'>OpenMV</b>與<b class='flag-5'>單片機(jī)</b>串口<b class='flag-5'>通信</b>交互

    OPENMVSTM32識(shí)別追蹤小車(chē)詳細(xì)版)之OPENMV

    OPENMVSTM32識(shí)別追蹤小車(chē)詳細(xì)版)實(shí)現(xiàn):通過(guò)O
    發(fā)表于 01-13 12:05 ?4次下載
    <b class='flag-5'>OPENMV</b>和<b class='flag-5'>STM32</b>的<b class='flag-5'>識(shí)別</b><b class='flag-5'>追蹤</b><b class='flag-5'>小車(chē)</b>(<b class='flag-5'>詳細(xì)</b>版)之<b class='flag-5'>OPENMV</b>端

    【DIY】基于OpenMVSTM32追球小車(chē)

    簡(jiǎn)單識(shí)別程序設(shè)計(jì)【microPython】2)STM32控制程序設(shè)計(jì) 【C語(yǔ)言】①對(duì)OpenMV發(fā)送的數(shù)據(jù)包進(jìn)行解析②
    發(fā)表于 01-14 13:01 ?48次下載
    【DIY】基于<b class='flag-5'>OpenMV</b>的<b class='flag-5'>STM32</b>追球<b class='flag-5'>小車(chē)</b>

    第19.2章-科技 openmv H7 plus openmv視覺(jué)循跡功能-完成視覺(jué)識(shí)別指定區(qū)域 OpenMV視覺(jué)模塊循跡 STM32F103C8T6視覺(jué)巡線

    第19.2章-【科技】openmv H7 plus openmv視覺(jué)循跡功能-完成視覺(jué)識(shí)別指定區(qū)域
    的頭像 發(fā)表于 08-20 11:28 ?780次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品