电路

一盏孤独的灯:5个台阶(带图片)

狗咬狗~一嘴毛

狗咬狗~一嘴毛

目录:

Anonim

孤独的灯是指向大都市人民的灯。如果他们周围没有噪音或者没有人与他们交谈,人们会感到孤独。就像那样,这个孤独的灯也需要人们的关注。人们不得不拿起电话听筒,然后这盏灯就会转向面对人们。如果人们通过该电话听筒与此灯通信,则此灯将打开并根据音量改变亮度。如果5秒内没有噪音,此灯将会转回。

供应:

第1步:材料

你需要的东西:

1. Arduino Nano

2.半尺寸面包板

3. Adafruit 12键电容式触摸传感器突破

4.Electret麦克风放大器

5.USB灯泡

6. USB A型女性突围

6.标准伺服电机

7.铜箔胶带

8.Container

9.胶枪

10.跳线

第2步:电路

第3步:代码

#包括
#包括 #include“Adafruit_MPR121.h”

Adafruit_MPR121上限= Adafruit_MPR121();

int pos = 0;伺服myservo;

const int ledPin1 = 13; const int ledPin2 = 11; bool greenOn = false;

uint16_t lasttouched = 0; uint16_t currtouched = 0;

int soundSensorPin = A0; int soundReading = 0;

unsigned long lastEvent = 0; boolean ledOn = false; unsigned long lastTalkTime = 0;

void setup(){//将您的设置代码放在这里,运行一次:Serial.begin(9600); myservo.attach(9); pinMode(ledPin1,OUTPUT); pinMode(ledPin2,OUTPUT);

while(!Serial){//需要让leonardo / micro免于启动太快!延迟(10); }

if(!cap.begin(0x5A)){Serial.println(“找不到MPR121,检查接线?”);而(1); }}

void loop(){//将主代码放在这里,重复运行:currtouched = cap.touched(); // Serial.println(currtouched);

for(uint8_t i = 0; i <12; i ++){//如果*被*触及且*之前没有触及*警告! if((currtouched&_BV(i))&&!(lasttouched&_BV(i))){Serial.print(i); Serial.println(“touch”); Serial.println(米利斯() - lastEvent); if(millis() - lastEvent> 50){//切换LED并设置输出ledOn = true; lastTalkTime = millis(); digitalWrite(ledPin1,ledOn?HIGH:LOW); } lastEvent = millis(); } //如果它*被*触及现在*不是*,警告! if(!(currtouched&_BV(i))&&(lasttouched&_BV(i))){Serial.print(i); Serial.println(“已发布”); lastEvent = 0; ledOn = false; } lasttouched = currtouched; if(ledOn){pos = 180; myservo.write(POS); soundReading = analogRead(soundSensorPin); // Serial.println(soundReading);

if(pos = 180 && soundReading> 800){lastTalkTime = millis(); greenOn = true; } if(millis() - lastTalkTime> 8000){ledOn = false; } else if(millis() - lastTalkTime> 800){greenOn = false; } // Serial.println(ledOn); } else {pos = 0; greenOn = false; myservo.write(POS); digitalWrite(ledPin1,LOW); } // Serial.print(greenOn); Serial.println(soundReading); if(greenOn){int outputValue = map(soundReading,800,1023,0,255); analogWrite(ledPin2,outputValue); } else {digitalWrite(ledPin2,greenOn); } delay(100); }

第4步:包装起来

把Arduino放在最底层。

制作第二层固体层,稳定地粘合伺服电机。

我做了一部电话听筒。

我将声音传感器和连接触摸传感器的跳线连接到手机内部。然后我用手机上的导电胶带焊接了跳线。

然后我用羊毛纱来装饰电线。

第5步:演示