Мазмұны:

Дыбыстық импульсті қосқыш: 6 қадам
Дыбыстық импульсті қосқыш: 6 қадам

Бейне: Дыбыстық импульсті қосқыш: 6 қадам

Бейне: Дыбыстық импульсті қосқыш: 6 қадам
Бейне: Аккумуляторды көліктен АЛМАҢЫЗ. ДҰРЫС жасаңыз! 2024, Маусым
Anonim
Image
Image

Төсекте жатқанда проблема туындайды, бірақ кенеттен шамдар әлі де жанып тұрғанын түсінесіз. Алайда, сіз соншалықты шаршадыңыз, сіз жарықты сөндіру үшін төсекден төмен түскіңіз келмейді, телефонды пайдаланып жарықты сөндіруге мүмкіндік беретін Philip Hue қоршаған орта жарығын сатып алуға сексен доллар жұмсамайсыз. Егер сіз коммутатормен дәстүрлі шамды қолдансаңыз, жалқаулығыңызды жою үшін осы жаңа, бірақ оңай Arduino жобасын тексермеңіз!

Мен бұл жобаның идеясын шамамен бір жыл бұрын, жаңа үйге көшкенде бастадым, шамның сөндіргіші менің төсегіме жақын емес екенін білдім, бұл мені әр түнде төсегімді шаршатқанда төсегімнен кетуге мәжбүрледі., тек ШАМДЫ ӨШІРУ үшін (бұл мені әр түн сайын ашуландырады)! Алайда, бұл жобаны жасағаннан кейін маған көп пайдасы тиді және мен бұл идеяны INSTRUCTABLE қолданушыларымен бөлісемін деп үміттенемін, олар қазіргі уақытта алыс жарық қосқыштарынан зардап шегеді.

Бұл дыбыстық импульсті қосқыштың негізгі идеясы-KY-037 дыбыс детекторының сенсорын біршама әрекеттер үшін іске қосу, оның ішінде свето қозғалтқышты өшіру үшін нақты жарық қосқышын басу. Сонымен, KY-037 дыбыс детекторының сенсоры қалай жұмыс істейді: негізінен ол қоршаған ортадағы дыбыстың қарқындылығын анықтайды, бұл жағдайда әр 20 миллисекундта болады (мұны кодтау бөлімінде, 5-қадамда орнатуға болады) және қашан өзінің осциллографтық ізінде әдеттен тыс қатты дыбыс толқынын табады, содан кейін ол санауды іске қосады, ал екі санға жеткенде, ол сервоприводты іске қосады, әрі қарай шамдарды өшіреді.

1 -қадам: Жабдықтар

Жабдықтар
Жабдықтар
Жабдықтар
Жабдықтар

Бұл дыбыстық импульстік қосқышты жасау үшін бізге төмендегідей кейбір жабдықтар қажет:

Электроника:

  • Arduino Nano тақтасы
  • Нан тақтасы
  • Өткізгіш сымдар (әйелден әйелге және әйелден еркекке және еркектен еркекке)
  • KY-037 дыбыс детекторының сенсор модулі
  • Алюминий электролиттік конденсаторлар 220uF 25V
  • Серво моторы
  • Батарея банкі
  • Сыртқы қуат көзі *(USB екі бас Du-Pont сымына)
  • 9В батарея
  • 9В батарея қосқышы

Сәндік модельдік материалдар:

Картон (немесе ағаш, егер лазермен кесетін болса)

Басқалар

  • Жылдам құрғатылатын жабысқақ желім
  • Пышақ
  • Матаны кесу
  • Компас кескіш
  • Қарындаш пен өшіргіш
  • Жабысқақ саз
  • Екі жақты таспа
  • Таспа
  • Дәнекерлеу жабдықтары

2 -қадам: электронды компоненттерді жинау

Электрондық компоненттерді жинау
Электрондық компоненттерді жинау
Электрондық компоненттерді жинау
Электрондық компоненттерді жинау
Электрондық компоненттерді жинау
Электрондық компоненттерді жинау

