0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

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

基于CW32的遙控循跡小車

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2023-11-17 17:46 ? 次閱讀

例程資料鏈接如下(群文件也可下載):

BD網(wǎng)盤鏈接:

https://pan.baidu.com/s/187ePq84u2QjE1bsVPM6i3g?pwd=9jvv

提取碼:9jvv

一、實驗簡介

本實驗是使用CW32單片機制作一個入門的遙控循跡小車。遙控采用藍牙配合手機APP進行遙控。循跡使用一個5路的循跡模塊。使用OLED模塊進行顯示當(dāng)前小車狀態(tài)。

二、實驗器材

本實驗使用到了CW32F030C8小藍板、智能小車底板、電機驅(qū)動模塊、OLED模塊、DX-BT04-E藍牙模塊、Wch-Link下載調(diào)試器、Keil5開發(fā)環(huán)境。

圖片

二、接線圖
image.png
image.png
image.png

實驗完整接線圖:

圖片

四、用到的外設(shè)

1.串口2:

串口2用于藍牙模塊,使手機和單片機通過藍牙模塊進行串口透傳,從 而進行點對點通信。

2.高級定時器ATIM:

初始化高級定時器CH1B和CH2B進行PWM波輸出,從而達到電機調(diào)速目的。

3.基本定時器BTIM1:

初始化基本定時器1,在基本定時器中斷服務(wù)函數(shù)中對循跡模塊進行掃描。將掃描的結(jié)果保存,以便在循跡模式中使用。

4.IIC1:

IIC1用于外掛OLED顯示模塊。

五、核心代碼

