Turinys:

„Arduino RGB“spalvų parinkiklis - pasirinkite spalvas iš realaus gyvenimo objektų: 7 žingsniai (su nuotraukomis)
„Arduino RGB“spalvų parinkiklis - pasirinkite spalvas iš realaus gyvenimo objektų: 7 žingsniai (su nuotraukomis)

Video: „Arduino RGB“spalvų parinkiklis - pasirinkite spalvas iš realaus gyvenimo objektų: 7 žingsniai (su nuotraukomis)

Video: „Arduino RGB“spalvų parinkiklis - pasirinkite spalvas iš realaus gyvenimo objektų: 7 žingsniai (su nuotraukomis)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Liepa
Anonim
Image
Image
RGB spalvų parinkiklio bandymo grandinės prijungimas
RGB spalvų parinkiklio bandymo grandinės prijungimas

Tinkercad projektai »

Lengvai pasirinkite spalvas iš fizinių objektų naudodami šį „Arduino“pagrindu pagamintą RGB spalvų parinkiklį, leidžiantį atkurti spalvas, kurias matote realaus gyvenimo objektuose savo kompiuteryje ar mobiliajame telefone. Tiesiog paspauskite mygtuką, kad nuskaitytumėte objekto spalvą naudodami pigų TCS34725 spalvų jutiklio modulį, ir jums bus pateiktos RGB spalvų vertės ir matuojama spalva RGB šviesos diode.

Jei jums patinka ši instrukcija, balsuokite už ją konkurse „Padaryk švytėjimą“.

Aš sukūriau paprastą 3D spausdintą korpusą, skirtą elektronikai, kad prietaisas būtų nešiojamas, tiesiog prijunkite jį prie USB prievado, įkroviklio ar maitinimo šaltinio, kad jį įjungtumėte. Taip pat galite pakeisti dizainą, kad tilptų akumuliatorius, kad jis būtų dar labiau nešiojamas.

Paprastai bandau naudoti „Arduino Uno“, nes tai yra viena iš plačiausiai naudojamų „Arduino“plokščių, tačiau norint, kad šis įrenginys būtų nešiojamas, jis buvo sukurtas aplink „Arduino Pro Micro“plokštę. Tačiau jis gali būti lengvai pritaikytas veikti daugelyje kitų su „Arduino“suderinamų plokščių, turinčių pakankamai IO, pvz., „Uno“, „Leonardo“ar „Mega“.

Šiame vadove daroma prielaida, kad dirbote su „Arduino“mikrovaldikliu, kol nežinojote „Arduino“programavimo pagrindų ir prijungėte prie jo LCD skydelį. Jei to nepadarysite, vadovaukitės susietais vadovais, kad gautumėte daugiau informacijos ir išsamių paaiškinimų.

Prekės

  • „Arduino Pro Micro“(ar kitas) - pirkite čia
  • TCS34725 RGB jutiklis - pirkite čia
  • 16 x 2 LCD ekranas - pirkite čia
  • Mygtukas - pirkite čia
  • 2 x 10K rezistoriai - pirkite čia
  • 3 x 220Ω rezistoriai - pirkite čia
  • 470Ω rezistorius - pirkite čia
  • RGB LED - pirkite čia
  • 7 kontaktų moteriška antraštės juostelė (supjaustyta pagal ilgį) - pirkite čia
  • 10K potenciometras - pirkite čia
  • Duonos lenta ir džemperiai testavimui - pirkite čia
  • 3D spausdintuvas ir balta/juoda gija (pasirenkama būstui) - naudojama

Be to, jums reikės pagrindinių įrankių darbui su elektronika, įskaitant lituoklį, jei nuolat statote savo grandinę, skirtą naudoti korpuse.

1 veiksmas: RGB spalvų parinkiklio bandymo grandinės prijungimas

RGB spalvų parinkiklio bandymo grandinės prijungimas
RGB spalvų parinkiklio bandymo grandinės prijungimas
RGB spalvų parinkiklio bandymo grandinės prijungimas
RGB spalvų parinkiklio bandymo grandinės prijungimas

Visada gera mintis pirmiausia surinkti komponentus ant duonos lentos, kad juos išbandytumėte ir įsitikintumėte, kad jūsų grandinė ir programinė įranga veikia tinkamai prieš atliekant bet kokius lituotus sujungimus.

Komponentai yra prijungti prie duonos lentos, kaip parodyta grandinės schemoje.

Nėra nieko ypatingai skirtingo ar keisto su bet kuria iš šių jungčių tarp komponentų ir „Arduino“, jos yra tipiškos pagrindinės grandinės konfigūracijos, skirtos prijungti skystųjų kristalų ekraną, mygtuką ir šviesos diodus prie „Arduino“.

