标题: 超声波测距控制led灯的亮度 [打印本页]

作者: zhouwanfu    时间: 2019-1-29 17:49
标题: 超声波测距控制led灯的亮度
RT,把超声波获取的距离,反馈给LED,LED的亮度会随之改变,装置见下

接线细节

亮度变化



程序如下:
int potpin = 0; //定义模拟接口0
int ledpin = 11; //定义数字接口11(PWM 输出)
const int TrigPin = 2;
const int EchoPin = 3;
float distance;
float UR;
float delta;
int val = 0; // 暂存来自传感器的变量数值
void setup()
{
  pinMode(ledpin, OUTPUT); //定义数字接口11 为输出
  pinMode(TrigPin, OUTPUT);
  pinMode(EchoPin, INPUT);
  Serial.begin(9600);//设置波特率为9600
  //注意:模拟接口自动设置为输入
}
void loop()
{
  // 产生一个10us的高脉冲去触发TrigPin
  digitalWrite(TrigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW);
  // 检测脉冲宽度,并计算出距离
  distance = pulseIn(EchoPin, HIGH) / 58.00;
  Serial.print(distance);
  Serial.print("cm");
  Serial.println();
  if (distance < 900)
  {
    val = distance; // 读取传感器的模拟值并赋值给val
    Serial.println(val);//显示val 变量
    analogWrite(ledpin, val/4); // 打开LED 并设置亮度(PWM 输__________出最大值255)
    delay(10);//延时0.01 秒
  }
}



IMG_20190129_174432.jpg (1.27 MB, 下载次数: 130)

超声波的反射板

超声波的反射板





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1