// 基本定時器中斷回調(diào)函數(shù)
// 在回調(diào)函數(shù)中對循跡模塊進行掃描,將循跡模塊的狀態(tài)保存進sensor_data中
void BTIM1_IRQHandler(void)
{
    if (BTIM_GetITStatus(CW_BTIM1, BTIM_IT_OV)) // 判斷是否是通道1中斷
    {


        BTIM_ClearITPendingBit(CW_BTIM1, BTIM_IT_OV); // 清除中斷標(biāo)志位


        char t = 0x00; // 設(shè)置零時變量保存灰度傳感器的值


        // 保存灰度傳感器的值
        // 采用或運算,檢測到黑線將相應(yīng)的位設(shè)置為1
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_1))
        {
            t |= 0x08; // 00001000 左邊數(shù)第一個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_2))
        {
            t |= 0x04; // 00000100 左邊數(shù)第二個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_3))
        {
            t |= 0x02; // 00000010 左邊數(shù)以三個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_4))
        {
            t |= 0x01; // 00000001 左邊數(shù)第4個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOC, TRACKING_5))
        {
            t |= 0x10; // 00010000 左邊數(shù)第5個
        }
        sensor_data = t; // 將灰度傳感器的值賦值給sensor_data
    }
}


// 串口1中斷處理函數(shù)
void UART1_IRQHandler(void)
{
    unsigned char TxRxBuffer;
    if (USART_GetITStatus(CW_UART1, USART_IT_RC) != RESET)
    {
        USART_ClearITPendingBit(CW_UART1, USART_IT_RC); // 清除中斷標(biāo)志位
        TxRxBuffer = USART_ReceiveData_8bit(CW_UART1);  // 將接收到的數(shù)據(jù)放入TxRxBuffer


        USART_RX_BUF[rxIndex] = TxRxBuffer; // 將接收到的數(shù)據(jù)放入緩沖區(qū)


        if (rxIndex < USART_REC_LEN - 1) // 做數(shù)據(jù)長度的限制,留一個字節(jié)用于結(jié)束字符或者溢出檢測
        {
            // 接收到的字符包含 n 或者 r 結(jié)束接收
            if (USART_RX_BUF[rxIndex - 1] == 'n' || USART_RX_BUF[rxIndex - 1] == 'r')
            {
                USART_RX_BUF[rxIndex] = '?'; // 在最后一個字節(jié)加上空字符,表示字符串結(jié)束
            }
            else
            {
                rxIndex++;
            }
        }
        rxIndex = 0; // 清除數(shù)據(jù)標(biāo)志
        flag = 1;    // 清除
    }

審核編輯 黃宇

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

    關(guān)注

    11

    文章

    285

    瀏覽量

    57418
  • 循跡小車
    +關(guān)注

    關(guān)注

    42

    文章

    65

    瀏覽量

    68639
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    210

    瀏覽量

    699
收藏 人收藏

    評論

    相關(guān)推薦

    武漢芯源半導(dǎo)體CW32芯片重慶地區(qū)線下技術(shù)交流會成功舉辦

    2024年10月19日,武漢芯源半導(dǎo)體授權(quán)CW32生態(tài)社區(qū)主辦的“CW32芯片-重慶地區(qū)技術(shù)交流會”在重慶市科技工作者眾創(chuàng)之家成功舉辦。此次交流會匯聚重慶地區(qū)的嵌入式開發(fā)工程師和電子信息類企業(yè)代表,共同探討CW32芯片在儀器儀表
    的頭像 發(fā)表于 10-24 10:55 ?518次閱讀

    CW32模塊使用 紅外循跡傳感器

    紅外循跡傳感器采用TCRT5000紅外反射傳感器,一種集發(fā)射與接收于一體的光電傳感器,它由一個紅外發(fā)光二極管和一個NPN紅外光電三極管組成。檢測反射距離1mm-25mm適用,傳感器特設(shè)M3固定安裝孔
    的頭像 發(fā)表于 09-18 14:31 ?420次閱讀
    <b class='flag-5'>CW32</b>模塊使用 紅外<b class='flag-5'>循跡</b>傳感器

    第13章-循跡功能 STM32智能小車循跡教程 PID循跡算法分析

    第13章-循跡功能 循跡小車講解 原理分析 STM32智能小車循跡教程 紅外對管使用 PID循跡
    的頭像 發(fā)表于 08-21 16:27 ?1730次閱讀
    第13章-<b class='flag-5'>循跡</b>功能 STM32智能<b class='flag-5'>小車</b><b class='flag-5'>循跡</b>教程 PID<b class='flag-5'>循跡</b>算法分析

    第14章-藍牙遙控小車 藍牙串口通訊講解藍牙APP遙控小車 藍牙串口通訊講解

    第14章-藍牙遙控小車 手把手做藍牙APP遙控小車 藍牙串口通訊講解
    的頭像 發(fā)表于 08-21 16:24 ?812次閱讀
    第14章-藍牙<b class='flag-5'>遙控</b><b class='flag-5'>小車</b> 藍牙串口通訊講解藍牙APP<b class='flag-5'>遙控</b><b class='flag-5'>小車</b> 藍牙串口通訊講解

    19.3-星曈科技 openmv Hopenmv發(fā)送五個uchar Openmv+STM32F103C8T6視覺巡線小車 STM32循跡小車系列教程

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

    20.0-電磁桿的組裝和實物介紹“這個是就是你想要的“-智能車電磁組 電磁循跡小車

    電子設(shè)計大賽20.0-電磁桿的組裝和實物介紹“這個是就是你想要的“-智能車電磁組 電磁循跡小車 電磁循跡 電磁循跡小車代碼 電磁桿的制作 電
    的頭像 發(fā)表于 08-20 11:07 ?468次閱讀
    20.0-電磁桿的組裝和實物介紹“這個是就是你想要的“-智能車電磁組 電磁<b class='flag-5'>循跡</b><b class='flag-5'>小車</b>

    20.3-使用兩個通道進行電磁循跡 智能車競賽 電磁桿原理圖 電磁循跡小車 STM32電磁小車 電磁循跡算法

    20.3-使用兩個通道進行電磁循跡 智能車競賽 電磁桿原理圖 電磁循跡小車 智能車電磁組 STM32電磁小車 電磁循跡
    的頭像 發(fā)表于 08-20 10:56 ?879次閱讀
    20.3-使用兩個通道進行電磁<b class='flag-5'>循跡</b> 智能車競賽 電磁桿原理圖 電磁<b class='flag-5'>循跡</b><b class='flag-5'>小車</b> STM32電磁<b class='flag-5'>小車</b> 電磁<b class='flag-5'>循跡</b>算法

    【項目展示】基于CW32遙控循跡小車

    CW32循跡小車.zip_免費高速下載|百度網(wǎng)盤-分享無限制? 一、概述 CW32循跡、遙控
    的頭像 發(fā)表于 05-31 17:33 ?1369次閱讀
    【項目展示】基于<b class='flag-5'>CW32</b>的<b class='flag-5'>遙控</b><b class='flag-5'>循跡</b><b class='flag-5'>小車</b>

    基于CW32的有刷直流電機控制實驗三:直流電機閉環(huán)位置和速度控制實驗

    硬件接線說明 實驗使用的模塊主要有6個:小車主控板(黑色)、CW32F030小藍板、OLED屏幕、TB6612電機驅(qū)動模塊、直流減速電機、DAP-Link下載器。 安裝好后的圖片如下: 如果
    的頭像 發(fā)表于 05-31 17:01 ?620次閱讀
    基于<b class='flag-5'>CW32</b>的有刷直流電機控制實驗三:直流電機閉環(huán)位置和速度控制實驗

    CW32數(shù)字電壓電流表軟件教程-實驗四:數(shù)碼管動態(tài)顯示

    顯示不同的值需要用到CW32的定時器功能,在定時器的中斷服務(wù)程序里面執(zhí)行顯示刷新的動作。有關(guān)CW32的定時器和中斷的相關(guān)知識請查看鏈接:【CW32F003E4核心板】入門學(xué)習(xí)教程。本文只講述如何配置定時器中斷并執(zhí)行數(shù)碼管刷新函數(shù)
    的頭像 發(fā)表于 05-31 15:23 ?556次閱讀
    <b class='flag-5'>CW32</b>數(shù)字電壓電流表軟件教程-實驗四:數(shù)碼管動態(tài)顯示

    芯源半導(dǎo)體首個CW32嵌入式創(chuàng)新實驗室揭牌

    武漢芯源半導(dǎo)體,一家知名的MCU(微控制器)廠商,近日攜手上海科學(xué)技術(shù)職業(yè)學(xué)院,共同揭牌了“CW32嵌入式創(chuàng)新實驗室”。此次合作旨在搭建起企業(yè)與高校之間的緊密橋梁,實現(xiàn)資源共享和優(yōu)勢互補。
    的頭像 發(fā)表于 05-08 10:37 ?458次閱讀

    產(chǎn)教融合,校企合作——武漢芯源半導(dǎo)體首個CW32嵌入式創(chuàng)新實驗室順利揭牌!

    2024年4月24日上午,武漢芯源半導(dǎo)體有限公司與上??茖W(xué)技術(shù)職業(yè)學(xué)院共同舉辦的“CW32嵌入式創(chuàng)新實驗室揭牌儀式”在上??茖W(xué)技術(shù)職業(yè)學(xué)院第二會議室隆重舉行?;顒蝇F(xiàn)場,武漢芯源半導(dǎo)體與上海
    的頭像 發(fā)表于 05-06 13:42 ?459次閱讀
    產(chǎn)教融合,校企合作——武漢芯源半導(dǎo)體首個<b class='flag-5'>CW32</b>嵌入式創(chuàng)新實驗室順利揭牌!

    CW32量產(chǎn)燒錄工具

    本節(jié)主要介紹CW32微控制器的燒錄器CW-Writer,以及與之配合的軟件CW-Programmer的使用方法。燒錄器CW-Writer通過ISP協(xié)議,可實現(xiàn)對
    的頭像 發(fā)表于 04-25 15:22 ?1449次閱讀
    <b class='flag-5'>CW32</b>量產(chǎn)燒錄工具

    CW32快速開發(fā)入門

    CW32快速開發(fā)入門
    的頭像 發(fā)表于 04-24 18:56 ?2055次閱讀
    <b class='flag-5'>CW32</b>快速開發(fā)入門

    CW32F003E4芯片入門學(xué)習(xí):器件包安裝

    安裝CW32的pack包,可以從武漢芯源官網(wǎng)下載固件庫
    的頭像 發(fā)表于 04-02 14:25 ?640次閱讀
    <b class='flag-5'>CW</b>32F003E4芯片入門學(xué)習(xí):器件包安裝