10K rezistoriai naudojami jungiant mygtukus, o 220Ω rezistoriai - spalvoto jutiklio šviesos diodui ir raudonai bei mėlynai RGB šviesos diodams. 470Ω rezistorius naudojamas žaliai šviesos diodo kojelei, kad šiek tiek sumažėtų jo ryškumas ir būtų sukurtos tikroviškesnės spalvos.

RGB spalvų jutiklis prijungtas prie „Arduino“naudojant paprastą I2C sąsają. Įsitikinkite, kad naudojate tinkamus šios sąsajos kaiščius, jei naudojate kitą plokštę. Jis valdomas naudojant „Adafruit“biblioteką, aptariamą kodų skyriuje.

Jei naudojate kitą „Arduino“plokštę, įsitikinkite, kad kiekvienos smeigtuko funkcijos yra tokios pačios, kaip ir „Pro Micro“. Pavyzdžiui, norint valdyti RGB šviesos diodą, jums reikia PWM įgalintų kaiščių.

2 veiksmas: užprogramuokite „Arduino“RGB spalvų parinkiklį

„Arduino RGB“spalvų parinkiklio programavimas
„Arduino RGB“spalvų parinkiklio programavimas
„Arduino RGB“spalvų parinkiklio programavimas
„Arduino RGB“spalvų parinkiklio programavimas
„Arduino RGB“spalvų parinkiklio programavimas
„Arduino RGB“spalvų parinkiklio programavimas
„Arduino RGB“spalvų parinkiklio programavimas
„Arduino RGB“spalvų parinkiklio programavimas

Dabar, kai sudėjote komponentus ant duonos lentos ir sukūrėte reikiamas jungtis, galite įkelti kodą į „Arduino“naudodami kompiuterį ir patikrinti, ar komponentai veikia tinkamai.

Prieš prijungdami USB kabelį prie „Arduino“, dar kartą patikrinkite visus ryšius, kad įsitikintumėte, jog jie yra teisingi. USB kabelis maitina plokštę ir prijungtus komponentus, kurie gali būti pažeisti, jei jie nėra tinkamai prijungti.

Ši „Arduino Pro Micro“plokštė veikia kaip „Leonardo“, kai prijungta prie jūsų kompiuterio, todėl įsitikinkite, kad „Arduino IDE“pasirinkite tinkamą plokštės tipą, kitaip bandydami įkelti kodą gausite klaidų.

Čia yra nuoroda į RGB spalvų rinkiklio kodą: Atsisiųskite RGB spalvų parinkiklio kodą

Kodekse yra komentarų, paaiškinančių, ką daro kiekvienas skyrius. Spalvų identifikavimas ir šviesos diodų dalis pagrįsta „Adafruit“spalvų peržiūros pavyzdžio kodu. Jei norite pabandyti parašyti savo kodą, tai yra naudingas pavyzdys, kurį reikia pradėti ir pradėti.

Jums reikės įdiegti „Adafruit“bibliotekas. Tai lengva padaryti spustelėję Įrankiai -> Tvarkyti bibliotekas savo IDE, tada paieškos juostoje įvedę „Adafruit TCS“ir įdiegę rastą biblioteką.

Į kodą reikia atkreipti dėmesį:

LCD priskirti kaiščiai yra keistos eilės (15, 14, 16, 4, 5, 8, 7). Aš paprastai stengiuosi, kad kaiščiai būtų nuoseklūs, tačiau šiame pavyzdyje jie yra šiek tiek sumaišyti dėl dviejų dalykų, vienas dėl to, kad man reikėjo apeiti šviesos diodų PWM kaiščius, o antrasis, nes „Pro Micro“kaiščiai nėra visi eilės tvarka.

Spalvų jutiklio šviesos diodas ir mygtukas yra prijungti prie „Pro Micro“analoginių įėjimų, naudojami kaip skaitmeninis IO, nes nebuvo pakankamai skaitmeninių IO kaiščių. Jie vis dar yra apibrėžti kode kaip standartiniai skaitmeniniai IO kaiščiai.

Yra trumpa rutina, kai paleidžiant šviesos diodas išnyksta tarp raudonos, žalios ir mėlynos spalvos. Tai tik vizualinis efektas, kuris užtrunka apie 1,5 sekundės ir gali būti pašalintas, jei norite, kad spalvų rinkiklis įsijungtų greičiau.

Programa nebus pažengusi per sąranką, jei ji nesukurs ryšio su spalvų jutikliu, ji bus rodoma kaip „Jutiklio klaida“jūsų LCD, jei nepavyks užmegzti ryšio. Jei užsidega šviesos diodas, rodantis jutiklio maitinimą, patikrinkite SDA ir SCL jungtis ir ar naudojate tinkamus „Arduino“kaiščius.

