Turinys:

Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“: 7 žingsniai (su nuotraukomis)
Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“: 7 žingsniai (su nuotraukomis)

Video: Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“: 7 žingsniai (su nuotraukomis)

Video: Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“: 7 žingsniai (su nuotraukomis)
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, Liepa
Anonim
Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“
Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“
Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“
Kaip sukurti 8x8x8 LED kubą ir valdyti jį naudojant „Arduino“

Sausio 2020 redagavimas:

Aš palieku tai, jei kas nors norėtų jį panaudoti idėjoms generuoti, bet nebėra prasmės kurti kubo pagal šias instrukcijas. Šviesos diodų tvarkyklės IC nebegaminami, abu eskizai buvo parašyti senose „Arduino“ir „Processing“versijose ir nebevykdomi. Nežinau, ką reikia pakeisti, kad jie veiktų. Be to, mano statybos metodas sukėlė keblią, nuožmią netvarką. Mano pasiūlymas yra sekti instrukcijas kitoje instrukcijoje arba nusipirkti rinkinį. Šis kubas 2011 m. Kainavo apie 50 USD, dabar galite nusipirkti rinkinį „ebay“už maždaug 20 USD.

Originalus įvadas:

„Instructables“yra daug LED kubelių, tad kodėl daryti kitą? Dauguma jų yra skirti mažiems kubeliams, susidedantiems iš 27 arba 64 šviesos diodų, retai didesnių, nes jie yra apriboti iki mikrovaldiklio išėjimų skaičiaus. Šis kubas bus 512 šviesos diodų ir jam reikės tik 11 išvesties laidų iš „Arduino“. Kaip tai įmanoma? Naudojant „Allegro Microsystems A6276EA LED“tvarkyklę.

Aš jums parodysiu, kaip sukūriau patį kubą, valdiklio plokštę ir galiausiai kodą, kad jis spindėtų.

1 žingsnis: medžiagos

Medžiagos
Medžiagos

Visos dalys, kurių jums reikės kuriant kubą: 1 „Arduino“/„Freeduino“su „Atmega168“ar naujesne mikroschema 512 šviesos diodų, dydis ir spalva priklauso nuo jūsų, aš naudoju 3 mm raudonos spalvos 4 „A6276EA“LED tvarkyklės mikroschemas iš „Allegro 8 NPN“tranzistorių, kad valdyčiau įtampos srautą, Aš naudoju BDX53B Darlingtono tranzistorių 4 1000 omų rezistorius, 1/4 vatų ar didesnį 12 560 omų rezistorių, 1/4 vatų ar didesnį 1 330uF elektrolitinį kondensatorių 4 24 kontaktų IC lizdą 9 16 kontaktų IC lizdus 4 "x4" (arba didesnį)) parketlentė, skirta visoms dalims laikyti, Senas kompiuterio ventiliatorius Senas diskelio valdiklio kabelis Senas kompiuterio maitinimo šaltinis Daug prijungimo laidų, lydmetalis, lituoklis, srautas, visa kita, kad tai palengvintų jūsų gyvenimą. 7 "x7" (ar didesnis) medžio gabalas, naudojamas LED litavimo įrenginiui gaminti. Puikus dėklas, skirtas parodyti jūsų gatavą kubą "My Arduino/Freeduino", yra "Bare Bones Board" (BBB) iš www.moderndevice.com. Šviesos diodai buvo įsigyti „eBay“ir kainavo 23 USD už 1000 šviesos diodų, išsiųstų iš Kinijos. Likusi elektronika buvo nupirkta iš „Newark Electronics“(www.newark.com) ir turėtų kainuoti tik apie 25 USD. Jei turite nusipirkti viską, šis projektas turėtų kainuoti tik apie 100 USD. Turiu daug senos kompiuterinės įrangos, todėl tos dalys nukrito nuo laužo krūvos.

2 žingsnis: Surinkite sluoksnius

Surinkite sluoksnius
Surinkite sluoksnius
Surinkite sluoksnius
Surinkite sluoksnius
Surinkite sluoksnius
Surinkite sluoksnius
Surinkite sluoksnius
Surinkite sluoksnius

