传感器基础:传感器使用与编程使用(四)

目录

  • 常用传感器讲解十三--霍尔效应传感器(KY-003)
    • 具体讲解
    • 电路连接
    • 代码实现
  • 常用传感器讲解十四--障碍探测器(KY-032)
    • 具体讲解
    • 电路连接
    • 代码实现
  • 常用传感器讲解十五--触摸传感器(KY-036)
    • 具体讲解
    • 电路连接
    • 代码实现
  • 常用传感器讲解十六--循迹感器(KY-033)
    • 具体讲解
    • 电路连接
    • 代码实现

常用传感器讲解十三–霍尔效应传感器(KY-003)

具体讲解

传感器基础:传感器使用与编程使用(四)_第1张图片

霍尔效应传感器是根据是否存在磁场来改变其输出的传感器。这意味着霍尔效应传感器产生的输出信号是其周围磁场密度的函数。当其周围的磁通密度超过某个预设阈值时,传感器将对其进行检测并生成有时称为霍尔电压的输出电压,以指示磁场的存在。

电路连接

我们要做的就是检查是否检测到磁场,如果是,请打开LED;否则,请关闭LED。
VCC-5V
地-地
SIG-D2
传感器基础:传感器使用与编程使用(四)_第2张图片

代码实现

int hallSensorPin = 2;     
int ledPin =  13;    
int state = 0;          
void setup() {
  pinMode(ledPin, OUTPUT);      
  pinMode(hallSensorPin, INPUT);     
}
void loop(){
  
  state = digitalRead(hallSensorPin);
  if (state == LOW) {        
    digitalWrite(ledPin, HIGH);  
  } 
  else {
    digitalWrite(ledPin, LOW); 
  }
}

常用传感器讲解十四–障碍探测器(KY-032)

具体讲解

传感器基础:传感器使用与编程使用(四)_第3张图片

KY-032避障传感器是为轮式机器人设计的可调节距离的红外接近传感器。也称为AD-032。
传感器的检测距离为2cm至40cm,可以通过旋转电位计旋钮进行调整。工作电压为3.3V-5V,因此适用于各种微控制器,例如Arduino,ESP32,Teensy,ESP8266,Raspberry Pi等。
它对环境光具有很强的适应性,并且可以准确感知周围环境的变化。

电路连接

该模块具有一对红外LED,一个发射器和一个接收器。发射的LED以一定频率发送红外光脉冲。当光线击中时,障碍物会反射回接收器LED。

KY-032有4个引脚:GND,+,S(输出)和EN。该跳线,使模块永久启用所以它总是检测障碍物。要控制传感器的状态,请删除跳线并使用EN引脚,“高”信号将启用传感器,而“低”信号将禁用传感器。

您可以通过旋转左旋钮来调整检测距离,将其旋转到中间以获得最大距离。右旋钮控制发射IR脉冲的频率,一直沿顺时针方向旋转以将发射器设置为与接收器一起工作所需的正确频率。

工作电压 3.3V – 5V直流
工作电流 ≥20mA
工作温度 -10°C – 50°C [14°F – 122°F]
检测距离 2厘米– 40厘米[0.79英寸– 15.75英寸]
IO接口 4线接口(-/ + / S / EN)
输出信号 TTL电平(如果有障碍物检测器,则为低电平;如果没有障碍物,则为高电平)
调整方式 多匝电阻调节
红外脉冲频率 符合HS0038DB数据表的38kHz
有效角度 35°
板子尺寸 1.6厘米x 4厘米[0.62英寸x 1.57英寸]
重量 9克

传感器基础:传感器使用与编程使用(四)_第4张图片

将模块的GND线(最左边的引脚)连接到Arduino上的GND,将+(第二个引脚)连接到5V。将信号(输出)连接到Arduino的引脚3。

代码实现

当传感器检测到障碍物时,它将在其输出引脚上发送LOW信号。未检测到障碍物或超出范围时,将发送HIGH信号。在以下示例中,当传感器检测到障碍物时,我们将打开Arduino引脚13上的LED。

int ledPin = 13;      // LED pin on arduino
int detectorPin = 3;  // obstacle avoidance sensor interface
int val;              // variable to store result
//int enablePin = 2;  // sensor enable interface (EN)

void setup()
{
  pinMode(ledPin, OUTPUT);  // Define LED as output interface
  pinMode(detectorPin, INPUT);  // Define obstacle avoidance sensor as input interface
  
  // [uncomment and remove jumper on module to use enable pin (EN)]
  //pinMode(enablePin, OUTPUT);
  //digitalWrite(enablePin, HIGH);  // Enable sensor
}

void loop()
{
  val = digitalRead(detectorPin); // Read value from sensor
  if(val == LOW) // When the sensor detects an obstacle, the LED on the Arduino lights up
  {
    digitalWrite(ledPin, HIGH);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }
}

常用传感器讲解十五–触摸传感器(KY-036)

具体讲解

这个比较简单,就是触摸后给个信号

电路连接

传感器基础:传感器使用与编程使用(四)_第5张图片

在Arduino上将VCC引脚连接到5V。

将GND连接到Arduino的GND。

将OUT连接到Arduino上的D2

代码实现

void setup() {
  pinMode(2, INPUT);
  Serial.begin(9600);

}

void loop() {
  if (digitalRead(2) == HIGH);
  Serial.println("Sensor is touched");
  delay(500);

}

常用传感器讲解十六–循迹感器(KY-033)

具体讲解

传感器基础:传感器使用与编程使用(四)_第6张图片

OSOYOO红外跟踪传感器本质上是一个红外LED和一个红外检测器。轨迹传感器的红外发射管不断发出红外光。由于黑色吸收光,因此当IR发射管在黑色表面上发光时,反射光更少,因此接收管接收到的IR射线更少。表示电阻大;然后比较器输出高电平,并且指示灯LED熄灭。同样,当它照射在白色表面上时,反射的光也会更多。因此,接收管的电阻较低;因此,比较器输出低电平,指示灯LED点亮。
当红外线发射器向纸上发射光线时,如果光线照射在白色表面上,它们将被接收器反射并接收,并且引脚D0将输出低电平;如果光线遇到黑线,它们将被吸收,因此接收器将一无所获,并且引脚D0将输出高电平。

电路连接

OSOYOO UNO 跟踪传感器
+5伏 VCC
地线 地线
D2 D0

传感器基础:传感器使用与编程使用(四)_第7张图片

代码实现

const int trackingPin = 2; //the tracking module attach to pin 2
const int ledPin = 13; //pin13 built-in led
void setup()
{
  Serial.begin(9600);
  pinMode(trackingPin, INPUT); // set trackingPin as INPUT
  pinMode(ledPin, OUTPUT); //set ledPin as OUTPUT
}
void loop()
{
  boolean val = digitalRead(trackingPin); // read the value of tracking module
  if(val == HIGH) //if it is HiGH
  { 
    digitalWrite(ledPin, LOW); //turn off the led
    Serial.println("Detect: Black!");
  }
  else
  {
    digitalWrite(ledPin, HIGH); //turn on the led
    Serial.println("Detect: White!");
  }
}

上载完成几秒钟后,将其放在一条带有黑线(至少½英寸宽)的纸上。可以使用Sharpie Marker,电工胶带或深色涂料。当模块上黑线时,它输出高电平并且相应的LED保持熄灭,串行监视器输出:“ Detect:Black!”;
传感器基础:传感器使用与编程使用(四)_第8张图片

你可能感兴趣的:(iot)