PKU-电子系统基础训练-实验五Code-声光检测与控制

声明

代码开源的目的是让学弟学妹们更高效的学习而非赢利,部分代码也来自其他同学的分享。希望学弟学妹们能够认真预习并坚持完成每次实验课,真正感悟电子系统实验的魅力。


1.声控灯

//声控灯代码
int digitialPinIn = 8;
int digitialPinOut = 4;
int value;

void setup()
{
    pinMode(digitialPinIn, INPUT);
    pinMode(digitialPinOut, OUTPUT);
}

void loop()
{
    value = digitalRead(digitialPinIn);
    if (value == HIGH)
    {
        digitalWrite(digitialPinOut, HIGH);
    }
    else
    {
        digitalWrite(digitialPinOut, LOW);
    }
    delay(500);
}

2.音乐节奏灯

//代码参照声控灯,稍微改改控制灯串部分的代码就行,都学过计概的人儿了不至于不会吧哈哈
//自己多尝试,别总想白嫖

3.自动路灯

int led = 4;
int analogpin = A0;
int value;
void setup()
{
    pinMode(led, OUTPUT);
    pinMode(analogpin, INPUT);
    Serial.begin(9600);
}
void loop()
{
    value = analogRead(analogpin);
    Serial.println(value);
    if (value > 130)
        digitalWrite(led, HIGH);
    else
        digitalWrite(led, LOW);
    delay(1000);
}

//感光雷达测距
#include "pitches.h"
#include "math.h"
int value;
int pin = 4;
int analogpin = A0;
int melody = NOTE_C2;
int duration;
int pause;
void setup()
{
    pinMode(pin, OUTPUT);
    Serial.begin(9600);
}
void loop()
{
    value = analogRead(analogpin);
    Serial.println(value);
    duration = value;
    pause = duration * 3.30;
    tone(pin, melody, duration);
    delay(pause);
}

4.自动楼道灯

int digitalpin = 8;
int led = 4;
int analogpin = A0;
double value; //shengyin
int value1;   //dengguang
void setup()
{
    pinMode(digitalpin, INPUT);
    pinMode(led, OUTPUT);
    Serial.begin(9600);
}

void loop()
{
    value = digitalRead(8);
    value1 = analogRead(analogpin);
    Serial.println(value);
    Serial.println(value1);

    if (value == HIGH && value1 > 300)
    {
        digitalWrite(led, HIGH);
        delay(2000);
    }
    else
    {
        digitalWrite(led, LOW);
    }
}

5.音乐灯系统(LED灯随音量改变亮度)

int Pin = 8;
int led = 4;
int soundPin = A0;
int soundVal = 0;

void setup()
{
    pinMode(led, OUTPUT);
    Serial.begin(9600);
}

void loop()
{
    soundVal = analogRead(soundPin);

    int brightness = max(0, min(soundVal - 300, 255));
    Serial.println(brightness);
    digitalWrite(led, brightness);
    delay(100);
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值