Вериги

Самотна лампа: 5 стъпки (със снимки)

Время и Стекло Так выпала Карта HD VKlipe Net

Время и Стекло Так выпала Карта HD VKlipe Net

Съдържание:

Anonim

Самотна лампа е лампа, която напомня на хората в метрополиса. Хората ще се чувстват самотни, ако няма шум около тях или никой не им говори. Точно така, тази самотна лампа също се нуждае от вниманието на хората. Хората трябва да вземат телефонния приемник, след което тази лампа ще се обърне към хората. Ако хората говорят с тази лампа през този телефонен приемник, тази лампа ще се включи и ще промени яркостта въз основа на силата на звука. Ако за 5 секунди няма шум, тази лампа ще се върне обратно.

градина:

Стъпка 1: Материали

Нещата, от които се нуждаете:

1. Ардуино Нано

2. Полуразмерна дъска

3. Adafruit 12-Key Capacitive Touch Sensor Breakout

4.Electret микрофон усилвател

5.USB електрическа крушка

6. USB Type A женски пробив

6.Стандартен серво мотор

7.Стъпка лента за фолио

8.Container

9.Мече пистолет

10. Кабелни проводници

Стъпка 2: Верига

Стъпка 3: Код

#include
#include #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;

неподписан дълго lastEvent = 0; boolean ledOn = false; неподписан дълго lastTalkTime = 0;

void setup () {// поставете вашия код за настройка тук, за да стартирате веднъж: Serial.begin (9600); myservo.attach (9); pinMode (ledPin1, OUTPUT); pinMode (ledPin2, OUTPUT);

докато (! Сериен) {// е необходимо да запазим Леонардо / Микро да започне твърде бързо! забавяне (10); }

ако (! cap.begin (0x5A)) {Serial.println ("MPR121 не е намерен, проверете кабелите?"); докато (1); }}

void loop () {// поставете основния си код тук, за да изпълнявате многократно: currtouched = cap.touched (); // Serial.println (currtouched);

за (uint8_t i = 0; i <12; i ++) {// ако * е * докоснат и * не е бил докоснат преди, предупреждение! if ((currtouched & _BV (i)) &&! (последно докосна & _BV (i))) {Serial.print (i); Serial.println ("докосна"); Serial.println (милисекунди () - lastEvent); if (millis () - lastEvent> 50) {// превключвате светодиода и настройте изхода 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; }} последното докосване = изкривено; if (ledOn) {pos = 180; myservo.write (поз); 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 (поз); 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 на дъното.

Направете втори твърд слой, за да залепите серво мотора стабилно.

Направих телефонна слушалка.

Сложих звуковия сензор и джъмперните кабели, които се свързват със сензорен сензор вътре в слушалката. След това запойнах с джъмперни проводници с проводящи ленти на слушалката.

След това използвах вълнена прежда, за да украсявам жици.

Стъпка 5: Демонстрация