Sisukord:

Interaktiivne, avatud lähtekoodiga meeleoluvalgus: 9 sammu (piltidega)
Interaktiivne, avatud lähtekoodiga meeleoluvalgus: 9 sammu (piltidega)

Video: Interaktiivne, avatud lähtekoodiga meeleoluvalgus: 9 sammu (piltidega)

Video: Interaktiivne, avatud lähtekoodiga meeleoluvalgus: 9 sammu (piltidega)
Video: 10.12 Algorütm: Kuidas teha avatud lähtekoodiga tarkvara? 2024, November
Anonim
Interaktiivne, avatud lähtekoodiga meeleolu valgus
Interaktiivne, avatud lähtekoodiga meeleolu valgus

See juhend juhendab interaktiivse multifunktsionaalse meeleoluvalgustuse loomist. Selle projekti tuum on BlinkM I2C RGB LED. Ühel päeval veebis sirvides köitis BlinkM mu tähelepanu ja ma arvasin, et see on liiga lahe, et sellest mööda minna. Niisiis, paar kuud hiljem otsustasin, et teen selle abil mingisuguse meeleolu. Ja siin see on!

Samm: mida vajate

See projekt võib olla päris odav, kui kasutate õiget asja. Märgin ära alternatiivsed osad, mille abil saab selle odavamaks teha. Kasutasin lihtsalt mõnda komponenti, mis on pisut kallim, kuna nägu muudab ehitusprotsessi pisut lihtsamaks.

Valgusallikas:

BlinkM RGB I2C juhitav LED

Kontroller:

Arduino mikrokontroller - kasutasin „Arduino Nano”, kuna vajasin midagi, mis oli tõesti väike, kuna „puutetulede” sisemuses oli palju ruumi, mida kasutati

Korpus:

Mõtlesin selle meeleoluvalguse jaoks palju erinevaid korpusi ja lõpuks otsustasin millegi üle, mis meile kõigile tuttav on: need odavad, valged, „puutetundlikud kupulduled”. Leidsin kodupoest kahepaki vaid umbes 4 dollari eest. Nendes tuledes on piisavalt ruumi, et mahutada kõik komponendid, kui teete seda õigesti.

Toide/pistikud:

Alguses arvasin, et oleks lahe see aku tühjaks saada (kuna korpuses on juba mugavalt patareipesa), kuid see pole nii praktiline, kui kavatsete seda pikka aega kasutada. Selle asemel kasutasin 5,5 mm alalisvoolu pistikut radioshackist koos 12V 150Ma trafoga, mis mul oli. Arduino pardal olev regulaator vähendab 12 volti ja 150Ma oli piisavalt voolu, et kõike toita. Traadi jaoks kasutasin lihtsalt kõike, mis mul ümber oli. Kasutage siiski kindla südamikuga traati.

Komponendid:

Komponente kasutatakse meeleoluvalgustuse kolme anduri valmistamiseks: heliandur, koputusandur ja valgusandur. Helianduri jaoks vajate:- LM741 Op-Amp- Electret Microhone (3-juhtmeline)- 2,2k takisti- 100k takisti- 200k takisti- 0,47uf elektrolüütkondensaatorit- 0,047uf keraamilist kondensaatorit- 2x 10k takistit- dioodi "kraani" andur, vajate ainult järgmist:- piesoelement (saate selle päästa teatud elektroonilistest mänguasjadest, telefonidest ja paljudest muudest piiksuvatest elektroonikaseadmetest või saate selle hiirest, raadioseadmest jne).- 1M takisti … Ja valgusanduri jaoks vajate:- CdS-elementi (LDR), eelistatavalt väga suurt (rohkem eraldusvõimet).- 10K takisti- 3-kontaktilist päist ja kruvitud pistikjuhtmeid (valikuline)

Muu

Kasutasin leivaplaati, sest tegelikult ei tahtnud palju jootma hakata. Kasutasin ka palju pressitud pistikjuhtmeid, et muuta kõik ühendused turvalisemaks, kuid need on valikulised. Teise võimalusena võite kasutada ATmega168 mikro toetamiseks homebrew arendusplaati ja kasutada DIP-stiilis ATmega168 (pikk, millel on suuremad juhtmed). Ma pole kindel, kui hästi see sobiks, kuid see on kindlasti proovimist väärt. Kui teil pole leivaplaadi raha/raha, võite tavalise ATmega168 jootma PCB -le ja lisada regulaatori, programmeerimisühendused jne.

Samm: valmistage ette „puutetuli”

Puutevalguse ettevalmistamine
Puutevalguse ettevalmistamine
Puutevalguse ettevalmistamine
Puutevalguse ettevalmistamine
Puutevalguse ettevalmistamine
Puutevalguse ettevalmistamine
Puutevalguse ettevalmistamine
Puutevalguse ettevalmistamine

Esiteks peame muutma kodus saadud odava puutevalguse valgussõbralikuks. Kõigepealt pöörake tuli üle ja eemaldage aku kaas ja kruvid. Akusahtli sees näete lambipirni. Võtke see välja, visake see ja lambipirn minema. Seejärel avage korpus. Nüüd peame tegelema võimuga. Eemaldage patareipesa keskelt metallitükk ja kaabel, mis ühendab selle ühe aku kontaktiga. Jootke juhtmed aku kontaktide külge, nagu näidatud. Samuti võite märgistada need, kui teil pole erinevat värvi traati. Samuti kavatseme selle meeleoluvalgustuse kasutada seinakontakti trafo kaudu. Puurige auk, kasutades umbes sama suurusega puurvarda kui alalisvoolu pistiku läbimõõt. Seejärel keerake see sisse, kuni see on korpusega ühtlane. Viimane muudatus, mida peame siin tegema, on pieso kraanianduri lisamine. Parema tundlikkuse saavutamiseks on kõige parem paigaldada see plastikust "veljele". Mul on see pildil hiljem selles juhendis, mis on paigaldatud mujale, kuid see on ainult sellepärast, et olen pidanud korpust testimise ajal nii palju avama ja sulgema, et juhtmed hakkasid katkema. Lihtsalt kuum liimige see plasti külge, kuid veenduge, et see ei takista liigutatava kupli mehaanilist liikumist! (st ärge laske sellel liiga palju välja jääda).

Samm: lisage toiteahela kaitse

Lisage toiteahela kaitse
Lisage toiteahela kaitse

See osa on lihtne lisandmoodul, mis kasutab dioode, et kaitsta seina trafot/akusid praadimise eest, kui teil on akud paigaldatud samal ajal, kui kasutate alalisvoolu pistikut. Võite kasutada mis tahes blokeerivaid dioode, kui nende maksimaalne pinge on suurem kui trafo. Leivaplaadi reguleerimata toiteplokis (mis läheb arduinole VIN -i) tähistatud osa „VIN”. Osa nimega "DCPower" on alalisvoolu pistik. Millegipärast oli programm, mida ma selle skeemi koostamiseks kasutasin, etikettide osas tõesti valiv, nii et see lasi mul selle nimetada. MÄRKUS. Kui te seda vooluringi ei tee, ei saa te patareisid akupesas hoida samal ajal, kui meeleolulamp on ühendatud seina trafoga, vastasel juhul kahjustab see seda.

Samm 4: lisage leivalaud, Arduino ja BlinkM

Lisage leivalaud, Arduino ja BlinkM
Lisage leivalaud, Arduino ja BlinkM

Enne leivaplaadi lisamist peame isoleerima aku kontaktid metallist leivalaua tagaküljelt (st kui metallplaat on teie külge kinni jäänud. Kui ei, jätke see samm vahele). Pange kleeplint üle kõigi metallkontaktide, et veenduda nende isoleerimises. Me ei taha avatud traati. Nüüd liimige patareipesa peal olev leivaplaat (mina kasutasin kuuma liimi). Meie õnneks juhtub see ideaalselt sobima. Nüüd ühendage 2. etapi positiivsed (+) ja negatiivsed (-) juhtmed ühte leivaplaadi positiivse ja negatiivse vooluvõrku. Nüüd saame arduino ja blinkmi omavahel ühendada. Siin on tihvtide ühendused:

  • A5 - Kell (BlinkM -il märge "c")
  • A4 - andmed (BlinkM -il märgistatud „d”)

Ja kui olete seda teinud, ühendage reguleerimata VCC (+) arduino 'VIN' tihvtiga ja reguleeritud VCC BlinkM -i (+) tihvtiga. Seejärel ühendage arduino GND ja BlinkM vooluvõrgu GND -ga ning ühendage mõlemad GND toiteliinid kokku. Olge ettevaatlik, et neid ühendusi mitte segi ajada, muidu võite BlinkM -i praadida.

Samm: andurid - heli, puudutus ja valgus

Andurid - heli, kraan ja valgus
Andurid - heli, kraan ja valgus
Andurid - heli, kraan ja valgus
Andurid - heli, kraan ja valgus
Andurid - heli, kraan ja valgus
Andurid - heli, kraan ja valgus

Järgmisena on andurid. Valgusandurit on kõige lihtsam ehitada. Paremale suunduv traat ühendub arduinoga. Lisateave selle kohta, milliste tihvtidega andurid ühenduvad, on järgmine samm. Heliandur on natuke raskem, kuid mitte naeruväärselt keeruline. TÄHELEPANU: Ma pole siin näidanud pingejaguri ahelat. Skeemil olev 2,5 V pinge tuleb jagada pingejaguri kaudu. See on väga -väga lihtne vooluahel, mis koosneb mitmest fikseeritud takistist või potist (potentsiomeeter). Selle vooluahela jaoks kasutage 50K potti. Googeldage „pingejagur” ja vaadake Vikipeedia kirjet, et selle ehitamisel abi saada. EDIT 27.9.2008: Loobusin sellest heliahelast ja kasutasin selle asemel heli päästetud valgusti ripatsist päästetud. Ahel siin ei tööta hästi; Ma pole kindel, miks, kuid disain on vigane; midagi pole päris õige. Ma märkasin, et ripatsi vooluring kasutab SMD LM386 op-amp. Jootsin just enne LED -idele, VCC -le ja GND -le suunduvaid takistusi. Siis ei jäänud mul muud üle kui natuke tarkvara väärtustega manipuleerida ja presto! paremini töötav helile reageeriv meeleolutuli. Praegusel ajal on muusika pulseeriva valguse video algse vooluahela kasutamisel. Võib -olla laadin üles teise, mis näitab täiustatud disaini (tundub, et see vastab uuele vooluringile muusikale). Ma olin ebakindel, kuidas piesoelementi jootma hakata, seega arvasin ja jootsin selle nii, nagu näidatud. See töötab siiski. Pieso polaarsus pole oluline. Takisti on leivaplaadil (pole näidatud). Teine TÄHTIS MÄRKUS. Nende vooluahelate väärtused erinevad teie omadest, nii et peate koodi pisut muutma. Kui teil on nende väärtuste kohta küsimusi, andke mulle sellest julgelt teada.

Samm: leidke anduritele ruumi ja ühendage see kõik

Leidke anduritele ruumi ja ühendage see kõik
Leidke anduritele ruumi ja ühendage see kõik
Leidke anduritele ruumi ja ühendage see kõik
Leidke anduritele ruumi ja ühendage see kõik

See osa ei tohiks olla liiga raske. Puutetulede korpuses on piisavalt ruumi, et mahutada kõik, mida vajame. Asetasin andurid sinna, kuhu need sobiksid. Kõik ühendused on järgmised:

  • Nööpnõel A6: heliandur - MÄRKUS: mitte -arduino nano kasutajatele ei ole teistel arduino -del 7. analoogpistikut. Peate seda koodis muutma.
  • Tihvt A3: piesoandur (kraaniandur)
  • Tihvt A0: valgusandur

Veenduge, et te kogemata ei ühendaks andurite (+) juhtmeid reguleerimata toiteallikaga, vastasel juhul hakkate neid praadima.

Samm: testige seda

Testige
Testige
Testige
Testige

Veenduge, et toiteühendused on head; ühendage see toiteadapteriga ja proovige seda patareidega. Tavaline probleem on halvad ühendused positiivse ja maaga. MÄRKUS. Ma tean, et pildil pole valgussensorit; Võtsin selle enne, kui selle osa lisasin.

Samm: programmeerige see, sulgege see ja kasutage seda