Модельді жасамас бұрын, біз электронды компоненттерді жинауымыз керек, ол өте қарапайым және оларды бірнеше қадаммен жасауға болады:

  1. 9V батарея қосқышын Arduino Nano тақтасына дәнекерлеңіз. Бұл дәнекерлеу әдістерін білмейтін адамдар үшін біршама қиын болуы мүмкін, бірақ бұл жобаны сәтті жүзеге асыру үшін қажет, себебі егер тақта жеткілікті қуатпен қамтамасыз етілмесе, ол дұрыс жұмыс істемеуі мүмкін. Дәнекерлеу үшін қызыл сымды VIN түйреуішіне қосыңыз; және қара сым GND түйреуішіне, ол екеуі де тақтаның оң жағында тұрады.
  2. Өткізгіш сымдарды Arduino Nano тақтасына қосыңыз. Бұл жобада біз тек A0, D2, GND түйреуіші мен 5В түйреуішіне үлес қосамыз.

    • Түйреуіштерді қосу үшін нан тақтасын қолдана отырып, біз G пинін KY-037 дыбыс детекторының сенсорлық модулінен нан тақтасына қосуымыз керек; сол бағанда (сақ болыңыз, егер бір бағанда болмаса, сіздің соңғы жобаңыз жұмыс істемейді), қара сымды серво қозғалтқыштан және қара сымды сыртқы қуат көзінен қосыңыз (мұны істеу үшін сізге қажет. GND түйреуіші емес, 5В түйреуіші, себебі сіздің Arduino жанбайтын жағдайда сыртқы қуат көзі ортақ негізге айналуы керек), содан кейін сәйкесінше сол бағанға басқа еркек пен әйелдің қосқыш сымын қосыңыз.
    • Содан кейін, KY-037 дыбыс детекторының сенсорлық модуліндегі «+» түйреуішті сол бағандағы тесіктердің біріне жалғаңыз, содан кейін нан тақтасындағы сол бағанға, ал екінші жағын наноға қосатын басқа еркек пен әйелге қосқыш сымды алыңыз. тақта
    • Осыдан кейін, сервоқозғалтқыштағы қызыл сымды қолданылғанына қарамастан басқа бағанға жалғаңыз, ал қызыл сымды сыртқы қоректендіру көзінен сол бағанға салыңыз, аккумулятор банкін қуаттандыру үшін. Шынында да, USB қосалқы бөлігін серво қозғалтқышын қуаттандыру үшін қуат банкіне қосыңыз.
    • Сондай-ақ, GND және 5V түйреуіші орналасқан екі бағаннан асып өтіп, KY-037 дыбыс детекторы сенсоры үшін салыстырмалы түрде тұрақты жағдай жасау үшін сыйымдылықтың екі аяғын екі бағанға қойыңыз.
    • Соңында, серво қозғалтқышындағы ақ сымды нанодағы D2 істігіне қосыңыз. Ал K0-037 дыбыс детекторының сенсорлық модулінен A0-A0 тиісінше Arduino Nano тақтасына қосыңыз.

Сіз барлық электроникамен жұмыс жасайсыз!

3 -қадам: Үлгінің дизайны

Модель дизайны
Модель дизайны

Бұл жоба үшін модельді құру өте оңай, өйткені біз тек алты жағы бар қорап жасауымыз керек. Дегенмен, дизайн AutoCAD файлы сияқты сенімді болуы керек еді, мен оны төменде келтірдім.

Егер сіз бұл жобаны шынымен жақсы және дәл жасағыңыз келсе, осы жобаның дизайн идеясын ашу үшін оқуды жалғастырыңыз.

Бұл дыбыстық импульстік қосқышта алты жағы бар қорап бар, оның әр жағындағы тесіктер құрылғының жұмысын қамтамасыз ету үшін электронды компоненттерді орналастыруға арналған орынды білдіреді.

  1. Үстіңгі жағында ұзындығы 3 * ені 2 тесік бар, оған сервоқозғалтқышты орналастыруға, оған жұмыс істеуге және түймені басуға мүмкіндік береді;
  2. Қарама -қарсы түбінде біз бұл төртбұрышты негіз екенін, оның ішіндегі барлық нәрсені жақсы ұстауға және растауға арналған тесіктері жоқ екенін ескереміз; содан кейін оң жақта қуат банкіне қосылу үшін сыртқы қоректендіру сымы шығатын тесік қажет.
  3. Содан кейін, сол жағы үшін ол оң жақпен бірдей көрінеді, бірақ тесіксіз;
  4. Ақырында, алдыңғы жағында бізге қосымша саңылаулар қажет, олардың бірі 9В батарея қосқышы қораптан тыс болуы керек, осылайша кез келген ысырапшылдықтың алдын алу үшін сөндіргішті өшіру сияқты батареяны қуаты өшкен кезде оңай ауыстыра аламыз. батарея қуаты, екіншісі KY-037 микрофонына арналған, бұл құрылғы қоршаған ортадағы дыбыстың өзгеруін анықтай алады;
  5. Төменгі жағында, артқы жағында тесіктер жоқ, бәрін жақсы ұстау және бекіту үшін

