Схемы

Одинокая лампа: 5 шагов (с картинками)

Песня про любовь Классно поет под гитару

Песня про любовь Классно поет под гитару

Оглавление:

Anonim

Одинокая лампа - это лампа, намекающая на людей в мегаполисе. Люди будут чувствовать себя одинокими, если вокруг них нет шума или никто с ними не разговаривает. Точно так же, эта одинокая лампа также требует внимания людей. Люди должны взять телефонную трубку, тогда эта лампа повернется лицом к людям. Если люди разговаривают с этой лампой через этот телефонный приемник, эта лампа включится и изменит яркость в зависимости от громкости. Если в течение 5 секунд не будет шума, эта лампа погаснет.

Расходные материалы:

Шаг 1: Материалы

Вещи, которые вам нужны:

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

2. Половинный макет

3. Отключение емкостного сенсорного датчика с 12 клавишами Adafruit

Усилитель микрофона 4.Electret

5.USB лампочка

6. USB Type A Female Breakout

6. Стандартный серводвигатель

7. медная фольга

8.Container

9. Клеевой пистолет

10. Перемычки

Шаг 2: Схема

Шаг 3: Код

#включают
#включают #include "Adafruit_MPR121.h"

Adafruit_MPR121 cap = Adafruit_MPR121 ();

int pos = 0; Сервомеханизм;

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; логическое значение 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 ("тронут"); 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; }} lasttouched = currtouched; if (ledOn) {pos = 180; myservo.write (позы); soundReading = analogRead (soundSensorPin); // Serial.println (soundReading);

if (pos = 180 && soundReading> 800) {lastTalkTime = millis (); greenOn = правда; } if (millis () - lastTalkTime> 8000) {ledOn = false; } else if (millis () - lastTalkTime> 800) {greenOn = false; } // Serial.println (ledOn); } else {pos = 0; greenOn = ложь; 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: Демо