Sisukord:

Heli pulseeriv lüliti: 6 sammu
Heli pulseeriv lüliti: 6 sammu

Video: Heli pulseeriv lüliti: 6 sammu

Video: Heli pulseeriv lüliti: 6 sammu
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Image
Image

Kas teil on kunagi olnud probleeme voodis viibides, kuid mõistate äkki, et tuled põlevad endiselt. Olete aga nii väsinud, et ei soovi tulede kustutamiseks voodist alla kõndida ega kulutada kaheksakümmend dollarit Philip Hue ümbritseva valguse ostmiseks, mis võimaldaks telefoni abil tuled välja lülitada. Kui kasutate traditsioonilist lülitiga valgustit, siis miks mitte vaadata seda uudset, kuid samas lihtsat Arduino projekti oma laiskuse lahendamiseks!

Mul hakkas selle projekti idee tekkima umbes aasta tagasi, kui kolisin uude koju, avastades, et mu valguslüliti pole mu voodi lähedal, mis sunnib mind igal õhtul voodist lahkudes väsitavalt lahkuma, just VALGUSE Lülitamiseks (mis mind igal õhtul ärritab)! Kuid pärast selle projekti tegemist on mulle kogu aeg tohutult kasu olnud ja loodan jagada seda ideed kõigile INSTRUCTABLE kasutajatele, kes kannatavad praegu ka kaugtule lüliti probleemi all.

Selle helipulsslüliti põhiidee on käivitada helidetektor KY-037 teatud toimingute tegemiseks, sealhulgas lülitada servomootor sisse, et see lülitada välja tegelikule valguslülitile, et see välja lülitada. Niisiis, kuidas täpselt KY-037 helidetektori andur töötab: põhimõtteliselt tuvastab see heli intensiivsuse keskkonnas, antud juhul iga 20 millisekundi järel (seda saab määrata kodeerimisjaotise 5. sammus) ja millal avastab oma ostsilloskoobi jälgimisel ebatavaliselt valju helilaine, käivitab see siis loenduse, samas kui kahe arvu saavutamisel aktiveerib see servomootori, lülitades tuled veelgi välja.

Samm: tarvikud

Tarvikud
Tarvikud
Tarvikud
Tarvikud

Selle helipulsslüliti loomiseks vajame teatud tarvikuid, nagu allpool:

Elektroonika:

  • Arduino Nano plaat
  • Leivalaud
  • Jumper juhtmed (naissoost naissoost ja naissoost isasele ja meessoost mehele)
  • KY-037 helidetektori andurimoodul
  • Alumiiniumist elektrolüütkondensaatorid 220uF 25V
  • Servomootor
  • Aku pank
  • Väline toiteallikas *(USB kahe peaga Du-Pont traadiga)
  • 9V aku
  • 9V aku pistik

Kaunistusmudeli tarvikud:

Papp (või puit, kui lõikate laseriga)

Teised

  • Kiiresti kuivav kleepuv liim
  • Kasulik nuga
  • Lõikematt
  • Kompassi lõikur
  • Pliiats ja kustutuskumm
  • Kleepuv savi
  • Kahepoolne teip
  • Lint
  • Jootmisseadmed

2. samm: pange elektroonilised komponendid kokku

Pange elektroonilised komponendid kokku
Pange elektroonilised komponendid kokku
Pange kokku elektroonilised komponendid
Pange kokku elektroonilised komponendid
Pange kokku elektroonilised komponendid
Pange kokku elektroonilised komponendid

Enne mudeli tegelikku koostamist peame kokku panema elektroonilised komponendid, mis on väga lihtne ja mida saab teha mõne sammuga:

  1. Jootke 9V aku pistik Arduino Nano plaadile. See võib olla pisut raske inimestele, kes ei tunne jootmismeetodeid, kuid see on selle projekti õnnestumiseks hädavajalik, sest kui plaat ei ole piisavalt toide, ei pruugi see korralikult või hästi töötada. Jootmiseks ühendage punane juhe VIN -tihvtiga; ja must traat GND tihvti külge, mis mõlemad asuvad tahvli paremal küljel.
  2. Ühendage hüppaja juhtmed Arduino Nano plaadiga. Selles projektis panustame ainult A0, D2, GND ja 5V kontakti.

    • Kasutades tihvtide ühendamiseks leivaplaati, peame ühendama G-tihvti KY-037 helianduri andurimoodulist leivaplaadiga; samasse veergu (olge ettevaatlik, kui mitte samas veerus, siis teie lõppprojekt ei tööta), ühendage servo -mootori must juhe ja välise toiteallika must juhe (peate seda tegema GND tihvti, kuid mitte 5 V kontakti, kuna väline toiteallikas peaks ühise aluse leidma, kui teie Arduino ei põle), seejärel ühendage teine isane ja naissoost hüppajajuhe sama veergu ja oma Nanoga.
    • Seejärel ühendage KY-037 helidetektori andurimooduli „+” tihvt sama veeru ühe auguga, seejärel võtke teine isas-naissoost hüppajajuhe, mis ühendatakse leivaplaadil sama veeruga ja teine pool Nano-ga pardal.
    • Pärast seda ühendage servomootori punane juhe vaatamata kasutatud kolonnidele teise kolonniga ja asetage punase juhe välise toiteallika juurest samasse veergu ka akupanga toiteks. Tõepoolest, ühendage USB-alampea toitepangaga, et see saaks servomootorit toita.
    • Samuti, ületades kaks veergu, kus GND ja 5V tihvt seisavad, asetage mahtuvuse kaks jalga mõlemale veerule, et luua KY-037 helidetektori anduri jaoks suhteliselt stabiilne keskkond.
    • Lõpuks ühendage servomootori valge traat Nano pistikuga D2. Ja ühendage A0 kuni A0 KY-037 helidetektori andurimoodulist vastavalt Arduino Nano plaadiga.