Gama lentelė tiesiog paverčia išmatuotas RGB reikšmes iš jutiklio į vertes, kurios leis realistiškiau atspindėti tikrosios spalvos LED, tai tik pagerina LED vizualizacijos efektą ir neturi įtakos rodomoms RGB reikšmėms.

Tada kodas laukia, kol mygtuko įvestis nuskaitys jutiklį ir parodys reikšmes LCD ekrane ir per LED. Trys ciklo vėlavimai, jei teiginys yra skirtas tik tam, kad būtų išvengta pakartotinių rodmenų prieš atleidžiant mygtuką, nes tikrasis skaitymo ir ciklo laikas būtų apie 100 ms, taip pat galite žaisti su šiomis vertėmis, jei norite pasirinkti greičiau ar lėčiau.

3 žingsnis: komponentų montavimas į korpusą

Komponentų montavimas į korpusą
Komponentų montavimas į korpusą
Komponentų montavimas į korpusą
Komponentų montavimas į korpusą
Komponentų montavimas į korpusą
Komponentų montavimas į korpusą

Norėdami sukurti naudingą ir nešiojamą įrenginį, nusprendžiau lituoti komponentus ir sumontuoti juos į paprastą 3D spausdinimo korpusą.

Tokio sudėtingumo grandinė tikriausiai turėtų būti suprojektuota ant PCB, tačiau dauguma žmonių neturi prieigos prie PCB gamybos paslaugų, todėl aš likau lituoti komponentus kartu su juostinio kabelio dalimis.

4 žingsnis: 3D spausdinkite gaubtą

3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas

Aš sukūriau pagrindinį stačiakampį korpusą spalvų rinkikliui, 3D spausdinimo failus galite atsisiųsti čia. Taip pat galite būti kūrybingi ir pakeisti dizainą, kad atitiktų jūsų komponentus ir tai, kaip ketinate naudoti spalvų parinkiklį.

Spalvų jutiklis yra galinėje pusėje, kad galėtumėte laikyti prietaisą virš objekto ir pasirinkti spalvą su rodmenimis, rodomais priekyje.

Aš išspausdinau korpusą naudodami baltą PLA ir 20% užpildą, nenorėčiau naudoti spalvoto gijos galiniam skydeliui, nes nenorite į atspindimą paviršių įnešti atspindėtos spalvos šviesos.

Korpuso matmenys yra maždaug 110 mm (4,3 colio) x 46 mm (1,8 colio) x 20 mm (0,78 colio) su abiejomis pusėmis. Kiekviena pusė yra 10 mm (0,39 colio) aukščio.

5 žingsnis: lituokite grandinę

Lituokite grandinę
Lituokite grandinę
Lituokite grandinę
Lituokite grandinę
Lituokite grandinę
Lituokite grandinę

Kai atspausdinsite korpusą 3D, turėsite idėją, kur yra sumontuoti visi komponentai ir kiek laiko reikia sujungti lituotus juostinius kabelius.

Pradėkite lituoti kiekvieną komponentą prie „Arduino“, kai pašalinate jį iš duonos lentos, ir pabandykite pašalinti komponentus, kad vienu metu sudarytumėte visą grandinę.

Pavyzdžiui, pradėkite nuo šviesos diodų grandinės ir lituokite rezistorius prie šviesos diodo, tada prijunkite juos prie „Arduino“prieš išimdami mygtuko komponentus. Tokiu būdu galėsite sekti komponentus ir įsitikinti, kad juos atskirai prijungiate prie tinkamų „Arduino“įėjimų ir išėjimų.

Rūpinkitės LCD ekranu ir spalvų jutikliu, kad įsitikintumėte, jog prijungiate tinkamus „Arduino IO“prievadus.

Spalvų jutiklio jungtis galima lituoti ant 7 kontaktų antgalio (nupjaukite 8 kontaktų juostelę iki 7 kaiščių), kad ją būtų galima prijungti per galinę korpuso dalį. Tai tik leidžia tinkamai atskirti abi puses, jei reikia jas atidaryti. Taip pat galite lituoti tiesiai prie spalvų jutiklio naudodami juostos kabelio sekciją, tik prieš lituodami jungtis įsitikinkite, kad juostinis kabelis eina per korpuso angą.

Yra daugybė jungčių, kurias reikia atlikti su GND ir 5V, ir tai palengvina litavimą, kad galėtumėte prijungti juos prie didesnių centrinių taškų, o ne bandyti juos lituoti ant dviejų „Arduino“kaiščių. Aš juos visus prijungiau prie dviejų LCD potenciometro išorinių kojų, nes tai yra maždaug korpuso centre ir turi didžiausią paviršiaus plotą, kad būtų galima prijungti.

Kai atliksite visus ryšius ir būsite patenkinti juostos kabelio ilgiu. Prieš montuodami komponentus į korpusą, dar kartą įjunkite grandinę ir patikrinkite, ar viskas veikia tinkamai. Įsitikinkite, kad jokie komponentai ar atviri gnybtai neliečia vienas kito, o tai gali sukelti trumpąjį jungimą. Kad išvengtumėte trumpojo jungimo, tarp komponentų gali tekti pridėti šiek tiek izoliacinės juostos ar popieriaus.

Jei jūsų grandinė veikia tinkamai, galite montuoti komponentus į 3D spausdintą korpusą.

6 žingsnis: Įdėkite komponentus į korpusą

Įdėkite komponentus į korpusą
Įdėkite komponentus į korpusą
Įdėkite komponentus į korpusą
Įdėkite komponentus į korpusą
Įdėkite komponentus į korpusą
Įdėkite komponentus į korpusą

Paskutinis žingsnis yra sumontuoti komponentus į korpusą. Komponentams pritvirtinti naudojau karšto lydalo klijų pistoletą, taip pat galite naudoti epoksidą arba nedidelį kiekį superklijų.

Spalvų jutiklį galima įklijuoti į ertmę korpuso gale, kai kaiščio antgalio juostelė prilimpa prie korpuso vidinės pusės. Moteriška antraštės juostelė bus naudojama jutikliui prijungti prie grandinės.

Pritvirtinkite mygtuką, LCD ir šviesos diodą per skylutes priekiniame skydelyje ir priklijuokite jas korpuso viduje.

Jūsų „Arduino“turėtų tvirtai tilpti į pagrindo angą ir nereikalauti jokių klijų, kad jį laikytų savo vietoje, tačiau jei taip yra, įsitikinkite, kad nededate klijų ant plokštės gale esančių komponentų. Verčiau klijus išilgai lentos kraštų.

„Micro USB“prievadas turi būti lengvai pasiekiamas per korpuso šoną.

Klijuokite abi puses kartu, kaip vadovą naudokite kaiščius ant dviejų kampų. Jie turėtų tvirtai suspausti ir padėti laikyti abi puses kartu. Įsitikinkite, kad nė vienas iš jūsų rezistorių, šviesos diodų ar potenciometro gnybtų ar laidų neliečia nieko kito jūsų grandinėje, kaip minėta anksčiau, galite naudoti tam tikrą izoliacinę juostą ar popierių, kad atskirtumėte komponentus - aš naudoju geltoną juostą ant nugaros LCD ekrane.

7 veiksmas: RGB spalvų parinkiklio naudojimas

RGB spalvų parinkiklio naudojimas
RGB spalvų parinkiklio naudojimas
RGB spalvų parinkiklio naudojimas
RGB spalvų parinkiklio naudojimas
RGB spalvų parinkiklio naudojimas
RGB spalvų parinkiklio naudojimas
RGB spalvų parinkiklio naudojimas
RGB spalvų parinkiklio naudojimas

Jei norite naudoti spalvų rinkiklį, įjunkite mikro USB kabelį į prievadą, esantį spalvų parinkiklio šone, kad jį įjungtumėte.

Paleidimo seka turėtų būti vykdoma, o tada galėsite pasirinkti spalvą, pažymėtą „Color Picker Ready“.

Padėkite jutiklį ant spalvos, kurią norite pasirinkti, ir paspauskite mygtuką, kad pasirinktumėte spalvą. Jutiklio šviesos diodas turėtų užsidegti akimirksniu, po to LCD ekrane bus rodomas RGB rodmuo, o šviesos diodas pasikeis, kad atspindėtų pasirinktą spalvą.

RGB šviesos diodas turi parodyti nustatytą spalvą. Tai tik greitas būdas patikrinti, ar jutiklis nustatė teisingą spalvą ir ne visada tiksliai atspindi spalvą dėl šviesos diodo apribojimų. Pavyzdžiui, jie negali rodyti juodos arba pilkos spalvos, nes tikroji LED medžiaga yra balta ir gali skleisti tik šviesą, kad būtų atkurtos spalvos. Dėl tos pačios priežasties tamsesnės spalvos taip pat nėra gerai rodomos LED.

Jei jums patiko ši instrukcija, balsuokite už ją konkurse „Padaryk švytėjimą“.

Peržiūrėkite mano tinklaraštį, kur rasite daugiau „Arduino“vadovėlių, projektų ir idėjų.

Padarykite švytėjimo konkursą
Padarykite švytėjimo konkursą
Padarykite švytėjimo konkursą
Padarykite švytėjimo konkursą

Antroji vieta konkurse „Padaryk švytėjimą“

Rekomenduojamas: