霍尔效应传感器是根据是否存在磁场来改变其输出的传感器。这意味着霍尔效应传感器产生的输出信号是其周围磁场密度的函数。当其周围的磁通密度超过某个预设阈值时,传感器将对其进行检测并生成有时称为霍尔电压的输出电压,以指示磁场的存在。
我们要做的就是检查是否检测到磁场,如果是,请打开LED;否则,请关闭LED。
VCC-5V
地-地
SIG-D2
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避障传感器是为轮式机器人设计的可调节距离的红外接近传感器。也称为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克
将模块的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);
}
}
这个比较简单,就是触摸后给个信号
在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);
}
OSOYOO红外跟踪传感器本质上是一个红外LED和一个红外检测器。轨迹传感器的红外发射管不断发出红外光。由于黑色吸收光,因此当IR发射管在黑色表面上发光时,反射光更少,因此接收管接收到的IR射线更少。表示电阻大;然后比较器输出高电平,并且指示灯LED熄灭。同样,当它照射在白色表面上时,反射的光也会更多。因此,接收管的电阻较低;因此,比较器输出低电平,指示灯LED点亮。
当红外线发射器向纸上发射光线时,如果光线照射在白色表面上,它们将被接收器反射并接收,并且引脚D0将输出低电平;如果光线遇到黑线,它们将被吸收,因此接收器将一无所获,并且引脚D0将输出高电平。
OSOYOO UNO 跟踪传感器
+5伏 VCC
地线 地线
D2 D0
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!”;