Kaip pagaminti 1 sluoksnį (64 šviesos diodus) iš šio 512 LED kubo: mano nupirkti šviesos diodai buvo 3 mm skersmens. Aš nusprendžiau naudoti mažus šviesos diodus, kad sumažintų išlaidas ir kad galutinis kubo dydis būtų pakankamai mažas, kad galėtų sėdėti ant mano stalo ar lentynos, visiškai neperimdamas stalo ar lentynos. Aš nupiešiau 8x8 tinklelį su maždaug 0,6 colio tarp eilučių. Tai davė man kubo dydį maždaug 4,25 colio vienoje pusėje. Gręžkite 3 mm skyles, kur linijos susitinka, kad padarytumėte svirtį, kuri laikys šviesos diodus, kai lituosite kiekvieną sluoksnį. A6276EA yra dabartinis kriauklės įtaisas. Tai reiškia, kad jis suteikia kelią į žemę, o ne kelią į šaltinio įtampą. Jums reikės sukurti kubą bendroje anodo konfigūracijoje. Dauguma kubelių yra pastatyti kaip bendras katodas. Ilgoji šviesos diodo pusė paprastai yra anodas, patikrinkite savo. Pirmas dalykas, kurį aš padariau, buvo išbandyti kiekvieną šviesos diodą. Taip, tai ilgas ir nuobodus procesas, ir jei norite, galite jį praleisti. Verčiau praleisti laiką išbandyti šviesos diodus, nei rasti negyvą vietą mano kubelyje po to, kai jis buvo surinktas. Radau 1 mirusį šviesos diodą iš 1000. Neblogai. Iškirpkite 11 vientisos, neizoliuotos kabliuko vielos iki 5 colių. Įdėkite 1 šviesos diodą į kiekvieną eilutės galą, tada prijunkite laidą prie kiekvieno anodo. Dabar įdėkite likusius 6 šviesos diodus į eilę ir prijunkite tuos anodus prie laido. Tai gali būti vertikaliai arba horizontaliai, nesvarbu, jei visus sluoksnius darysite vienodai. Baigdami kiekvieną eilutę, nukirpkite anodų perteklių. Aš palikau maždaug 1/8 colio. Pakartokite, kol baigsite visas 8 eilutes. Dabar lituokite 3 sujungimo vielos gabalus per eilutes, kurias ką tik padarėte, kad sujungtumėte jas į vieną gabalą. Tada išbandžiau sluoksnį, pritvirtindamas 5 voltus prijungti vielos tinklelį per rezistorių ir paliesti įžeminimo laidą prie kiekvieno katodo. Pakeiskite bet kokius šviesos diodus, kurie nešviečia. Atsargiai nuimkite sluoksnį nuo stendo ir atidėkite jį. Jei sulenksite laidus, nesijaudinkite, tiesiog ištiesinkite juos kuo geriau. Tai labai lengva sulenkti. Kaip galite pasakyti iš mano nuotraukų, aš turėjau daug sulenktų laidų. Sveikiname, baigėte 1/8. Padarykite dar 7 sluoksnius. PASIRENKAMAS: Norėdami lituoti sluoksnius kartu (3 veiksmas) lengviau, o kiekvienas kitas sluoksnis vis dar yra strype, sulenkite katodo viršutinį ketvirtį colio į priekį 45–90 laipsnių kampu. Tai leis švino pasiekti aplink šviesos diodą, prie kurio jis jungiasi, ir daug lituoti Nedarykite to su pirmuoju sluoksniu, mes paskelbsime, kad vienas yra apatinis sluoksnis, o laidai turi būti s paklydimas.

3 žingsnis: Surinkite kubą

Surinkite kubą
Surinkite kubą
Surinkite kubą
Surinkite kubą

