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

目录

  • 常用传感器讲解十七--簧片开关传感器(KY-036)
    • 具体讲解
    • 电路连接
    • 代码实现
  • 常用传感器讲解十八--爆震传感器感器(KY-031)
    • 具体讲解
    • 电路连接
    • 代码实现
  • 常用传感器讲解十九--超声波感器(HC-SR04)
    • 具体讲解
    • 电路连接
    • 代码实现

常用传感器讲解十七–簧片开关传感器(KY-036)

具体讲解

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

KY-025簧片开关模块是一种小型电气开关,通常由接近磁场通过施加的磁场进行操作。

该模块具有数字和模拟输出。微调器用于校准传感器的灵敏度。

电路连接

将开发板的模拟输出(A0)连接至Arduino的引脚A0,数字输出(D0)连接至引脚3。分别将电源线(+)和接地(G)分别连接至5V和GND。

KY-025 Arduino的
A0 A0
G 地线

  • 5伏
    D0 3
    传感器基础:传感器使用与编程使用(五)_第2张图片

代码实现

在这个Arduino草图中,我们将从KY-025的数字和模拟接口中读取值,将需要一块磁铁来与模块交互。

当检测到磁场时,数字接口将发送HIGH信号,从而打开Arduino上的LED(引脚13)。

另一方面,当没有磁场存在时,模拟接口将返回HIGH数值;而在靠近磁体的情况下,模拟接口将返回零。

int led = 13; // define the LED pin
int digitalPin = 3; // KY-025 digital interface
int analogPin = A0; // KY-025 analog interface
int digitalVal; // digital readings
int analogVal; //analog readings

void setup()
{
  pinMode(led, OUTPUT);
  pinMode(digitalPin, INPUT);
  //pinMode(analogPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  // Read the digital interface
  digitalVal = digitalRead(digitalPin); 
  if(digitalVal == HIGH) // if magnetic field is detected
  {
    digitalWrite(led, HIGH); // turn ON Arduino's LED
  }
  else
  {
    digitalWrite(led, LOW); // turn OFF Arduino's LED
  }

  // Read the analog interface
  analogVal = analogRead(analogPin); 
  Serial.println(analogVal); // print analog value to serial

  delay(100);
}

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

常用传感器讲解十八–爆震传感器感器(KY-031)

具体讲解

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

爆震传感器模块的基本用法和测试。草图显示了如何读取爆震传感器以确定其是否已被敲击或敲击。

电路连接

  • 5V连接到Arduino 5V引脚。
    GND连接到Arduino GND引脚。
    SENSE连接到Arduino数字输入引脚。

代码实现

如果检测到敲击声(有人敲击或敲击传感器),则Arduino板载LED会亮起两秒钟。

#define KNOCK_PIN 2

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);       // on-board LED, usually pin 13
  pinMode(KNOCK_PIN, INPUT);          // knock sensor pin set to input

}

void loop() {
  if (digitalRead(KNOCK_PIN)) {       // knock detected?
    // knock detected with pull-down resistor
    digitalWrite(LED_BUILTIN, HIGH);  // switch LED on
    delay(2000);                      // leave LED on for period
  }
  else {
    // knock not detected with pull-down resistor
    digitalWrite(LED_BUILTIN, LOW);   // switch LED off
  }
}

常用传感器讲解十九–超声波感器(HC-SR04)

具体讲解

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

HC-SR04超声波距离传感器的核心是两个超声波传感器。一个用作发射器,将电信号转换为40 KHz超声波脉冲。接收器监听发送的脉冲。如果接收到它们,它将产生一个输出脉冲,其宽度可用于确定脉冲传播的距离。像馅饼一样简单!

该传感器体积小巧,易于在任何机器人项目中使用,并提供2厘米至400厘米(约1英寸至13英尺)之间的出色非接触距离检测,精度为3mm。由于它的工作电压为5伏,因此可以直接连接到Arduino或任何其他5V逻辑微控制器。

电路连接

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

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

代码实现

这里直接做一个简单的超声波测距

// This uses Serial Monitor to display Range Finder distance readings

// Include NewPing Library
#include "NewPing.h"

// Hook up HC-SR04 with Trig to Arduino Pin 9, Echo to Arduino pin 10
#define TRIGGER_PIN 9
#define ECHO_PIN 10

// Maximum distance we want to ping for (in centimeters).
#define MAX_DISTANCE 400	

// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
float duration, distance;

void setup() 
{
	Serial.begin(9600);
}

void loop() 
{
	// Send ping, get distance in cm
	distance = sonar.ping_cm();
	
	// Send results to Serial Monitor
	Serial.print("Distance = ");
	
	if (distance >= 400 || distance <= 2) 
	{
		Serial.println("Out of range");
	}
	else 
	{
		Serial.print(distance);
		Serial.println(" cm");
	}
	delay(500);
}

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

你可能感兴趣的:(iot)