Circuits

Isang Malungkot na Lamp: 5 Mga Hakbang (na may Mga Larawan)

Eminem - Darkness (Official Video)

Eminem - Darkness (Official Video)

Talaan ng mga Nilalaman:

Anonim

Isang Lonely Lamp ay isang lampara na tumutukoy sa mga tao sa lunsod. Ang mga tao ay madama na malungkot kung walang ingay sa paligid nila o walang nakikipag-usap sa kanila. Katulad nito, ang malungkot na lampara na ito ay nangangailangan din ng pansin ng mga tao. Kinakailangan ng mga tao na kunin ang receiver ng telepono at pagkatapos ay ilalagay ito sa harap ng mga tao. Kung ang mga tao ay makipag-usap sa lampara na ito sa pamamagitan ng receiver ng telepono, ang lampara na ito ay bubuksan at palitan ang liwanag batay sa lakas ng tunog. Kung walang ingay sa loob ng 5 segundo, ibabalik ang lampara na ito.

Mga Kagamitan:

Hakbang 1: Materyales

Ang mga bagay na kailangan mo:

1. Arduino Nano

2. Half-size na breadboard

3. Adafruit 12-Key Capacitive Touch Sensor Breakout

4.Electret Microphone Amplifier

5.USB lightbulb

6. USB Uri Isang Babae Breakout

6.Standard servo motor

7.Copper Foil Tape

8.Container

9.Glue gun

10. Mga wire ng lumulukso

Hakbang 2: Circuit

Hakbang 3: Code

# isama
# isama # isama ang "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;

unsigned long lastEvent = 0; boolean ledOn = false; unsigned long lastTalkTime = 0;

walang bisa setup () {// ilagay ang iyong setup code dito, upang tumakbo nang isang beses: Serial.begin (9600); myservo.attach (9); pinMode (ledPin1, Output); pinMode (ledPin2, Output);

habang (! Serial) {// kailangan upang mapanatili ang leonardo / micro mula sa pagsisimula ng masyadong mabilis! pagkaantala (10); }

kung (! cap.begin (0x5A)) {Serial.println ("Hindi nakita ang MPR121, suriin ang mga kable?"); habang (1); }}

walang bisa loop () {// ilagay ang iyong pangunahing code dito, upang tumakbo nang paulit-ulit: currtouched = cap.touched (); // Serial.println (currtouched);

para sa (uint8_t i = 0; i <12; i ++) {/ kung ito ay * hinawakan at * ay hindi hinawakan bago, alerto! kung ((currtouched & _BV (i)) &&! (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("hinawakan"); Serial.println (millis () - lastEvent); kung (millis () - lastEvent> 50) {// toggle LED at i-set ang output ledOn = totoo; lastTalkTime = millis (); digitalWrite (ledPin1, ledOn? HIGH: LOW); } lastEvent = millis (); } // kung ito ay * hinawakan at ngayon * ay hindi *, alerto! kung (! (currtouched & _BV (i)) && (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("inilabas"); lastEvent = 0; ledOn = false; }} lasttouched = currtouched; kung (ledOn) {pos = 180; myservo.write (pos); soundReading = analogRead (soundSensorPin); // Serial.println (soundReading);

kung (pos = 180 && soundReading> 800) {lastTalkTime = millis (); greenOn = totoo; } kung (millis () - lastTalkTime> 8000) {ledOn = false; } else if (millis () - lastTalkTime> 800) {greenOn = false; } // Serial.println (ledOn); } else {pos = 0; greenOn = false; myservo.write (pos); digitalWrite (ledPin1, LOW); } // Serial.print (greenOn); Serial.println (soundReading); kung (greenOn) {int outputValue = mapa (soundReading, 800, 1023, 0, 255); analogWrite (ledPin2, outputValue); } else {digitalWrite (ledPin2, greenOn); } pagkaantala (100); }

Hakbang 4: I-wrap It Up

Ilagay ang Arduino sa ibaba.

Gumawa ng isang pangalawang solid na patong upang makapaghiwalay ng servo motor.

Gumawa ako ng handset ng telepono.

Inilalagay ko ang sound sensor at jumper wires na kumonekta sa touch sensor sa loob ng handset. Pagkatapos ay nilagyan ko ng wire jumper na may mga kondaktibo na teyp sa handset.

Pagkatapos ay ginamit ko ang yari sa lana na sinulid upang palamutihan ang mga wire.

Hakbang 5: Demo