查看: 373|回复: 6

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

[复制链接]

签到天数: 1 天

[LV.1]初来乍到

发表于 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金币

签到天数: 1 天

[LV.1]初来乍到

 楼主| 发表于 2021-5-14 13:35 | 显示全部楼层
int_i 发表于 2021-5-13 17:42
//光敏电阻用上拉接线

int distance()

新手,如何把积分转给你,非常感谢。

该用户从未签到

发表于 2021-5-14 16:47 | 显示全部楼层
没关系,不用给金币

签到天数: 1 天

[LV.1]初来乍到

 楼主| 发表于 2021-5-15 10:46 | 显示全部楼层
int_i 发表于 2021-5-14 16:47
没关系,不用给金币

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

本版积分规则

热门推荐

Arduino16进制字符串转ASCII(下)
Arduino16进制字符串转ASC
在Arduino16进制字符串转ASCII(上)(简称:上文)基础上,举一反三,超越自我,提高
OLED 128*64自制可达10000000个选项的菜单(已更新)
OLED 128*64自制可达10000
OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
ps2遥控小车——uno实现
ps2遥控小车——uno实现
前几天在阁楼发现了好久以前3d打印,激光切割的底盘,于是决定做这个东西 正好手上又
.h .cpp源代码转.ino草图
.h .cpp源代码转.ino草图
在Github上下载了源码,是.h 和.cpp文件,请问一下,如何才可以转成可以在arduinoIDE
Atmega8/16等AVR单片机改装成Arduino板子
Atmega8/16等AVR单片机改
Atmega8/16改装Arduino板子想把AVR单片机改装成arduino板的,可以通过一下开源库来支
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表