Kaip lituoti visus sluoksnius, kad susidarytų kubas: kieta dalis beveik baigta. Dabar atsargiai įdėkite vieną sluoksnį atgal į svirtį, bet nenaudokite per daug spaudimo, norime, kad galėtume jį pašalinti, nesulenkdami. Šis pirmasis sluoksnis yra viršutinis kubo paviršius. Ant pirmojo sluoksnio uždėkite kitą sluoksnį, sulygiuokite laidus ir pradėkite lituoti. Man pasirodė, kad lengviausia pirmiausia padaryti kampus, tada išorinį kraštą, tada eilučių viduje. Toliau pridėkite sluoksnius, kol baigsite. Jei iš anksto sulenkėte laidus, paskutinį kartą išsaugokite sluoksnį tiesiais laidais. Tai yra dugnas. Aš turėjau šiek tiek per daug vietos tarp kiekvieno sluoksnio, todėl aš ne visai gavau kubo formą. Tai nėra didelis dalykas, aš galiu su tuo gyventi.

4 žingsnis: sukurkite valdiklio valdybą

Kontrolierių valdybos kūrimas
Kontrolierių valdybos kūrimas
Kontrolierių valdybos kūrimas
Kontrolierių valdybos kūrimas
Kontrolierių valdybos kūrimas
Kontrolierių valdybos kūrimas

Kaip sukurti valdiklio plokštę ir pritvirtinti ją prie „Arduino“: vadovaukitės schema ir sukurkite plokštę, kad ir kaip pasirinktumėte. Aš įdėjau valdiklio lustus į plokštės centrą ir kairėje pusėje laikiau tranzistorius, valdančius srovę kiekvienam kubo sluoksniui, o dešinėje pusėje laikiau jungtis, einančias nuo valdiklio lustų iki katodų šviesos diodų stulpelius. Radau seną 40 mm kompiuterio ventiliatorių su moteriška molex jungtimi, kad prijungčiau jį prie kompiuterio maitinimo šaltinio. Tai buvo tobula. Naudingas nedidelis oro srautas per lustą, ir dabar turiu paprastą būdą tiekti 5 voltų valdiklio lustams ir pačiam „Arduino“. Schemoje RC yra srovės ribojantis rezistorius visiems šviesos diodams, prijungtiems prie kiekvieno A6276EA. Aš naudojau 1000 omų, nes jis suteikia 5 miliamperus šviesos diodui, užtenka jį apšviesti. Aš naudoju didelio ryškumo, o ne „Super Brite“šviesos diodus, todėl srovės nutekėjimas yra mažesnis. Jei visi 8 stulpelio šviesos diodai užsidega vienu metu, tai tik 40 miliamperų. Kiekviena A6276EA išvestis gali valdyti 90 miliamperų, todėl aš esu diapazone. RL yra rezistorius, prijungtas prie logikos ar signalo laidų. Tikroji vertė nėra labai svarbi, kol ji egzistuoja ir nėra per didelė. Aš naudoju 560 omų, nes turėjau daugybę jų. Aš naudoju galios tranzistorių, galintį valdyti iki 6 amperų, kad valdyčiau srovę, einančią į kiekvieną kubo sluoksnį. Šiam projektui tai yra per daug, nes kiekvienas kubo sluoksnis pritraukia tik 320 miliamperų, kai dega visi šviesos diodai. Norėjau, kad erdvė augtų, o vėliau valdiklį galėčiau panaudoti kažkam didesniam. Naudokite bet kokio dydžio tranzistorius, atitinkančius jūsų poreikius. 330 uF kondensatorius per įtampos šaltinį yra skirtas išlyginti bet kokius nedidelius įtampos svyravimus. Kadangi aš naudoju seną kompiuterio maitinimo šaltinį, tai nėra būtina, bet aš palikau jį tik tuo atveju, jei kas nors nori naudoti 5 voltų sieninį adapterį savo kubui maitinti. Kiekvienas A6276EA valdiklio lustas turi 16 išėjimų. Neturėjau kitos tinkamos jungties, todėl lituodavau laidus prie maždaug 16 kontaktų IC lizdų ir juos naudosiu, norėdamas prijungti valdiklio plokštę prie kubo. Aš taip pat perpjoviau IC lizdą per pusę ir naudoju jį prijungti 8 laidus, jungiančius tranzistorius su kubo sluoksniais. Aš nukirpau maždaug 5 colius nuo seno diskelio kabelio galo, kad galėčiau naudoti kaip „Arduino“jungtį. Diskelio kabelis yra 2 eilutės po 20 kaiščių, o plikoje „Bones Board“- 18 kaiščių. Tai labai pigus būdas (nemokamas) prijungti „Arduino“prie plokštės. Ištraukiau juostinį kabelį grupėmis po 2 laidus, nuplėšiau galus ir lituojau. Tai leidžia prijungti „Arduino“prie bet kurios jungties eilutės. Vykdykite schemą ir lituokite jungtį į vietą. Nepamirškite lituoti 5 voltų ir įžeminimo laidų, kad jungtis suteiktų energijos „Arduino“. Aš ketinu naudoti šią valdiklio plokštę kitiems projektams, todėl modulinė konstrukcija man puikiai tinka. Jei norite tvirtai prijungti jungtis, tai gerai.

