ఒంటరి దీపం: 5 దశలు (చిత్రాలతో)

মাঝে মাঝে টিà¦à¦¿ অ্যাড দেখে চরম মজা লাগে

মাঝে মাঝে টিà¦à¦¿ অ্যাড দেখে চরম মজা লাগে

విషయ సూచిక:

Anonim

లోన్లీ లాంప్ అనేది మహానగరంలోని ప్రజలను సూచించే దీపం. చుట్టుపక్కల శబ్దం లేకపోతే లేదా వారితో ఎవరూ మాట్లాడకపోతే ప్రజలు ఒంటరిగా ఉంటారు. అదే విధంగా, ఈ ఒంటరి దీపానికి ప్రజల దృష్టి కూడా అవసరం. ప్రజలు టెలిఫోన్ రిసీవర్‌ను తీసుకోవాలి, అప్పుడు ఈ దీపం ప్రజలకు ముఖంగా మారుతుంది. ఆ టెలిఫోన్ రిసీవర్ ద్వారా ప్రజలు ఈ దీపంతో మాట్లాడితే, ఈ దీపం ఆన్ చేసి, వాల్యూమ్ ఆధారంగా ప్రకాశాన్ని మారుస్తుంది. 5 సెకన్ల పాటు శబ్దం లేకపోతే, ఈ దీపం వెనక్కి మారుతుంది.

సామాగ్రి:

దశ 1: పదార్థాలు

మీకు అవసరమైన విషయాలు:

1. అర్డునో నానో

2. సగం పరిమాణ బ్రెడ్‌బోర్డ్

3. అడాఫ్రూట్ 12-కీ కెపాసిటివ్ టచ్ సెన్సార్ బ్రేక్అవుట్

4.ఎలెక్ట్రెట్ మైక్రోఫోన్ యాంప్లిఫైయర్

5.USB లైట్ బల్బ్

6. యుఎస్బి టైప్ ఎ ఫిమేల్ బ్రేక్అవుట్

6.స్టాండర్డ్ సర్వో మోటార్

7.కాపర్ రేకు టేప్

8.Container

9.గ్లూ గన్

10. జంపర్ వైర్లు

దశ 2: సర్క్యూట్

దశ 3: కోడ్

# ఉన్నాయి
# ఉన్నాయి # చేర్చండి "Adafruit_MPR121.h"

అడాఫ్రూట్_ఎంపిఆర్ 121 క్యాప్ = అడాఫ్రూట్_ఎంపిఆర్ 121 ();

int pos = 0; సర్వో మైసర్వో;

const int ledPin1 = 13; const int ledPin2 = 11; bool greenOn = తప్పుడు;

uint16_t lasttouched = 0; uint16_t కర్టౌచ్డ్ = 0;

int soundSensorPin = A0; int సౌండ్ రీడింగ్ = 0;

సంతకం చేయని దీర్ఘ చివరిఈవెంట్ = 0; boolean ledOn = తప్పుడు; సంతకం చేయని దీర్ఘ చివరి టాక్‌టైమ్ = 0;

శూన్య సెటప్ () {// ఒకసారి సెటప్ చేయడానికి మీ సెటప్ కోడ్‌ను ఇక్కడ ఉంచండి: Serial.begin (9600); myservo.attach (9); పిన్‌మోడ్ (ledPin1, OUTPUT); పిన్‌మోడ్ (ledPin2, OUTPUT);

లియోనార్డో / మైక్రోను చాలా వేగంగా ప్రారంభించకుండా ఉంచడానికి (! సీరియల్) {// అవసరం! ఆలస్యం (10); }

if (! cap.begin (0x5A)) {Serial.println ("MPR121 కనుగొనబడలేదు, వైరింగ్‌ను తనిఖీ చేయాలా?"); అయితే (1); }}

void loop () {// మీ ప్రధాన కోడ్‌ను ఇక్కడ ఉంచండి, పదేపదే అమలు చేయడానికి: currtouched = cap.touched (); // సీరియల్.ప్రింట్ల్న్ (కర్టచ్డ్);

(uint8_t i = 0; i <12; i ++) {// ఇది * తాకినట్లయితే మరియు * ముందు * తాకకపోతే, హెచ్చరిక! if ((కర్టౌచ్డ్ & _BV (i)) &&! (చివరి టచ్ & _BV (i)) {సీరియల్.ప్రింట్ (i); సీరియల్.ప్రింట్ల్న్ ("తాకినది"); Serial.println (millis () - lastEvent); if (మిల్లిస్ () - లాస్ట్ఈవెంట్> 50) {// LED ని టోగుల్ చేసి అవుట్పుట్ సెట్ చేయండి ledOn = true; lastTalkTime = మిల్లీస్ (); డిజిటల్ రైట్ (ledPin1, ledOn? HIGH: LOW); } lastEvent = మిల్లీస్ (); } // అది * తాకినట్లయితే మరియు ఇప్పుడు * లేకపోతే *, హెచ్చరిక! if (! (currtouched & _BV (i)) && (lasttouched & _BV (i))) {Serial.print (i); సీరియల్.ప్రింట్ల్న్ ("విడుదల"); lastEvent = 0; ledOn = తప్పుడు; }} lasttouched = కర్టౌచ్డ్; if (ledOn) {pos = 180; myservo.write (POS); soundReading = అనలాగ్ రీడ్ (సౌండ్‌సెన్సార్పిన్); // సీరియల్.ప్రింట్ల్న్ (సౌండ్ రీడింగ్);

if (pos = 180 && soundReading> 800) {lastTalkTime = milis (); greenOn = నిజం; } if (మిల్లిస్ () - లాస్ట్‌టాక్‌టైమ్> 8000) {ledOn = false; } else if (మిల్లిస్ () - లాస్ట్‌టాక్‌టైమ్> 800) {greenOn = తప్పుడు; } // సీరియల్.ప్రింట్ల్న్ (ledOn); } else {pos = 0; greenOn = తప్పుడు; myservo.write (POS); డిజిటల్ రైట్ (ledPin1, LOW); } // సీరియల్.ప్రింట్ (గ్రీన్ఆన్); Serial.println (soundReading); if (greenOn) {int outputValue = map (సౌండ్ రీడింగ్, 800, 1023, 0, 255); analogWrite (ledPin2, outputValue); } else {డిజిటల్ రైట్ (ledPin2, greenOn); } ఆలస్యం (100); }

దశ 4: దీన్ని చుట్టండి

అర్డునోను దిగువన ఉంచండి.

గ్లూ సర్వో మోటారుకు స్థిరంగా రెండవ ఘన పొరను తయారు చేయండి.

నేను టెలిఫోన్ హ్యాండ్‌సెట్ చేసాను.

నేను టచ్ సెన్సార్‌తో కనెక్ట్ అయ్యే సౌండ్ సెన్సార్ మరియు జంపర్ వైర్లను హ్యాండ్‌సెట్ లోపల ఉంచాను. అప్పుడు నేను హ్యాండ్‌సెట్‌లో వాహక టేపులతో జంపర్ వైర్లను కరిగించాను.

అప్పుడు నేను వైర్లను అలంకరించడానికి ఉన్ని నూలును ఉపయోగించాను.

దశ 5: డెమో