4 -қадам: Үлгіні құру

Үлгіні құру
Үлгіні құру
Үлгіні құру
Үлгіні құру
Үлгіні құру
Үлгіні құру

Біз өз жоспарымызды мұқият жасағаннан кейін, енді модельді құру процесіне көшуіміз керек. Алайда, бұл процесс алдыңғы қадаммен салыстырғанда өте оңай болады, дәл осылай:

  1. AutoCAD файлында берілген масштабтағы алты жағын картонмен кесіңіз немесе лазермен кесіңіз
  2. Жабысқақ желімді алыңыз да, бөлшектердің екі жағына жабыстырыңыз, сонда да біз олардың құрамдас бөліктерін реттей аламыз.
  3. 9В аккумуляторлық қосқышты модельдің алдыңғы жағында кесілген тесікке бекітіңіз
  4. KY-037 дыбыс детекторының сенсорлық модулін біз кескен тесікке бекітіңіз, бірақ сәл кеңірек етіп кесуді ұмытпаңыз, мен берген диаметр «әр түрлі» болуы мүмкін «менің» компоненттің шамамен мәні, сонымен қатар тікбұрышты бөлігі. жағына тиіп кетуі мүмкін, бұл оның жеткілікті жақсы тартылмағанын ескеруі керек
  5. Нан тақтасының артындағы жапсырманы жұлып алып, оны модельдің алдыңғы бөлігінің артына жабыстырыңыз
  6. Серво қозғалтқышты модельдің жоғарғы жағында кесілген тесікке жақсы орналастырыңыз

    • Серво моторының артына жабысқақ саздың бір бөлігін қоюға тырысыңыз
    • Сонымен қатар, оны нығайту үшін екі жақты таспаны қоюды ұмытпаңыз
  7. Сыртқы USB кабелін біз құрылымның оң жағындағы тесіктен шығарып, оны қуат банкіне жалғаңыз.
  8. Артқы жағын модельге жабыстырыңыз, бірақ егер сіз өз жұмысыңызға сенімді болмасаңыз және әлі де құрылғыны жөндеуге немесе жөндеуге тура келсе, оны оңай жұлып алу үшін скотч таспаларының бірін қолданыңыз.

5 -қадам: кодтау

Кодтау
Кодтау
Кодтау
Кодтау

Бұл жобаның қызықты да маңызды бөлігі жоқ, егер сіз кодтамасаңыз, сіздің құрылғыңыз ешқашан жұмыс істемейді, сонымен қатар сіз өзіңіздің моделіңізді қаншалықты жақсы құрғаныңызға немесе схеманы жасаудың дәлдігіне қарамастан, бұл ештеңе емес. Сонымен, мен осы жобаға арналған кодты жаздым және кодтағы түсініктеме бөлімінде әр жолдың нені білдіретінін түсіндірдім, алайда, егер біреуде әлі де проблемалар болса, астына түсініктеме қалдыруға қуаныштымын. бірден жауап беру керек (сенемін).

Бұл кодта мен серво қозғалтқышы тоқсан градусқа және жүз сегіз градусқа бұрылуға рұқсат бердім, бірақ мұны әркімнің үйінде әртүрлі коммутатордың арқасында реттеуге болады, және менің ойымша, бұл барлығын өзгертуге ақысыз.. Менің кодты қарап отырғанда, бұл құрылғы дыбыс әдісін қолданып жарықты «автоматты түрде» өшіруге арналғанын естен шығармаңыз, егер шатастырмаңыз, ал егер сіз түсініксіз болсаңыз, төмендегі бейнеге қайта оралыңыз. ең басы Сіз кодты төменде немесе осы веб -сайтты құру Arduino сілтемесі арқылы көре аласыз.

