“SKU:RB-02S103 復眼傳感器”的版本間的差異

來自ALSROBOT WiKi
跳轉至: 導航、 搜索
(以“ ==產(chǎn)品概述== 復眼傳感是奧松機器人推出的復眼傳感器由許多對紅外線敏感的晶體管和發(fā)光...”為內(nèi)容創(chuàng)建頁面)
 
?產(chǎn)品參數(shù)
第9行: 第9行:
  
 
===基本參數(shù)===
 
===基本參數(shù)===
?
1.品名  紅外線復眼傳感器<br/>
+
#品名  紅外線復眼傳感器<br/>
?
2.貨號  RB-02S103<br/>
+
#貨號  RB-02S103<br/>
?
3.品牌  AlsRobot<br/>
+
#品牌  AlsRobot<br/>
?
4.產(chǎn)地  哈爾濱<br/>
+
#產(chǎn)地  哈爾濱<br/>
?
5.尺寸  50mm×48mm<br/>
+
#尺寸  50mm×48mm<br/>
?
6.重量  9g<br/>
+
#重量  9g<br/>
?
7.包裝  防靜電包裝<br/>
+
#包裝  防靜電包裝<br/>
?
8.固定孔  M3*4個<br/>
+
#固定孔  M3*4個<br/>
?
 
+
 
===電氣參數(shù)===
 
===電氣參數(shù)===
 
#產(chǎn)品類型:數(shù)字傳感器<br/>
 
#產(chǎn)品類型:數(shù)字傳感器<br/>

2018年4月17日 (二) 11:53的版本

02S10300.png


目錄

產(chǎn)品概述

復眼傳感是奧松機器人推出的復眼傳感器由許多對紅外線敏感的晶體管和發(fā)光二極管組成。它可以追蹤20厘米范圍內(nèi)物體的移動。盡管傳感器是一個整體,但是你依然可以讀取到每一個紅外線(IR)光敏晶體管的信息。復眼傳感器采用IIC通訊方式,數(shù)據(jù)傳輸更加簡便。
校正周圍光線是通過關閉IR LED和比較數(shù)值完成的。如果要改善從復眼中讀取的數(shù)值,你必須要進行校準。最好等到晚上當IR光線不存在時進行。注意紅外線可以穿過關閉的百合窗,所以如果你不想等到晚上,可以去地下室,或者是沒有窗戶的房間,這樣就可以測量數(shù)值了。將一張紙置于傳感器的前方(約20厘米遠),觀察每支引腳的數(shù)值差異。使用紙張時數(shù)值差異不大(+/- 100)。如果某個數(shù)值過高,可以使用不透明的膠帶或熱收縮膜阻擋部分紅外線。如果數(shù)值過低,則阻擋一部分分散到其他傳感器上的紅外線。

產(chǎn)品參數(shù)

基本參數(shù)

  1. 品名 紅外線復眼傳感器
  2. 貨號 RB-02S103
  3. 品牌 AlsRobot
  4. 產(chǎn)地 哈爾濱
  5. 尺寸 50mm×48mm
  6. 重量 9g
  7. 包裝 防靜電包裝
  8. 固定孔 M3*4個

電氣參數(shù)

  1. 產(chǎn)品類型:數(shù)字傳感器
  2. 接口類型:4P防插反接口
  3. 信號類型:IIC數(shù)字信號
  4. 工作電壓:3.0V~5.0V
  5. 工作電流:100mA
  6. 引腳定義:+ 電源正;- 電源負;SDA IIC數(shù)據(jù)引腳;SCL IIC時鐘引腳
  7. 連接線: 4P 傳感器連接線
  8. 檢測范圍:0~20cm
  9. 工作溫度:-20℃~70℃
  10. 測試范圍:上、下、左、右輸出四路模擬值范圍(0-255)
  11. 固定孔:M3*4個
  12. 產(chǎn)品尺寸(mm):50mm*48mm


使用方法

1、連接圖

02S10301.png

2、例子程序

#include "Wire.h" 
#include <Servo.h> 

#define PCF8591 (0x90 >> 1) // I2C bus address 
byte value0, value1, value2, value3; 

Servo jjdyz_shang;     
Servo jjdyz_xia;     
Servo jjdyz_zhong;   
Servo myservo;  //創(chuàng)建一個舵機控制對象 

//const int buttonPin = A0;     // 定義紅外傳感器的接收引腳為模擬A0引腳 
//int buttonState = 0;          // 定義紅外傳感器的狀態(tài)緩存 

//定義每個舵機的旋轉角度的緩存值 
int pos=0;                     
int pos1=0; 
int pos2=0; 

int gongji = 0;                //定義一個是否處于攻擊狀態(tài)的標志緩存 

void jjdyz() 
{ 
   if(value0<2&&value1>value0&&value2>value0&&value3>value0) 
   {     
       if(gongji == 1)             //處于攻擊狀態(tài)時,但敵人走了,慢慢恢復到初始位置 
       { 
           for(pos = 40; pos <= 88; pos += 1)   //上面的舵機恢復初始位置 
           { 
               jjdyz_shang.write(pos);   
               delay(300); 
           } 
           gongji = 0;                           //解除攻擊狀態(tài) 
       } 
   } 
   if (value2<2&&value1>value2&&value0>value2&&value3>value2)       //檢測到前方有獵物,進行攻擊,(紅外傳感器返回低電平) 
   { 
       jjdyz_shang.write(70); 
       delay(200); 
       jjdyz_xia.write(88); 
       delay(200); 
       jjdyz_zhong.write(40); 
       delay(200); 
       gongji = 1;                //設置攻擊狀態(tài)緩存為正在攻擊 
   } 
   if (value1<2&&value0>value1&&value2>value1&&value3>value1) 
   { 
      for(pos1 = 88; pos1 < 160; pos1 += 1)  // 從0度到180度運動 
       {                                                     // 每次步進一度 
         jjdyz_xia.write(pos1);        // 指定舵機轉向的角度 
         delay(15);                       // 等待15ms讓舵機到達指定位置 
       }   
      for(pos1 = 160; pos1>=88; pos1-=1)   //從180度到0度運動   
       {                                 
         jjdyz_xia.write(pos1);         // 指定舵機轉向的角度 
         delay(15);                        // 等待15ms讓舵機到達指定位置 
       }   
   } 
   if (value3<2&&value0>value3&&value0>value3&&value2>value3) 
   { 
        for(pos1 = 88; pos1>=10; pos1-=1)   //從180度到0度運動   
       {                                 
         jjdyz_xia.write(pos1);         // 指定舵機轉向的角度 
         delay(15);                        // 等待15ms讓舵機到達指定位置 
       }   
       for(pos1 = 10; pos1 < 88; pos1 += 1)  // 從0度到180度運動 
       {                                                     // 每次步進一度 
         jjdyz_xia.write(pos1);        // 指定舵機轉向的角度 
         delay(15);                       // 等待15ms讓舵機到達指定位置 
       }     
   } 
   else 
   { 
       jjdyz_shang.write(88); 
       delay(15); 
       jjdyz_xia.write(88); 
       delay(15); 
       jjdyz_zhong.write(88); 
       delay(15); 
   } 
} 

void readvalues(){ 
  Wire.beginTransmission(PCF8591); // wake up PCF8591 
  Wire.write(0x04); // control byte - read ADC0 then auto-increment 
  Wire.endTransmission(); // end tranmission 
  Wire.requestFrom(PCF8591, 5); 
  value0=Wire.read();   //上 
  value0=Wire.read();   //上 
  value1=Wire.read();   // 右 
  value2=Wire.read();   //下 
  value3=Wire.read();   //左 
  Serial.print(value0); Serial.print(" "); 
  Serial.print(value1); Serial.print(" "); 
  Serial.print(value2); Serial.print(" "); 
  Serial.print(value3); Serial.print(" "); 
  Serial.println();   
} 

void setup() 
{ 
 Wire.begin(); 
 gongji = 0;   
 jjdyz_shang.attach(10);          //上面的舵機引腳為2 
 jjdyz_xia.attach(6);         //下面的舵機引腳為4 
 jjdyz_zhong.attach(7);         // 中間的舵機引腳為3 
 //三路舵機初始化 
 jjdyz_shang.write(88); 
 delay(15); 
 jjdyz_xia.write(88); 
 delay(15); 
 jjdyz_zhong.write(88); 
 delay(15); 
Serial.begin(9600); 
} 
void loop() 
{ 
   readvalues(); 
   jjdyz(); 
}

說明:通過串口監(jiān)視器,即可讀取傳感器返回的數(shù)據(jù)。

產(chǎn)品相關推薦

Erweima.png

購買地址

復眼傳感器

相關學習資料

奧松機器人技術論壇