求助大神 制作光控台灯程序 赠送10金币-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3425|回复: 6

[未解决] 求助大神 制作光控台灯程序 赠送10金币

[复制链接]
发表于 2021-5-10 17:18 | 显示全部楼层 |阅读模式
任务要求:
现场搭建任务设备,现场变成完成任务。使用arduino源代码编程,主板使用uno R3 5V扩展板,uno R3开发板、超声波传感器、光敏电阻、三色LED交通信号灯、蜂鸣器、杜邦线、数据线。

制作光控台灯,当20cm以内有人时,周围环境越暗,LED越亮。20cm至30cm之间有人存在,LED频闪,明暗间隔0.5秒。30cm以内无人,LED熄灭。
根据以上器材、题目设定,程序流程图并展示作品。

发表于 2021-5-11 13:31 | 显示全部楼层
做出来 我再加100金币
发表于 2021-5-13 17:42 | 显示全部楼层
//光敏电阻用上拉接线

int distance()
{
  digitalWrite(3,0);
  delayMicroseconds(2);
  digitalWrite(3,1);
  delayMicroseconds(10);
  digitalWrite(3,0);
  int i=pulseIn(4,1)/58;
  return i;
  delay(80);
}
int a;//定义变量储存灯亮度
void setup() {
  pinMode(3,OUTPUT);//trig
  pinMode(4,INPUT);//echo
  pinMode(6,OUTPUT);//led
  Serial.begin(9600);
}

void loop() {
Serial.println(distance());
a=map(analogRead(A0),0,1023,0,255);//灯亮度随着光照强度增加,亮度越大
if(distance()<=20)//如果距离小于20CM
{
  analogWrite(6,a);
}
if(distance()>20 && distance()<30)//如果距离在20-30之间
{
  digitalWrite(6,1);
  delay(500);
  digitalWrite(6,0);
  delay(500);
}
if(distance()>300)//如果距离大于
{
  digitalWrite(6,0);
}
}
发表于 2021-5-13 18:38 | 显示全部楼层
我觉得楼上这个值11金币
 楼主| 发表于 2021-5-14 13:35 | 显示全部楼层
int_i 发表于 2021-5-13 17:42
//光敏电阻用上拉接线

int distance()

新手,如何把积分转给你,非常感谢。
发表于 2021-5-14 16:47 | 显示全部楼层
没关系,不用给金币
 楼主| 发表于 2021-5-15 10:46 | 显示全部楼层
int_i 发表于 2021-5-14 16:47
没关系,不用给金币

谢谢,等我积分够开权限了,一定奉上积分。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 06:40 , Processed in 0.076706 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表