Arduino сілтемесін жасаңыз

Сонымен қатар, егер кодты түсіндіру туралы жеткілікті адамдар сұраса, мен бұл туралы ойлана аламын …

Arduino-дыбыс-пульсирующий қосқыш

#include // servo моторға арналған кітапхананы қосыңыз
int MIC = A0; // дыбысты анықтау компоненті A0 аяғына қосылған
логикалық ауысу = жалған; // ауысудың бастапқы нұсқасын жазу
int micVal; // анықталған көлемді жазыңыз
Servo servo; // Servo моторының атын серво ретінде орнатыңыз
белгісіз ұзақ ток = 0; // ағымдағы уақыт белгісін жазыңыз
белгісіз ұзақ соңғы = 0; // соңғы рет штамп жазыңыз
белгісіз ұзақ айырмашылық = 0; // екі уақыт белгісі арасындағы уақыт айырмашылығын жазыңыз
қол қойылмаған int count = 0; // қосқыштардың санын жазыңыз
void setup () {// бір рет іске қосылады
servo.attach (2); // D-істікшесі 2-ге қосылу үшін сервоны инициализациялау
Serial.begin (9600); // серияны инициализациялау
servo.write (180); // сервоны бастапқы бұрышына бұруға мәжбүр етіңіз
}
void loop () {// цикл мәңгі
micVal = analogRead (MIC); // аналогтық шығуды оқу
Serial.println (micVal); // қоршаған орта дыбысының мәнін басып шығарыңыз
кешіктіру (20); // әр жиырма секунд сайын
if (micVal> 180) {// егер мен мұнда 180 деп қойған шектен асып кетсем
ағымдағы = миллис (); // ағымдағы уақыт белгісін жазыңыз
++ санау; // санаулы ауыстырғыштарға біреуін қосыңыз
//Serial.print("count= «); // ауысқан уақыттарды шығарыңыз, егер қаласаңыз ашыңыз
//Serial.println(count); // нөмірді басып шығарыңыз, егер қаласаңыз ашыңыз
if (count> = 2) {// егер ауысқан санау екіден көп немесе тең болса, екі уақыт белгісі 0,3 ~ 1,5 секундқа созылғанын анықтаңыз
диф = ток - соңғы; // екі уақыт белгісі арасындағы уақыт айырмасын есептеңіз
if (diff> 300 && diff <1500) {// екі уақыттық марканың 0,3 ~ 1,5 секундқа созылғанын анықтаңыз
ауыстыру =! ауыстыру; // ауысудың ағымдағы жағдайын қайтару
санау = 0; // санауды нөлге айналдырыңыз, қайтадан тестілеуге дайын болыңыз
} else {// егер уақыт шектеулі санаулар арасында созылмаса, онда есепті біреуіне қайтарыңыз
санау = 1; // санамайды
}
}
соңғы = ағымдағы; // келесі салыстыру үшін соңғы уақыт белгісін жаңарту үшін ағымдағы уақыт белгісін қолданыңыз
if (toggle) {// қосқыштың қосулы екенін анықтаңыз
servo.write (90); // жарықты ашу үшін серво 90 градусқа бұрылады
кешіктіру (3000); // 5 секундқа кешіктіру
servo.write (180); // серво бастапқы орнына қайта оралады
кешіктіру (1000); // тағы 5 секундқа кешіктіріңіз
санау = 0; // санауды бастапқы санға қайта санау үшін орнатыңыз
}
басқа {
servo.write (180); // егер ауыстырып қосқыш жұмыс істемесе, бастапқы 180 градуста қалудан гөрі
}
}
}

GitHub ❤ ұсынған rawArduino-Sound-Pulsing-Switch қосқышын қарау

6 -қадам: Аяқтау

Image
Image
Аяқтау
Аяқтау

Енді сіз жарықты өшіру үшін дыбыстық пульсация қосқышымен ойнауға болатын жобаны аяқтадыңыз, бұл сіздің жалқаулығыңыз ешқашан проблема болмайтынын көрсетеді! Есіңізде болсын, егер сіз бұл жобаны жасаған болсаңыз, оны маған және бүкіл әлемге бөлісіңіз, бұл жобаның керемет екенін көрсетеді!

Қызықты болыңыз және зерттеуді жалғастырыңыз! Іске сәт!

Ұсынылған: