国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于MSP430 紅外避障-遙控小車(電賽必備 附項目代碼)

這篇具有很好參考價值的文章主要介紹了基于MSP430 紅外避障-遙控小車(電賽必備 附項目代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


項目環(huán)境:

  • 1. MSP430F5529
  • 2. Code Composer Studio
  • 3. 藍牙調試助手

項目簡介:
小車可分為3種工作模式,每種工作模式都會打印在OLED顯示屏上,通過按鍵轉換工作模式。
模式1: 小車紅外循跡,通過超聲波實時監(jiān)測障礙物距離,若超出規(guī)定路線,距離障礙物相對較近時,原地停止,等待指令。
模式2: 自主駕駛,通過超聲掃描各障礙物距離,當小于一定距離時原地左轉。
模式3: 藍牙遠程遙控

一、硬件清單

本項目用到的模塊有:

  1. MSP430F5529開發(fā)板
  2. 紅外循跡模塊 TCRT5000L
  3. 超聲波 HC-SR04
  4. 藍牙 ATK_HC-05
  5. 顯示屏 四針OLED
  6. 充電電池 12V
  7. TT電機及車輪
  8. 電機驅動 L298N
  9. 萬向輪
  10. VCC、GND拓展口(自焊)
  11. 若干杜邦線及銅柱螺母
    基于MSP430 紅外避障-遙控小車(電賽必備 附項目代碼)

二、模塊連接

手冊先行
基于MSP430 紅外避障-遙控小車(電賽必備 附項目代碼)
基于MSP430 紅外避障-遙控小車(電賽必備 附項目代碼)

1. 藍牙: UART
UART(A0): P3.4、P3.3(RX和TX)
UART(A1): P4.5、P4.4(RX和TX)

2. OLED : IIC
IIC(B0): P3.0、P3.1(SCL和SDA)
IIC(B1): P4.2、P4.1(SCL和SDA)

3. 超聲波: TIMER
TA0:P1.1、P1.2、P1.3、P1.4、P1.5
TA1:P1.7、P2.0、P2.1
TA2:P2.3、P2.4、P2.5
TB0:P3.6、P5.6、P5.7、P7.4、P7.5、P7.6、P7.7

以上為該項目需要部分引腳分配,以下為我的模塊連接示例:

  • Motor:P3.5、P3.6 P3.0、P3.1
  • PWM:P2.4、P2.5
  • TCRT5000L:P3.4、P6.6、P1.6
  • OLED:P2.0(SCL)、P2.2(SDA)
  • HC_SR-04:P1.2(echo)、P1.4(Trig)
  • ATK_HC-05:P4.4(TX)、P4.5(RX)

三、程序設計

1. motor_And_infrared_GPIOInit

P3SEL &= ~BIT0; //右輪
P3DIR |= BIT0;
P3SEL &= ~BIT1;
P3DIR |= BIT1;

P3SEL &= ~BIT5; //左輪
P3DIR |= BIT5;
P3SEL &= ~BIT6;
P3DIR |= BIT6;

P3SEL &=~BIT4;
P3DIR &=~BIT4;
P3REN |=BIT4;//左邊

P1SEL &=~BIT6;
P1DIR &=~BIT6;
P1REN |=BIT6;//右邊

P6SEL &=~BIT6;
P6DIR &=~BIT6;
P6REN |=BIT6;//中間

2. SetPwm_Init

P2DIR |= BIT4; //配置P2.4復用為定時器TA2.4
P2SEL |= BIT4; //配置P2.4為輸出
TA2CTL = TASSEL_2+MC_1+ID_3;
TA2CCTL1 = OUTMOD_7 ;
TA2CCR1 = arr;
TA2CCR0 = psc;

P2DIR |= BIT5; //配置P2.5復用為定時器TA2.5
P2SEL |= BIT5; //配置P2.5為輸出
TA2CTL = TASSEL_2+MC_1+ID_3;
TA2CCTL2 = OUTMOD_7 ;
TA2CCR2 = arr;
TA2CCR0 = psc;

3. OLED_Init


//OLED初始化函數
void OLED_Init(void)
{
    P2DIR |= BIT0;   //設置引腳為輸出模式
    P2DIR |= BIT2;

    P2OUT |=BIT0;     //設置為高電平
    P2OUT |=BIT2;

    IIC_SDA_IN0;
    delay_ms(200);
    IIC_SDA_IN1;
//
    OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel
    OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
    OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
    OLED_WR_Byte(0x40,OLED_CMD);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
    OLED_WR_Byte(0x81,OLED_CMD);//--set contrast control register
    OLED_WR_Byte(0xCF,OLED_CMD);// Set SEG Output Current Brightness
    OLED_WR_Byte(0xA1,OLED_CMD);//--Set SEG/Column Mapping     0xa0脳貿脫脪路麓脰脙 0xa1脮媒魯攏
    OLED_WR_Byte(0xC8,OLED_CMD);//Set COM/Row Scan Direction   0xc0脡脧脧脗路麓脰脙 0xc8脮媒魯攏
    OLED_WR_Byte(0xA6,OLED_CMD);//--set normal display
    OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
    OLED_WR_Byte(0x3f,OLED_CMD);//--1/64 duty
    OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset   Shift Mapping RAM Counter (0x00~0x3F)
    OLED_WR_Byte(0x00,OLED_CMD);//-not offset
    OLED_WR_Byte(0xd5,OLED_CMD);//--set display clock divide ratio/oscillator frequency
    OLED_WR_Byte(0x80,OLED_CMD);//--set divide ratio, Set Clock as 100 Frames/Sec
    OLED_WR_Byte(0xD9,OLED_CMD);//--set pre-charge period
    OLED_WR_Byte(0xF1,OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
    OLED_WR_Byte(0xDA,OLED_CMD);//--set com pins hardware configuration
    OLED_WR_Byte(0x12,OLED_CMD);
    OLED_WR_Byte(0xDB,OLED_CMD);//--set vcomh
    OLED_WR_Byte(0x40,OLED_CMD);//Set VCOM Deselect Level
    OLED_WR_Byte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)
    OLED_WR_Byte(0x02,OLED_CMD);//
    OLED_WR_Byte(0x8D,OLED_CMD);//--set Charge Pump enable/disable
    OLED_WR_Byte(0x14,OLED_CMD);//--set(0x10) disable
    OLED_WR_Byte(0xA4,OLED_CMD);// Disable Entire Display On (0xa4/0xa5)
    OLED_WR_Byte(0xA6,OLED_CMD);// Disable Inverse Display On (0xa6/a7)
    OLED_Clear();
    OLED_WR_Byte(0xAF,OLED_CMD);

}

4. BlueTooth_Init

P4SEL |=BIT4+BIT5 ;                             // P4.5 P4.4 = USCI_A1 TXD/RXD
UCA1CTL1 |= UCSWRST;                      // **Put state machine in reset**
UCA1CTL1 |= UCSSEL_2;                     // SMCLK
UCA1BR0 = 9;                              // 1MHz 115200 (see User's Guide)
UCA1BR1 = 0;                              // 1MHz 115200
UCA1MCTL |= UCBRS_1 + UCBRF_0;            // Modulation UCBRSx=1, UCBRFx=0
UCA1CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
UCA1IE |= UCRXIE;                         // Enable USCI_A1 RX interrupt
__bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled

5. TIMER_Init

TA0CCTL0 = CCIE;            //CCR0中斷使能
TA0CCR0 = a*1000;            //設定計數值
TA0CTL =TASSEL_2+MC_1+TACLR;//SMCLK,增計數模式,清除TAR
_bis_SR_register(LPM0_bits+GIE);//低功耗模式0,使能中斷

6. HCSR04_Init

USONUD_OUT |= TRIG;
USOUND_DIR |= TRIG;
USOUND_SEL |= ECHO ; //CCI0A

7. Key_Init

P1DIR &=~BIT1;//板載按鍵s2設為輸入
P2DIR &=~BIT1;//板載按鍵s1設為輸入

P2REN =BIT1;//上拉電阻
P1REN =BIT1;//上拉電阻

P1OUT |=BIT1;
P2OUT |=BIT1;//初始狀態(tài)為高電平
//低電平觸發(fā)函數

8. interrupt

// Echo back RXed character, confirm TX buffer is ready first,發(fā)送數據之前確定發(fā)送緩存準備好
#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
  switch(__even_in_range(UCA1IV,4))
  {
  case 0:     //無中斷
      break;                             // Vector 0 - no interrupt
  case 2:                                   // Vector 2 - RXIFG  接受中斷
	  while (!(UCA1IFG&UCTXIFG));    // USCI_A1 TX buffer ready?   UCTXIFG(USCI Transmit Interrupt Flag)
      UCA1TXBUF = UCA1RXBUF;                              //等待數據發(fā)送完成 完成UCTXIFG置1 跳出循環(huán)                 // TX -> RXed character
   	  break;
  case 4:
      break;                             // Vector 4 - TXIFG  發(fā)送中斷
  default: break;
  }
}
// UCTXIFG=0x02,UCA1IFG&UCTXIFG,當UCA1IFG的UCTXIFG位為1時,說明UCA1TXBUF為空,
//跳出while循環(huán)循環(huán);當UCTXIFG位為0時UCA1TXBUF不為空,停在循環(huán)。

四、項目源碼

若需項目源碼可留言評論區(qū)QQ郵箱私信即可。

著急的小伙伴可直接加好友聯系 ??文章來源地址http://www.zghlxwxcb.cn/news/detail-401383.html

到了這里,關于基于MSP430 紅外避障-遙控小車(電賽必備 附項目代碼)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于STM32的藍牙遙控避障小車

    基于STM32的藍牙遙控避障小車

    文章目錄 前言 一、 組成部分及功能介紹 二、 代碼實例 1. main函數 2. 定時器初始化 3.串口部分 4.超聲波部分 5.舵機 三、實物效果 總結 ? ? 這是筆者第一次嘗試在CSDN這個平臺上編寫文章,主要是想借此來記錄一下自己做過的一些小項目,算是為生活添加樂趣叭~(^^) ?本文

    2023年04月16日
    瀏覽(22)
  • 基于MSP432P401R爬坡小車【2020年電賽C題】

    基于MSP432P401R爬坡小車【2020年電賽C題】

    主控板: MSP432P401R 數據顯示: OLED 電機: 霍爾編碼器電機 電池: 7.3V航模電池 巡線: OpenMV H7 Plus 警報: 蜂鳴器 電機驅動: TB6612 儀器: 3D打印機 視覺云臺: 3D建模打印 轉向: 數字舵機 其他: 銅柱、螺絲螺母、開關、面包板等。 編譯器: Keil、OpenMV IDE 建模軟件: Sketc

    2024年02月15日
    瀏覽(21)
  • 基于Arduino UNO的智能自主避障小車和藍牙遙控小車

    ? ? ? ?Hello,大家好!今天我要給大家分享我近期制作的一個arduino小項目----智能避障小車。之前在某站上無意間刷到某位博主制作的一款智能避障小車,覺得很有意思,便打算自己也做一個來玩玩,于是便制作了一款我自己理解的避障小車。在此基礎上,我還增加了藍牙遙控

    2024年02月01日
    瀏覽(24)
  • 小車跟隨行駛系統(基于MSP-EXP430F5529LP系統板)

    選用材料:主控板MSP-EXP430F5529LP、陀螺儀、直流減速電機(可以選用光電編碼器,霍爾電機不好調節(jié)PID)、TB6612電機驅動、超聲波測距模塊、灰度傳感器、無線透傳/藍牙模塊(便于兩輛小車相互發(fā)送信息)、OLED屏等。 總體思路:使用灰度傳感器巡線,超聲波檢測前后車距,

    2024年02月12日
    瀏覽(20)
  • 《基于STM32的紅外避障小車》

    《基于STM32的紅外避障小車》

    本文主要講解基于 STM32的紅外避障小車的實現(標準庫) 基于 stm32 實現的一個簡單智能避障小車,具有“直行”、轉彎、“避障”的功能。 直行、轉彎:基于 stm32 的通用定時器TIM3輸出 PWM 方波信號實現 避障:使用到 stm32 的外部中斷以及通用定時器(使用紅外中斷), 代碼

    2024年01月22日
    瀏覽(21)
  • 基于藍牙技術使用stm32制造一個智能小車 (尋跡,避障,遙控)

    基于藍牙技術使用stm32制造一個智能小車 (尋跡,避障,遙控)

    目錄 1.制作智能小車的硬件名單: 3.引腳圖 2.先讓小車動起來 ?1.小車運動 2.代碼 3.尋跡 ?1.工作原理 2.代碼 4.超聲波避障 ?1.工作原理 2.代碼 5.藍牙遙控 ?1.藍牙工作原理 2.代碼 6.oled屏幕 1.工作內容 7.led燈 8.蜂鳴器 9.藍牙使用代碼main ?STM32C6T6核心板 1塊 L298N電機驅動? 1塊 五

    2024年02月15日
    瀏覽(27)
  • 【2023電賽備賽】msp430f5529學習筆記(一)

    【2023電賽備賽】msp430f5529學習筆記(一)

    【寫在前】 本人目前是大二在讀生,第一次參加電賽,準備不充分,結果熬了四天,最后成績卻不如人意。有51和32的基礎,然后想立一個flag系統的學習一下主打超低功耗的msp430f5529單片機為比賽做準備(畢竟電賽限制TI的板子)。另一方面也是給電協的后繼者留下一些參考的

    2024年02月11日
    瀏覽(33)
  • 電賽MSP430F5529之超聲波測距+OLED 顯示(含主要代碼)

    電賽MSP430F5529之超聲波測距+OLED 顯示(含主要代碼)

    目錄 前言 一、超聲波介紹 二、部分代碼 三、總結 哎,又雙叒叕,電賽延期了,看起來像是遙遙無期,但是肯定要考慮大局,大家就繼續(xù)抓緊時間學習知識,鞏固自己的知識,更進一步。好了,今天主要是繼承上一篇博文(OLED顯示)寫的,主要是寫超聲波測距的(US-015)

    2024年02月14日
    瀏覽(30)
  • 基于STM32F103的紅外循跡 超聲波避障小車

    單片機:stm32f103 傳感器:普通紅外(我用了4個) 超聲波:HC-SR04 舵機:SG90 目標:可以循黑線(十字直行)、并避障 如果硬件配置和我一樣以下代碼可直接使用,用我配置的引腳即可。 親測好用。 復制代碼的同時請點個贊,多謝! .c .h .c .h .c .h .c .h 我的主函數有些啰嗦,

    2024年02月05日
    瀏覽(31)
  • 基于51單片機的紅外自動避障小車(lunwen+任務書+開題+文獻綜述+翻譯及原文+避障程序)

    基于51單片機的紅外自動避障小車(lunwen+任務書+開題+文獻綜述+翻譯及原文+避障程序)

    目 錄 1 緒論 1 1.1 課題研究背景及意義 1 1.2 國內外研究現狀 1 1.2.1國外智能車輛研究現狀 2 1.2.2發(fā)展前景 3 1.3 課題主要研究內容 4 2 工作原理及總體設計 5 2.1 工作原理 5 2.2 總體設計 5 3 硬件設計 7 3.1 小車車體設計 7 3.2 電源模塊 7 3.3 電機驅動模塊 8 3.4 電機模塊 9 3.5 檢測模塊

    2023年04月24日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包