Krugovi

Usamljena žarulja: 5 koraka (sa slikama)

Usamljena svjetiljka u tami svijeta - Poruka trojice anđela 304

Usamljena svjetiljka u tami svijeta - Poruka trojice anđela 304

Sadržaj:

Anonim

Usamljena svjetiljka je svjetiljka koja aludira na ljude u metropoli. Ljudi će se osjećati usamljeni ako nema buke oko njih ili nitko ne razgovara s njima. Samo tako, ovoj usamljenoj svjetiljki trebaju i ljudi. Ljudi moraju pokupiti telefonski prijemnik, a ova će se svjetiljka okrenuti licem prema ljudima. Ako ljudi preko te telefonske slušalice razgovaraju s ovom lampom, ova će se lampica uključiti i promijeniti svjetlinu ovisno o glasnoći. Ako nema buke tijekom 5 sekundi, ova žaruljica će se vratiti.

Pribor:

Korak 1: Materijali

Stvari koje trebate:

1. Arduino Nano

2. Polupansionska ploča

3. Adafruit 12-Key kapacitivni senzor osjetljivosti na dodir

4.Elektretno mikrofonsko pojačalo

5.USB žarulja

6. USB Type ženski bijeg

6.Standard servo motor

7.Poklopna folijska traka

8.Container

9.Glue pištolj

10. Kratkospojne žice

Korak 2: Krug

Korak 3: Kod

#include
#include #include "Adafruit_MPR121.h"

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

nepotpisano dugo lastEvent = 0; boolean ledOn = false; nepotpisano dugo lastTalkTime = 0;

void setup () {// ovdje postavite vaš kod za postavljanje, za pokretanje: Serial.begin (9600); myservo.attach (9); pinMode (ledPin1, OUTPUT); pinMode (ledPin2, OUTPUT);

dok je (! Serial) {// potreban da bi se leonardo / micro počeo prebrzo pokretati! kašnjenje (10); }

ako (! cap.begin (0x5A)) {Serial.println ("MPR121 nije pronađen, provjerite ožičenje?"); dok (1); }}

void loop () {// ovdje stavite vaš glavni kôd da bi se više puta izvodio: currtouched = cap.touched (); // Serial.println (currtouched);

za (uint8_t i = 0; i <12; i ++) {// ako je * dotaknut i * nije * dotaknuo prije, uzbuna! if ((currtouched & _BV (i)) &&! (zadnje dotaknuto & _BV (i))) {Serial.print (i); Serial.println ("dodirnuo"); Serial.println (millis () - lastEvent); if (millis () - lastEvent> 50) {// uključi LED i postavi izlazni ledOn = true; lastTalkTime = millis (); digitalWrite (ledPin1, ledOn? HIGH: LOW); } lastEvent = millis (); } // ako je * bio * dotaknut i sada * nije *, uzbuna! if (! (currtouched & _BV (i)) && (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("izdano"); 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); } drugo {pos = 0; greenOn = false; myservo.write (pos); digitalWrite (ledPin1, LOW); } // Serial.print (greenOn); Serial.println (soundReading); if (greenOn) {int outputValue = karta (soundReading, 800, 1023, 0, 255); analogWrite (ledPin2, outputValue); } else {digitalWrite (ledPin2, greenOn); } kašnjenje (100); }

Korak 4: Zamotajte ga

Stavite Arduino na dno.

Napravite drugi čvrsti sloj da biste stabilizirali servo motor.

Napravio sam telefonsku slušalicu.

Stavio sam zvučni senzor i kratkospojnik koji se povezuju sa senzorom za dodir unutar slušalice. Zatim sam zalemio žice s kratkospojnikom s vodljivim vrpcama na slušalici.

Tada sam koristio vunenu pređu za ukrašavanje žica.

Korak 5: Demo