回路

孤独なランプ:5つのステップ(写真付き)

ワンコと山登り♪

ワンコと山登り♪

目次:

Anonim

孤独なランプは大都市の人々にほのめかしているランプです。周囲に騒音がない、または誰かが話していない場合、人々は孤独を感じるでしょう。そのように、この孤独なランプも人々の注意を必要とします。人々は電話の受信機を拾う必要があります、そしてこのランプは人々の方を向くでしょう。人々がその電話受信機を通してこのランプと話すと、このランプは点灯し、音量に基づいて明るさを変えます。 5秒間ノイズがなければ、このランプは消えます。

用品:

ステップ1:材料

必要なもの

1. Arduino Nano

ハーフサイズブレッドボード

3. Adafruit 12キー静電容量式タッチセンサーブレークアウト

4.エレクトレットマイクアンプ

5.USB電球

6. USB Type Aメスブレイクアウト

6.標準サーボモーター

7.銅箔テープ

8.コンテナ

9.グルーガン

10.ジャンパー線

ステップ2:回路

ステップ3:コード

#含める
#含める #include "Adafruit_MPR121.h"

Adafruit_MPR121 cap = 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。

符号なしlong lastEvent = 0。 boolean ledOn = false;符号なしlong lastTalkTime = 0。

void setup(){//一度実行するには、ここにセットアップコードを入れてください。Serial.begin(9600); myservo.attach(9)。 pinMode(ledPin1、OUTPUT); pinMode(ledPin2、OUTPUT);

while(!Serial){//レオナルド/マイクロの起動が早すぎないようにする必要があります。遅延(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(millis() - lastEvent); if(millis() - lastEvent> 50){// LEDを切り替えて出力を設定するledOn = true; lastTalkTime = millis(); digitalWrite(ledPin1、ledOn?HIGH:LOW); lastEvent = millis(); //それが*触れられていて、今は* isnt *でなければ、警告! if(!(currtouched&_BV(i))&&(lasttouched&_BV(i))){Serial.print(i); Serial.println( "release"); 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;}そうでなければ(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);}遅延(100)。 }

ステップ4:まとめ

一番下にArduinoを置きます。

安定してサーボモーターを接着するために2番目の固体層を作ります。

私は電話の受話器を作りました。

タッチセンサーと接続するサウンドセンサーとジャンパー線をハンドセットの中に入れています。それから私は携帯電話の導電性テープでジャンパー線をはんだ付けしました。

それから私はワイヤーを飾るために羊毛を使いました。

ステップ5:デモ