Ja olete kogu elektroonikaga valmis!

3. samm: mudeli kujundamine

Mudeli disain
Mudeli disain

Selle projekti jaoks on mudeli ehitamine äärmiselt lihtne, kuna peame looma ainult kuue küljega kasti. Kuid disain pidi olema sama kindel kui AutoCAD -fail, mille olen allpool esitanud.

Kui soovite tõesti seda projekti hästi ja täpselt muuta, jätkake lugemist, et avastada selle projekti kujundusidee.

See helipulsslüliti sisaldab kasti, millel on kuus külge, mille külgedel olevad augud kujutavad endast ruumi elektrooniliste komponentide paigutamiseks seadme toimimiseks.

  1. Ülaosas on servomootori paigutamiseks auk pikkusega 3 * laius 2, andes sellele ruumi toimimiseks ja nupule vajutamiseks;
  2. Järgmisena märgime, et see on lihtsalt ristkülikukujuline alus, mis ei sisalda auke, et kõike selles kenasti hoida ja kinnitada; siis parema külje jaoks vajame ava välise toitejuhtme jaoks, et väljuda toitepangaga toitepanga toiteks;
  3. Hiljem näeb see vasaku külje jaoks välja sama, mis parempoolne, kuid ilma aukuta;
  4. Lõpuks vajame esiosa jaoks tegelikult rohkem auke, üks 9V aku pistiku jaoks karbist välja, et saaksime voolu lõppedes akut hõlpsalt vahetada, et lüliti välja lülitada, et vältida jäätmeid aku, teine on mõeldud KY-037 mikrofonile, tagamaks, et seade tuvastaks heli muutumise keskkonnas;
  5. Ka põhjana ei sisalda tagakülg auke, lihtsalt selleks, et kõik kenasti ja kindlalt kinni hoida

Samm: mudeli loomine

Mudeli ehitamine
Mudeli ehitamine
Mudeli ehitamine
Mudeli ehitamine
Mudeli ehitamine
Mudeli ehitamine

Kui oleme oma plaani põhjalikult koostanud, peame nüüd liikuma mudeli tegeliku loomise protsessi juurde. See protsess on aga eelmise sammuga võrreldes erakordselt lihtne, kuna tehke järgmist.

  1. Lõika papist välja AutoCAD -failis esitatud skaala kuus külge või kasuta laserlõiget
  2. Võtke kleepuv liim ja kleepige see tükkide külgedele, et need kokku panna, kuid jätke tagakülg välja, et saaksime komponendid sellesse paigutada
  3. Pistke oma 9V aku pistik auku, mille oleme mudeli esiküljel lõiganud
  4. Pistke oma KY-037 helidetektori andurimoodul auku, mille oleme lõiganud, kuid pidage meeles, et lõigake veidi laiemalt, minu esitatud läbimõõt on ligikaudne väärtus komponendile "minu", mis võib erinevates osades erineda, ka ristkülikukujuline osa Pidage meeles, et see võib küljele lüüa, mistõttu ei ole see piisavalt hästi kinni
  5. Rebige kleebis leivalaua taga ja kleepige see oma mudeli esiosa taha
  6. Asetage oma servomootor hästi auku, mille me mudeli ülaosast välja lõikasime

    • Proovige asetada osa kleepuvast savist servomootori taha küljele, et seda tugevdada
    • Samuti pidage meeles, et panete kahepoolse teibi tugevamaks
  7. Tõmmake väline USB-kaabel konstruktsiooni paremal küljel välja lõigatud august välja ja ühendage see toitepangaga.
  8. Liimige oma tagakülg mudeli külge, kuid kui te pole oma töö osas kindel ja peate siiski seadet korrastama või parandama, kasutage selle kleepimiseks mõnda šotilinti, et saaksite selle kergesti maha rebida

Samm: kodeerimine

Kodeerimine
Kodeerimine
Kodeerimine
Kodeerimine

Ja kusagil pole selle projekti lõbusat, kuid kõige olulisemat osa, ilma kodeerimiseta ei töötaks teie seade kunagi, mitte nii hästi, kui hästi olite oma mudeli üles ehitanud või vooluahela koostamise täpsuse, ilma kodeerimiseta pole see midagi. Niisiis, siia alla, kirjutasin ma just selle projekti jaoks koodi ja selgitasin, mida iga rida koodi koodi kommentaariosas tähendab, et kui kellelgi on siiski probleeme, jätke julgelt siia kommentaar, et mul oleks hea meel kohe vastama (ma usun).

Selles koodis otsustasin lasta servomootoril pöörduda üheksakümmend kraadi ja sada kaheksa kraadi, kuid seda saab korraldada, kuna kõik said kodus kõik lülitid, ja usun, et seda saab tasuta muuta. Minu koodi vaadates pidage meeles, et see seade lülitab helitugevuse abil valguse automaatselt välja, et ärge laske end segadusse ajada ja kui olete segaduses, vaadake julgelt videot aadressil päris algus. Nüüd näete koodi allpool või selle Arduino veebisaidi loomise lingi kaudu.

Arduino Loo link

Lisaks, kui piisavalt inimesi küsiks koodi täpsustuste kohta, võiksin sellele mõelda LOL…

Arduino-heli-pulseeriv lüliti

#include // lisada servomootori raamatukogu
int MIC = A0; // heli tuvastamise komponent, mis on ühendatud A0 jalaga
boolean toggle = vale; // lüliti esialgse versiooni salvestamine
int micVal; // registreerige tuvastatud helitugevus
Servo servo; // määrake servomootori nimi servoks
allkirjastamata pikk vool = 0; // salvestage praegune ajatempel
allkirjastamata kaua viimane = 0; // salvestage viimane ajatempel
allkirjastamata pikk vahe = 0; // registreerige kahe ajatemplite ajavahe
allkirjastamata int count = 0; // salvestage lülitite arv
void setup () {// käivitage üks kord
servo.kinnitus (2); // initsialiseeri servo, et ühendada D-pin jalaga 2
Seriaalne algus (9600); // seeria vormindamine
servo.write (180); // pane servo oma esialgse nurga alla
}
void loop () {// silmus igavesti
micVal = analogRead (MIC); // loe analoogväljundit
Serial.println (micVal); // prindib välja keskkonnaheli väärtuse
viivitus (20); // iga kahekümne sekundi tagant
if (micVal> 180) {// kui üle piiri, mille olin siin 180 -le seadnud
vool = millis (); // salvestage praegune ajatempel
++ loendamine; // lisa üks loendatud lülititele
//Sarja.print ("count= "); // väljastage lülitatud aegu, avage see, kui soovite
//Seriaalne.println (arv); // printige number välja, avage see, kui soovite
if (count> = 2) {// kui ümberlülitatud arv on juba suurem või võrdne kahega, määrake, kas need kaks ajatemplit kestsid 0,3–1,5 sekundit
diff = praegune - viimane; // kahe ajatemplite ajavahe arvutamine
if (diff> 300 && diff <1500) {// määrab, kas kaks ajatemplit kestsid 0,3–1,5 sekundit
lülitama =! lülitama; // tagastab lüliti hetkeolukorra
loendus = 0; // tehke arv nulliks, olge uuesti testimiseks valmis
} else {// kui aeg ei kesta piiratud loenduste vahel, siis tagastage loendus ühele
loendus = 1; // ärge loendage
}
}
viimane = praegune; // kasutage praeguse ajatempli värskendamiseks viimast ajatemplit järgmiseks võrdluseks
if (toggle) {// määrake, kas lüliti on sisse lülitatud
servo.write (90); // servo keerab valguse avamiseks 90 kraadi
viivitus (3000); // viivitus 5 sekundit
servo.write (180); // servo pöördub tagasi oma algsesse kohta
viivitus (1000); // viivita veel 5 sekundit
loendus = 0; // määrake loendamine loendamiseks esialgseks numbriks
}
muu {
servo.write (180); // kui lüliti ei tööta, siis jääge esialgsele 180 kraadile
}
}
}

vaata tooresArduino-heli-pulseerivat lülitit, mille hostiks on GitHub ❤

6. samm: lõpuleviimine

Image
Image
Lõpetamine
Lõpetamine

Nüüd olete lõpetanud projekti, mida saate nüüd valguse väljalülitamiseks helipulsslülitiga mängida, mis näitab, et teie laiskus pole enam kunagi probleem! Ja pidage meeles, kui olete selle projekti teinud, jagage seda võrgus mulle ja kogu maailmale, et näidata projekti imelisust!

Ole uudishimulik ja uuri edasi! Edu!

Soovitan: