久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: STM32單片機(jī)+Android實(shí)現(xiàn)的智能家政機(jī)器人設(shè)計(jì)資料 程序原理圖和文檔 [打印本頁(yè)]

作者: jacobc    時(shí)間: 2024-12-10 10:45
標(biāo)題: STM32單片機(jī)+Android實(shí)現(xiàn)的智能家政機(jī)器人設(shè)計(jì)資料 程序原理圖和文檔
系統(tǒng)實(shí)現(xiàn)功能
本次設(shè)計(jì)為研究探索性課題,旨在為后續(xù)的家政機(jī)器人產(chǎn)品設(shè)計(jì)提供一個(gè)原型,故本系統(tǒng)僅為智能家政機(jī)器人的雛形,并非具有完善功能的機(jī)器人。
本系統(tǒng)已實(shí)現(xiàn)通過安卓手機(jī)進(jìn)行語(yǔ)音識(shí)別,并將語(yǔ)音識(shí)別結(jié)果發(fā)送至機(jī)器人,機(jī)器人控制器按照接收到的指令驅(qū)動(dòng)舵機(jī)完成用戶的命令。機(jī)器人可以前后左右的移動(dòng),并且機(jī)器人攜帶的機(jī)械臂可以完成5個(gè)自由度的受控運(yùn)動(dòng)。上述命令為簡(jiǎn)單的用戶命令,最終系統(tǒng)實(shí)現(xiàn)能夠完成特定的復(fù)雜用戶命令。比如當(dāng)用戶命令機(jī)器人取來某個(gè)位置的盒子,機(jī)器人會(huì)自動(dòng)運(yùn)動(dòng)到該位置抓取盒子,送到用戶手中。
6.2 系統(tǒng)實(shí)物圖
下圖為機(jī)器人正常啟動(dòng)之后的效果圖:


int main(void)
{     
u8 reclen=0;
unsigned short int distance=520;
unsigned short int height=750;
unsigned short int weight=512;
Stm32_Clock_Init(9);    //系統(tǒng)時(shí)鐘設(shè)置
delay_init(72);            //延時(shí)初始化
IIC_Init();     //初始化I2C接口
uart_init(72,1000000);     //串口1初始化為1M
LED_Init();                //初始化與LED連接的硬件接口
EXTIX_Init();         //外部中斷初始化
MPU6050_initialize();
HMC5883L_SetUp();
delay_ms(50);
HMC5883L_SetUp();
SetMode(1,0,0);delay_ms(30);
SetMode(2,0,0);delay_ms(30);
SetMode(3,0,0);delay_ms(30);
SetMode(4,0,0);delay_ms(30);
SetMode(5,0,1023);delay_ms(30);
SetMode(6,0,1023);delay_ms(30);
SetMode(7,0,1023);delay_ms(30);
SetMode(8,0,1023);delay_ms(30);
SetMode(9,0,1023);delay_ms(30);  
HC05_Init();     
delay_ms(1000);                                                  
PostureInit();      
while(1)
{
  int reach=0;   
//printf("ANGLE:  angle=%d  \n",jiao);
//delay_ms(500);         
  if(USART2_RX_STA&0X8000)            //接收到一次數(shù)據(jù)了
  {
    //printf("%c",tt);
     reclen=USART2_RX_STA&0X7FFF;    //得到數(shù)據(jù)長(zhǎng)度
     USART2_RX_BUF[reclen]=0;         //加入結(jié)束符
     USART2_RX_STA=0;
     if(tt=='1')                        //前進(jìn)
     {
      Forward();
     }
     if(tt=='3')                         //后退
     {
      Back();
     }
     if(tt=='0')                         //停止
     {
      LED0=1;LED1=1;
      Stop();
     }
     while(tt=='4')                        //右轉(zhuǎn)
     {
      USART2_RX_STA=0;
      TurnRight();      
     }
     if(tt=='2')                         //左轉(zhuǎn)
     {
      TurnLeft();
     }
     if(tt=='5')                          //打開爪子                                          f
     {
      SetMode(9,0,1023);
      delay_ms(30);
      OpenPaw();
      LED0=0;
     }
     if(tt=='6')                          //抓取
     {
      SetMode(9,0,1023);
      delay_ms(30);
      ClosePaw();
     }                              
     while(tt=='8')                           //收回
     {
      USART2_RX_STA=0;
      distance-=10;
      if(distance<=200)distance=200;
      SetMode(7,0,1023);
      delay_ms(30);
      PawGoFar(distance);
      delay_ms(75);
      LED1=0;
     }
     while(tt=='7')                          //伸出
     {
      USART2_RX_STA=0;
      distance+=10;
      if(distance>=520)distance=520;
      SetMode(7,0,1023);
      delay_ms(30);
      PawGoNear(distance);
      delay_ms(75);
      LED0=0;
     }              
     while(tt=='9')            //機(jī)器人手臂抬起
     {
      USART2_RX_STA=0;
      height+=10;
      if(height>=750)height=750;
      SetMode(6,0,1023);
      delay_ms(30);
      ArmRaiseUp(height);
      delay_ms(75);
      LED0=0;
     }
     while(tt=='a')            //機(jī)器人手臂放下
     {
      USART2_RX_STA=0;
      height-=10;
      if(height<=500)height=500;
      SetMode(6,0,1023);
      delay_ms(30);
      ArmSetDown(height);
      delay_ms(75);
      LED1=0;
     }
     while(tt=='b')                 //手臂右轉(zhuǎn)
     {
      USART2_RX_STA=0;
      weight-=10;
      if(weight<=20)weight=20;
      SetMode(5,0,1023);
      delay_ms(30);
      ArmLeft(weight);
      delay_ms(75);
     }
     while(tt=='c')                 //手臂左轉(zhuǎn)
     {
      USART2_RX_STA=0;
      weight+=10;
      if(weight>=1000)weight=1000;
      SetMode(5,0,1023);
      delay_ms(30);
      ArmRight(weight);
      delay_ms(75);
     }
     if(tt=='d')               //取北方1M處物體
     {
      TurnRight();
      reach=0;
      while(!reach)
      {
      USART2_RX_STA=0;
      IICreadBytes(HMC58X3_ADDR,HMC58X3_R_XM,6,hbuffer);
      hx=(((int16_t)hbuffer[0]) << 8) | hbuffer[1];
      hz=(((int16_t)hbuffer[2]) << 8) | hbuffer[3];
      hy=(((int16_t)hbuffer[4]) << 8) | hbuffer[5];
      if(hx==0)
      {
       if(hy & 0x8000)
         angle=270;
       else
         angle=90;
      }
      else
      {   
       if(hy & 0x8000)  
         angle=360-atan2(-hy,hx)*(180/3.141592653);
       else
         angle=atan2(hy,hx)*(180/3.141592653);
      }
      jiao=(int)angle;
      if(jiao==86||jiao==87)
      {
       reach=1;
       Stop();
       delay_ms(1500);
       times=0;sig=0;
       Forward();
       Forward();
       while(sig==0);
        Stop();
       delay_ms(30);
       SetMode(9,0,1023);
       delay_ms(30);
       OpenPaw();
       delay_ms(300);
       SetMode(6,0,1023);
       delay_ms(30);
       ArmSetDown(500);
       delay_ms(1000);
       SetMode(7,0,1023);
       delay_ms(30);
       PawGoNear(520);
       delay_ms(1000);
       SetMode(9,0,1023);
       delay_ms(30);
       ClosePaw();
       delay_ms(500);
       SetMode(6,0,1023);
       delay_ms(30);
       ArmRaiseUp(750);
       delay_ms(1000);
       sig=0;times=0;
       Back();
       while(sig==0);
       Stop();
       tt='0';
      }
      }
     }
     
     while(tt=='e')
     {
      sweep();
      Stop();
      tt='0';
     }
                     
    }                                                                                          
}                                                
}

word文檔和程序原理圖下載: STM32 Android實(shí)現(xiàn)的智能家政機(jī)器人電路代碼文檔.7z (7.68 MB, 下載次數(shù): 0)

作者: weianfu    時(shí)間: 2025-1-7 13:27
NB人物




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中文字幕一区在线观看视频 | 少妇诱惑av| 久久久国产一区二区三区四区小说 | 成人精品鲁一区一区二区 | 一级黄在线观看 | 久久久久综合 | 国产精品自产av一区二区三区 | 成人久久18免费网站 | 国产性网 | 97精品国产一区二区三区 | 婷婷久久综合 | 免费观看一级毛片 | 亚洲欧美精品国产一级在线 | 91成人午夜性a一级毛片 | 久久艹av| 久久久久久久久久久一区二区 | 亚洲精品福利视频 | 91麻豆精品国产91久久久久久 | 欧美日韩精品影院 | 久久另类视频 | 欧美视频免费在线 | 久久一二区 | 国产一区二区三区久久久久久久久 | 亚洲精品自在在线观看 | 一级欧美| 亚洲性在线 | 成人在线免费电影 | 91视视频在线观看入口直接观看 | 国产精品毛片一区二区在线看 | 99re6在线视频精品免费 | 欧美成人精品一区二区男人看 | 国产福利在线视频 | 一a一片一级一片啪啪 | 国产精品黄 | 国产网站在线免费观看 | 日本啊v在线 | 婷婷在线视频 | 久久久国产一区二区三区 | 精品久久久久久中文字幕 | 成人黄色网址大全 | 97精品一区二区 |