Vezja

Osamljena svetilka: 5 korakov (s slikami)

Kresniček (predstavitev glasbene pravljice)

Kresniček (predstavitev glasbene pravljice)

Kazalo:

Anonim

Osamljena svetilka je svetilka, ki omenja ljudi v metropoli. Ljudje se bodo počutili osamljeni, če okoli njih ni hrupa ali se nihče ne pogovarja z njimi. Samo tako, ta osamljena svetilka potrebuje tudi pozornost ljudi. Ljudje morajo dvigniti telefonski sprejemnik, potem pa se bo ta svetilka obrnila na ljudi. Če ljudje prek te telefonske sprejemnike govorijo s to žarnico, se bo ta lučka vklopila in spremenila svetlost glede na glasnost. Če 5 sekund ne bo šuma, se bo ta žarnica obrnila nazaj.

Dobave:

1. korak: Materiali

Stvari, ki jih potrebujete:

1. Arduino Nano

2. Polovična miza

3. Adafruit 12-Key Capacitive Touch Sensor Breakout

4.Electret mikrofonski ojačevalnik

5.USB žarnica

6. USB tip ženski preboj

6.Standardni servo motor

7.Copper folija trak

8.Container

9.Glu puško

10. Premostite žice

2. korak: Krog

3. korak: Koda

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

nepodpisano dolgo zadnjeEvent = 0; boolean ledOn = false; nepodpisano dolgo lastTalkTime = 0;

void setup () {// tukaj namestite kodo za nastavitev, da se zažene enkrat: Serial.begin (9600); myservo.attach (9); pinMode (ledPin1, IZHOD); pinMode (ledPin2, IZHOD);

medtem ko (! Serial) {// je potrebno, da leonardo / micro začne preveč hitro! zamuda (10); }

if (! cap.begin (0x5A)) {Serial.println ("MPR121 ni mogoče najti, preverite ožičenje?"); medtem ko (1); }}

void loop () {// tukaj je postavil vašo glavno kodo za večkratno izvajanje: currtouched = cap.touched (); // Serial.println (currtouched);

za (uint8_t i = 0; i <12; i ++) {// če se je * dotaknil in * ni bil dotaknjen prej, opozorilo! if ((currtouched & _BV (i)) &&! (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("dotaknil"); Serial.println (millis () - lastEvent); if (millis () - lastEvent> 50) {// preklopite LED in nastavite izhodni ledOn = true; lastTalkTime = millis (); digitalWrite (ledPin1, ledOn? HIGH: LOW); } lastEvent = millis (); } // če se je * dotaknil in zdaj * ni *, opozorilo! if (! (currtouched & _BV (i)) && (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("sprosti"); 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 = mapa (soundReading, 800, 1023, 0, 255); analogWrite (ledPin2, outputValue); } else {digitalWrite (ledPin2, greenOn); } zamuda (100); }

4. korak: zavijte ga

Postavite Arduino na dno.

Naredite drugo trdno plast za stabilno lepljenje servo motorja.

Naredil sem telefonsko slušalko.

Postavil sem zvočni senzor in žično povezavo, ki sta povezana s senzorjem na dotik v slušalki. Potem sem na liniji spajkal žičnice s prevodnimi trakovi.

Potem sem uporabil volneno prejo za dekoriranje žic.

5. korak: Demo