开启左侧

【培训作品】暖灯_徐小芳

[复制链接]
发表于 2017-10-15 19:39:47 | 显示全部楼层 |阅读模式
“暖”灯
作品简介:
该作品主要通过Arduino UNO,i创学院扩展板,光敏电阻模块,超声波模块,超声波转接板,语音模块、LED灯模块实现“暖”灯控制。

作品设计理念和功能:
夜晚回家的时候,一打开门漆黑一片,要摸黑去开灯,这个过程对工作完一天回家的我来说实在是一个不太好的体验。于是,我动手制作了能在我晚上回家进门的瞬间让我感受温暖的灯——“暖”灯。“暖”灯是在我进门的时候会自动亮灯,并说出“亲爱的,工作辛苦了”,并在我开灯之后过一小会会自动熄灭的一个装置,它的外形为我喜欢的海绵宝宝。

作品照片:  

暖灯1.JPG             暖灯2.JPG


程序代码:
const int redLedPin1 = 3;
const int redLedPin2 = 4;
const int TrigPin = 7;
const int EchoPin = 8;
const int ldrPin = A1;
const int Rst = 11;
const int Data = 12;
const int Busy = 13;

int ldrVal;
int distance;

void setup() {
  Serial.begin(9600);
  pinMode(redLedPin1, OUTPUT);
  pinMode(redLedPin2, OUTPUT);
   pinMode(Rst, OUTPUT);
  pinMode(Data, OUTPUT);
  pinMode(Busy, INPUT);
}

void loop() {

  //获取光强弱信号,并在串口监视器显示
  int ldrVal = analogRead(ldrPin);
  Serial.print("Value=");
  Serial.println(ldrVal);
  //获取距离远近信号,在串口监视器显示
  pinMode(TrigPin, OUTPUT);
  pinMode(EchoPin, INPUT);
  getDistance();
  Serial.println(distance);

  if ((distance <= 50) && (ldrVal >= 700)) {
    digitalWrite(redLedPin1, HIGH);
    digitalWrite(redLedPin2, HIGH);
    readSentence(27);
     delay(300);
    readSentence(29);
    delay(10000);
  }
  else {
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }
}

//超声波测距函数
void getDistance() {
  digitalWrite(TrigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW);
  distance = pulseIn(EchoPin, HIGH) / 58.0;
}

//语音播报函数
void readSentence(int num) {
  digitalWrite(Rst, LOW);
  delayMicroseconds(2);
  digitalWrite(Rst, HIGH);
  delayMicroseconds(100);
  digitalWrite(Rst, LOW);
  delayMicroseconds(100);
  for (int i = 0; i < num; i++)
  {
    digitalWrite(Data, HIGH);
    delayMicroseconds(100);
    digitalWrite(Data, LOW);
    delayMicroseconds(100);
  }
  while (digitalRead(Busy));
}

暖灯.mp4 (30.14 MB, 下载次数: 2)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐

关于我们

帮助中心

商务合作

点击这里给我发消息

关注微信公众号

Copyright © 2016-2017 i创学院 - 上海享渔教育科技有限公司 Powered by Discuz!     ( 沪ICP备16033954号-1 )