Programmeerige, sulgege ja kasutage seda
Programmeerige, sulgege ja kasutage seda
Programmeerige, sulgege ja kasutage seda
Programmeerige, sulgege ja kasutage seda
Programmeerige, sulgege ja kasutage seda
Programmeerige, sulgege ja kasutage seda

Minu kasutatav kood kasutab Tod E. Kurti loodud raamatukogu (www.todbot.com/blog) ja BlinkMi (ThingM) tegijaid. Püüan lisada koodile märkmeid, kui saan, et see oleks arusaadavam; Olen praegusel ajal üsna hõivatud. Koodi üleslaadimisel peab arduino tarkvaras olema avatud kooditeek (fail sildiga "BlinkM_funcs.h"), muidu see ei tööta. Kui soovite koodi vaadata, kuid teil pole arduino tarkvara, saate selle avada tekstitöötlusprogrammiga (aka wordpad Windowsi kasutajatele). Ideed uute funktsioonide jaoks on teretulnud. Palun postitage need julgelt; Ma tahan teha selle avatud lähtekoodiga. Koodi struktureerimise eesmärk on nii, et uusi funktsioone saab hõlpsalt lisada. Osa funktsioone on tootja (ThingM) programmeerinud BlinkM -i, kuid kaks neist olen teinud; "Helivalgus" ja "Jäljendav valgus". Praegu on sellel järgmine:

  • Meeleolu valgus - kaob aeglaselt juhuslikeks värvideks
  • Küünal - vilgub nagu küünal apelsinide ja kollastega
  • Veepeegeldused - sinised, türkiissinised ja tsüaansed värvid
  • Hooajalised värvid - muudab hooajalised värvid (minu arvates on need sinine, roheline, lilla ja oranž)
  • Äike - vilgub aeg -ajalt välku simuleerides
  • Peatuli - muutub punasest kollaseks roheliseks ja tagasi
  • Mimic Light - salvestab kuni 50 sisse- ja väljalülitustsükli jada (saate kasutada taskulampi), "salvestab" sisse- ja väljalülitusaja ning esitab need lõputult.
  • Helivalgus - pulseerib muusika helis

Funktsioonide vahetamiseks igal ajal puudutage kergelt poolläbipaistvat kuplit. Sellest reeglist on üks erand: kui jõuate funktsioonini 'miimiline valgus', vilgub see roheliselt. Kui puudutate kuplit selle vilkumise ajal, liigub see viimasele funktsioonile ('helitule'). Kui te lihtsalt ootate, läheb see funktsioon "jäljendama valgust". Kui jõuate helitule funktsiooni juurde, ei saa te helianduri lugemisviisi tõttu funktsioone muuta ja minna esimesele. Nüüd tuleb raske osa. Meeleolu valguse ümbrise sulgemiseks peate tegema mõned ettevaatlikud sammud. Esiteks peate joondama tugivedrud plastkupli väikeste sakkidega. Kuna alalisvoolu toitepistik on veljel ja juhtmed lähevad leivaplaadile, peate esmalt libistama plastikust kupli üle nende juhtmete, seejärel joondama välimise velje kruvikolonnid plastkupli süvenditega. Veenduge, et kõik sakid oleksid joondatud tugivedrude paigutusega, mis vastavad ka velje kruvikolonnidele ja alusplaadil olevatele aukudele. Seejärel, kui olete kindel, et kõik on ühel joonel, klõpsake välimine äär alusplaadile. Järgmisena veenduge, et vedrudesse poleks kinni jäänud juhtmeid või et need oleksid tulevikus kohas. See takistaks plastikust kupli liikumist. Lõpuks vahetage kruvid välja ja nautige! Lõppmärkused: TÄHTIS: ÄRGE kasutage patareisid ja ühendage seinaadapterit korraga. Ma pole kindel, mis juhtub, kuid olen kindel, et see hävitab kõik toiteallikaga ühendatud !!

9. samm: lisad

Siin on mõned videod: See on BlinkM-i sisseehitatud 6 eelprogrammeeritud funktsiooni:… See on kohandatud heli/muusika reageerimiskood, mille lisasin (kas saate arvata, mis lugu see on… ?:… Ja lõpuks, kuid kindlasti mitte vähemalt on kõige lahedam (ma arvan) ja kõige raskem funktsioon neist kõigist; "jäljendava valguse" funktsioon:

Soovitan: