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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3797|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)+PAJ7620+舵機(jī)的手勢(shì)識(shí)別小風(fēng)扇源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
利用加濕器配合風(fēng)扇,特別涼快!
制作出來的實(shí)物圖如下:


單片機(jī)源程序如下:
  1. //AT89C52
  2. #include <reg52.h>
  3. #include "PAJ7620.h"
  4. #include "i2c.h"

  5. sbit shui = P1^3;//空氣加濕器
  6. sbit key1 = P1^4;//通訊接口1
  7. sbit key2 = P1^5;//通訊接口2
  8. sbit feng = P1^6;   //風(fēng)扇正轉(zhuǎn)
  9. sbit fanfeng = P1^7;//風(fēng)扇反轉(zhuǎn)

  10. unsigned char PAJ7620_Value=0;  //從PAJ7620獲取的數(shù)據(jù)
  11. unsigned char result_Code; //返回結(jié)果
  12. void Get_7620_Value(void);
  13. void work(void);
  14. void delay_ms(unsigned int n_ms);


  15. void main (void)
  16. {
  17. shui=1;//加濕關(guān)
  18. feng=0;//風(fēng)扇開
  19. key1=0;key2=0;//舵機(jī)關(guān)
  20. PAJ7620_init();//7620初始化
  21. while(1)
  22. {
  23.   Get_7620_Value(); //獲取7620數(shù)據(jù)
  24. }
  25. }

  26.        
  27. //獲取7620數(shù)據(jù)
  28. void Get_7620_Value(void)
  29. {
  30.    PAJ7620_Value=Read_One_Reg(PAJ7620_wAdd,PAJ7620_ADDR_GES_PS_DET_FLAG_0);
  31. if(PAJ7620_Value!=0xFF)
  32. {
  33. switch (PAJ7620_Value)
  34. {
  35.         case RIGHT://左
  36.                         result_Code=0x01;
  37.                         delay_ms(PAJ7620_QUIT_TIME);
  38.                         break;
  39.         case LEFT://右
  40.                  result_Code=0x02;
  41.                  delay_ms(PAJ7620_QUIT_TIME);
  42.                         break;
  43. case UP://上
  44.                  result_Code=0x04;
  45.           
  46.                  delay_ms(PAJ7620_QUIT_TIME);
  47.                  break;
  48.   case DOWN://下
  49.                  result_Code=0x08;               
  50.                
  51.                  delay_ms(PAJ7620_QUIT_TIME);
  52.                  break;
  53. case FORWARD://向前
  54.                  result_Code=0x10;
  55.                  
  56.                  delay_ms(PAJ7620_QUIT_TIME);
  57.                  break;
  58. case BACKWARD://向后
  59.                  result_Code=0x20;
  60.      
  61.                  delay_ms(PAJ7620_QUIT_TIME);
  62.                  break;
  63. case CLOCKWISE://順時(shí)針
  64.                  result_Code=0x40;
  65.                  delay_ms(PAJ7620_QUIT_TIME);
  66.                  break;
  67. case UNCLOCKWISE:
  68.                  result_Code=0x80;//逆時(shí)針
  69.                  delay_ms(PAJ7620_QUIT_TIME);
  70.                  break;

  71. default:
  72.                  delay_ms(PAJ7620_REACTION_TIME);  //延時(shí)
  73.                  PAJ7620_Value=Read_One_Reg(PAJ7620_wAdd,PAJ7620_ADDR_GES_PS_DET_FLAG_1);
  74.                  if (PAJ7620_Value==WAVE)//左右晃
  75.                         {
  76.                  result_Code=0x55;
  77.                  } else
  78.                  result_Code=0;
  79.                  delay_ms(PAJ7620_QUIT_TIME);
  80.                  break;
  81.           }
  82.   work();
  83.   }
  84. }

  85. void work(void)
  86. {
  87.         static unsigned char mode=1;
  88.         switch(result_Code)
  89.         {
  90.                 case 0x01: shui=0; break;//上
  91.                 case 0x02: shui=1; break;//下
  92.                 case 0x04: mode--; if(mode<1)mode=1;break;//左
  93.                 case 0x08: mode++; if(mode>4)mode=4;break;//右
  94.                 case 0x10: feng=0;fanfeng=0;break;//接近
  95.                 case 0x20: feng=0;fanfeng=1; break;//遠(yuǎn)離
  96.                 case 0x40: feng=0;fanfeng=1;break;//順時(shí)針
  97.                 case 0x80: feng=1;fanfeng=0;break;//逆時(shí)針
  98.           case 0x55: break;//搖擺
  99.                 default: break;
  100.         }
  101.                 switch(mode)
  102.         {               
  103.                 case 1: key1=0;key2=0;  break;
  104.                 case 2: key1=0;key2=1;  break;
  105.                 case 3: key1=1;key2=0;  break;
  106.                 case 4: key1=1;key2=1;  break;
  107.                 default:key1=0;key2=0; break;
  108.         }
  109. }
  110. //延時(shí)函數(shù)
  111. void delay_ms(unsigned int n_ms)
  112. {
  113. int j,k;
  114. for(j=0;j<n_ms;j++)
  115.   for(k=0;k<1002;k++);
  116. }
復(fù)制代碼

所有資料51hei提供下載:
程序: 手勢(shì)風(fēng)扇設(shè)計(jì).7z (1.18 MB, 下載次數(shù): 130)
視頻: 成品預(yù)覽視頻.7z (14.6 MB, 下載次數(shù): 47)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:925693 發(fā)表于 2021-5-23 23:37 來自手機(jī) | 只看該作者
舵機(jī)是用哪款呀
回復(fù)

使用道具 舉報(bào)

板凳
ID:873089 發(fā)表于 2021-11-26 19:21 | 只看該作者

SG90  180度的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费久久久 | 蜜桃精品视频在线 | 久久久一二三 | 国产精品一区二区在线播放 | 日韩视频在线播放 | 天天插天天舔 | 最新超碰| 国产福利资源在线 | 黄色国产视频 | 伊人精品久久久久77777 | 国产激情视频网站 | 国产成人a亚洲精品 | 中国毛片免费 | 欧美成人免费 | 精品国产欧美一区二区三区不卡 | 色婷综合网 | 色毛片| 国产精品美女视频 | 羞羞网站在线免费观看 | 国产一区二区三区精品久久久 | 亚洲 欧美 日韩在线 | 亚洲精品成人在线 | 欧美片网站免费 | 国产电影一区二区 | 国产精品美女久久久久aⅴ国产馆 | 成人精品一区亚洲午夜久久久 | 欧美精品在线一区二区三区 | 亚洲一区二区三区四区五区午夜 | 黄a在线播放 | 九九一级片 | 午夜精品久久久久久久久久久久 | 99精品视频免费观看 | 天天干.com| 天天色综 | 自拍偷拍亚洲一区 | 久久精品国产一区二区电影 | 毛片免费观看视频 | 天天躁日日躁狠狠很躁 | 欧美精品一区二区在线观看 | 国产精品精品久久久 | 7799精品视频天天看 |