5 veiksmas: sukurkite ekraną

Sukurkite vitriną
Sukurkite vitriną
Sukurkite vitriną
Sukurkite vitriną
Sukurkite vitriną
Sukurkite vitriną
Sukurkite vitriną
Sukurkite vitriną

Padarykite, kad jūsų galutinis produktas atrodytų gražiai: radau šią medinę skrynią „Hobby Lobby“už 4 USD ir maniau, kad ji būtų tobula, nes joje yra erdvės laikyti visą laidą ir atrodo gražiai. Aš nudažiau šią vieną raudoną, tą pačią dėmę, kurią naudoju savo kompiuterio stalui, kad jie atitiktų. Ant viršaus nubrėžkite tokio paties dydžio tinklelį kaip tinklelį, naudojamą lituokliui (0,6 colio tarp eilučių). Gręžkite skyles, kad laidai galėtų praeiti per viršų, ir gręžkite kitą skylę už tinklelio sluoksnio/plokštumos laidams (iš tranzistorių, atliktų 4 veiksme). Sunkiai išmokau, kad labai sunku bandyti surašyti 64 laidus, kad būtų galima eiti per mažas skyles. Galiausiai nusprendžiau išgręžti visas skyles šiek tiek didesnes, kad procesas vyktų greičiau. Aš baigiau naudoti maždaug.2 grąžtą. Dabar, kai kubas yra ekrano viršuje, sulenkite kampinius laidus, kad kubas liktų vietoje, kai pritvirtinsite laidus. Įsitikinkite, kad visus laidus prijungėte teisinga tvarka. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Ir prijunkite laidus tarp sluoksnių (schemoje pažymėti „plokštumos“) ir tranzistorius. „Arduino 6“kaiščio tranzistorius yra viršutinis kubo sluoksnis. Jei laidai suklysta, tai šiek tiek pataisoma pagal kodą, tačiau gali prireikti daug darbo, todėl pabandykite juos surinkti tinkama tvarka. viskas paruošta ir paruošta naudoti, paimkime kodą ir išbandykime.

6 žingsnis: kodas

Kodas
Kodas

Šio kubo kodas yra padarytas kitaip nei dauguma, paaiškinsiu, kaip prisitaikyti. Dauguma kubo kodo naudoja tiesioginius įrašus į stulpelius. Kodeksas sako, kad X stulpelį reikia apšviesti, todėl duokite jam sulčių ir baigsime. Tai neveikia naudojant valdiklio lustus. Valdiklio lustai naudoja 4 laidus, kad galėtų kalbėti su „Arduino“: SPI-in, Clock, Latch ir Enable. Įjungimo kaištį (kaištį 21) įžeminau per rezistorių (RL), todėl išėjimas visada įjungtas. Aš niekada nenaudojau „Enable“, todėl pašalinau jį iš kodo. SPI-in yra duomenys iš „Arduino“, laikrodis yra laiko signalas tarp dviejų, kol jie kalba, o „Latch“nurodo valdikliui, kad laikas priimti naujus duomenis. Kiekvienas kiekvieno lusto išėjimas yra valdomas 16 bitų dvejetainiu numeriu. Pavyzdžiui; siunčiant 1010101010101010 į valdiklį, užsidegs visi kiti valdiklio šviesos diodai. Jūsų kodas turi praeiti viską, ko reikia ekranui, ir sukurti tą dvejetainį skaičių, tada nusiųsti jį į lustą. Tai lengviau nei atrodo. Techniškai tai yra krūva bitų papildymo, tačiau man blogai sekasi skaičiuoti skaičiais, todėl viską darau dešimtaine dalimi. Pirmieji 16 bitų dešimtainiai yra tokie: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768Tai reiškia, kad jei norite jei užsidegs 2 ir 10 išėjimai, pridėsite dešimtainius skaičius (2 ir 512), kad gautumėte 514. Siųskite 514 į valdiklį, o 2 ir 10 išėjimai užsidegs. Tačiau mes turime daugiau nei 16 šviesos diodų, todėl tampa šiek tiek sunkiau. Turime sukurti ekrano informaciją apie 4 lustus. Tai taip pat paprasta, kaip pastatyti 1, tiesiog darykite tai dar 3 kartus. Valdymo kodams laikyti naudoju visuotinį kintamųjų masyvą. Taip paprasčiau. Kai visi 4 ekrano kodai bus paruošti siųsti, nuleiskite skląstį (nustatykite jį į LOW) ir pradėkite siųsti kodus. Pirmiausia turite atsiųsti paskutinį. Siųskite 4, tada 3, tada 2, tada 1 lusto kodus, tada vėl nustatykite skląstį į AUKŠTĄ. Kadangi įjungimo kaištis visada prijungtas prie žemės, ekranas iš karto keičiamas. Daugumą kubo kodų, kuriuos mačiau „Instructables“ir apskritai žiniatinklyje, sudaro milžiniškas kodo blokas, nustatytas atlikti iš anksto nustatytą animaciją. Tai puikiai tinka mažesniems kubeliams, tačiau reikia išsaugoti, skaityti ir siųsti 512 bitų dvejetainių kaskart, kai norite pakeisti ekraną, užima daug atminties. „Arduino“negalėjo valdyti daugiau nei kelių kadrų. Taigi aš parašiau keletą paprastų funkcijų, kad parodytumėte kubą veikiančią, kuri remiasi skaičiavimu, o ne iš anksto nustatyta animacija. Įtraukiau nedidelę animaciją, kad parodyčiau, kaip tai daroma, bet paliksiu jums galimybę sukurti savo ekranus. Cube8x8x8.pde yra „Arduino“kodas. Planuoju toliau pridėti funkcijų prie kodo ir periodiškai atnaujinsiu programą. Matrix8x8.pde yra apdorojimo programa, skirta kurti savo ekranus. Pirmasis pateiktas skaičius patenka į modelį1 , antrasis - į modelį2 ir tt

7 žingsnis: parodykite savo rankų darbą

Parodykite savo rankų darbą
Parodykite savo rankų darbą

Baigėte, dabar laikas mėgautis savo kubu. Kaip matote, mano kubas pasirodė šiek tiek kreivas. Nors aš labai nenoriu statyti kito, todėl gyvensiu su juo, kad jis bus kreivas. Turiu porą negyvų vietų, į kurias reikia atkreipti dėmesį. Tai gali būti blogas ryšys arba man gali prireikti naujo valdiklio lusto. Tikiuosi, kad šis „Instructable“įkvepia jus sukurti savo kubą ar kitą LED projektą naudojant „A6276AE“. Paskelbkite nuorodą komentaruose, jei ją sukuriate. Bandžiau nuspręsti, kur eiti iš čia. Valdiklio plokštė taip pat valdys 4x4x4 RGB kubą, todėl tai yra galimybė. Manau, kad būtų puiku padaryti sferą ir tai, kaip parašiau kodą, tai padaryti nebūtų per sunku.

Rekomenduojamas: