Áramkörök

Magányos lámpa: 5 lépés (képekkel)

A vetésed egy mag // Ráki Tamás Pásztor

A vetésed egy mag // Ráki Tamás Pásztor

Tartalomjegyzék:

Anonim

A Lonely Lamp egy lámpa, amely a nagyvárosban élő emberekre utal. Az emberek magányosnak érezzék magukat, ha nincs körülöttük zaj, vagy senki nem beszél velük. Ehhez hasonlóan ez a magányos lámpának is szüksége van az emberek figyelmére. Az embereknek fel kell venniük a telefont, és ez a lámpa az emberek felé fordul. Ha az emberek a telefonkészüléken keresztül beszélnek ezzel a lámpával, akkor ez a lámpa bekapcsol, és a hangerő alapján módosítja a fényerőt. Ha 5 másodpercig nincs zaj, ez a lámpa visszafordul.

kellékek:

1. lépés: Anyagok

A szükséges dolgok:

1. Arduino Nano

2. Félméretű kenyérvágódeszka

3. Adafruit 12 kulcsos kapacitív érintésérzékelő kitörés

4.Electret mikrofonerősítő

5.USB villanykörte

6. USB típusú A női áttörés

6.Standard szervo motor

7.Copper fólia szalag

8.Container

9.Glue fegyver

10. Áthidaló vezetékek

2. lépés: Áramkör

3. lépés: Kód

#include
#include #include "Adafruit_MPR121.h"

Adafruit_MPR121 sapka = Adafruit_MPR121 ();

int pos = 0; Servo 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; nem aláírt hosszú lastTalkTime = 0;

void setup () {// helyezze el a telepítő kódját, hogy egyszer fusson: Serial.begin (9600); myservo.attach (9); pinMode (ledPin1, OUTPUT); pinMode (ledPin2, OUTPUT);

míg a (! Serial) {// szükséges ahhoz, hogy a leonardo / micro túl gyorsan induljon! késleltetés (10); }

ha (! cap.begin (0x5A)) {Serial.println ("MPR121 nem található, ellenőrizze a vezetékeket?"); míg (1); }}

void loop () {// tegye ide a fő kódot, hogy ismételten fusson: currtouched = cap.touched (); // Serial.println (currtouched);

(uint8_t i = 0; i <12; i ++) {// ha * van * megérintve és * nem volt * megérintve, figyelmeztetés! ha ((currtouched & _BV (i)) &&! (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("megérintve"); Serial.println (Millis () - lastEvent); ha (millis () - lastEvent> 50) {// kapcsolja a LED-et és a kimeneti LEDOn = true; lastTalkTime = millis (); digitalWrite (ledPin1, ledOn? HIGH: LOW); } lastEvent = millis (); } // ha * megérintette, és most * nem *, éber! ha (! (currtouched & _BV (i)) && (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("megjelent"); lastEvent = 0; ledOn = false; }} lasttouched = currtouched; ha (ledOn) {pos = 180; myservo.write (POS); soundReading = analóg olvasás (soundSensorPin); // Serial.println (soundReading);

ha (pos = 180 &&HangReading> 800) {lastTalkTime = millis (); greenOn = igaz; } if (millis () - lastTalkTime> 8000) {ledOn = false; } más, ha (millis () - lastTalkTime> 800) {greenOn = false; } // Serial.println (ledOn); } más {pos = 0; greenOn = false; myservo.write (POS); digitalWrite (ledPin1, LOW); } // Serial.print (greenOn); Serial.println (soundReading); ha (greenOn) {int outputValue = térkép (soundReading, 800, 1023, 0, 255); analogWrite (ledPin2, outputValue); } other {digitalWrite (ledPin2, greenOn); } késleltetés (100); }

4. lépés: Csomagolja fel

Tedd Arduino-t az aljára.

Készítsen egy második szilárd réteget a szervomotor ragasztásához.

Készítettem egy telefonkagylót.

A hangérzékelőt és az áthidaló vezetékeket a kézibeszélő belsejében érintőérzékelővel csatlakoztattam. Ezután a vezetékes szalagokkal ellátott jumper vezetékeket forrasztottam a készülékre.

Ezután gyapjú fonalat használtam a vezetékek díszítésére.

5. lépés: Demó