Hirdetés

arduino frekvencia ledHa belekapaszkodott valamelyik kezdő Arduino projektbe, de kicsit tartósan és valami más félelmetes oldalán keres valamit, akkor a szerény 4 x 4 x 4 LED-es kocka természetes választás. Az építkezés sokkal könnyebb, mint gondolnád, és a multiplexelés segítségével az összes LED-et közvetlenül egyetlen Arduino Uno tábláról vezérelhetjük. Nagyszerű forrasztási gyakorlat, és az alkatrészek teljes költsége nem haladhatja meg a 40 USD-t.

Ma alaposan kidolgozzam a dolgok építési oldalát, és biztosítok egy olyan szoftvert, amelyen futtatható, amely mind lenyűgözőnek tűnik, és megtanítja az alapokat.

Szükséged lesz

  • egy Arduino. A mellékelt kód feltételezi az Arduino Uno-t, de nagyobb modellre is beállítható.
  • 64 LED - a pontos választás rajtad múlik, de ezeket a szuper fényes, 3 mm-es kék LED-eket (3,2v 30ma) @ 2,64 font 50-nél.
  • 16 ellenállások a LED-eknek megfelelő érték. A fenti LED-ekhez 99 penny vásárolt ezek közül 100-at. Használat ledcalc.com - írja be az 5v értéket a tápfeszültséghez, a LED-ek feszültségéhez (esetemben 3.2) és az áramerősséghez milliamperben (3.2). A kívánt ellenállás megjelenik a címkéjű mezőben “Legközelebbi magasabb ellenállás”, majd keresse meg ezt az értéket az eBay-en.
  • Néhány kézműves huzal az alapszerkezet megerősítésére és a dekorációra - én is használtam 0.8mm vastagság.
  • A prototípus tábla valamilyen típusú, amelyhez minden bitjét felforraszthatjuk. Olyan felhasználtam, amelynek nem volt teljes pályája, mivel nincs vágómaró, de bármit használtam, ami megfelel Önnek. Az Arduino prototípus-pajzs azonban kissé túl kicsi, hacsak nem igazán szorítja össze a LED-eket.
  • Véletlenszerű vezeték - Néhány hálózati kábelszál és a készlet egy prototípusvezetéke jól működik.
  • Krokodil klipek vagy a „segítő kezek” hasznosak a bit tartásában.
  • Forrasztópáka és forrasztható.
  • Néhány fahulladék.
  • Fúró, ugyanolyan méretű bittel, mint a LED-ek.

Megjegyzés: Az oktatóanyag 3D rajzai percek alatt készültek, a következők használatával: TinkerCAD. Követtem egy meglévő, az Instructables felhasználónál részletesen felépített építést forte1994, amelyet szintén érdemes átnézni, mielőtt megkísérelné.

Feltétlenül olvassa el ezeket az utasításokat első mielőtt megpróbálná ezt magadnak.

A tervezés alapelve

Az építkezés megkezdése előtt fontos, hogy teljes áttekintést kapjon a dolgok működéséről, hogy improvizálhassa és azonosítsa a hibákat, miközben jár. Egyes LED-kockák egyetlen kimenetet használnak minden egyes LED-hez - mindazonáltal egy 4x4x4-es kockában, amire szükség lenne 64 csap - aminek természetesen nincs egy Arduino Uno-nál. Az egyik megoldás a használata műszak regiszterek Arduino programozás - Játsszon sebességváltó regiszterekkel (a.k.a még több LED)Ma megpróbállak egy kicsit megtanítani neked a Shift Nyilvántartásokat. Ezek meglehetősen fontos részét képezik az Arduino programozásnak, alapvetően azért, mert növelik a felhasználható kimenetek számát, cserébe ... Olvass tovább , de ez szükségtelenül bonyolult.

Annak érdekében, hogy az összes LED-et mindössze 20 érintkezőn vezérelje, multiplexelésnek nevezett technikát fogunk használni. A kocka négy külön rétegre bontásával csak 16 LED-hez kell vezérlőcsapokat használni - az a megvilágításához egyedi LED-et, mind a réteget, mind a vezérlőcsapot aktiválnunk kell, így teljes követelményünk 16 + 4 csapok. Minden rétegnek van egy közös katódja - az áramkör negatív része -, így az összes negatív láb össze van kötve, és egyetlen réteghez van csatlakoztatva az adott réteghez.

Az anódon (pozitív) oldalán mindegyik LED-et a megfelelő LED-hez kell csatlakoztatni az alatta lévõ rétegben. Alapvetően 16 oszlop van a pozitív lábakkal és 4 réteg a negatív. A kapcsolatok megértése érdekében a következő néhány nézetet láthatjuk a kapcsolatokról:

arduino frekvencia led
arduino led fényprogram

Építkezés

Mivel a forrasztáshoz nem használunk teljes fémszerkezetet, azt akarjuk, hogy a LED-ek minden lába kb. Egynegyedével átfedje egymást, és merevséget adjon a szerkezetnek. Hajtsa le a LED-jének katódját - az oldalát a fej lapos bevágásával és a rövidebb lábakkal - az ábra szerint. (Nem igazán számít, ha balra vagy jobbra hajlítja, amíg állandó vagy és soha nem érinti az anódot)

arduino led fényprogram

A projekt első kritikus része egy fadarab készítése. Ez a LED-ek egy rétegét fogja megtartani, miközben összeforrasztja a lábait, tehát pontosnak és nem túl lazanak kell lennie. Ugyanazon méretű fúróval, mint a LED-ek, mérje meg, majd fúrjon be 4 × 4 mátrixot egyenlő távolságú lyukak. Ne feledje, hogy azt akarja, hogy a láb kb. Egynegyede átfedje a szomszédját, és használjon valódi vonalzót. Ellenőrizze az egyes lyukakat, hogy meggyőződjön arról, hogy a LED jól illeszkedik-e, de ne legyen olyan szoros, hogy nem fogja tudni azt újra kivezetni, vagy problémák merülnek fel a teljesen megforrasztott réteg eltávolításakor.

arduino led fényprogram

Forrasztja meg a 4 soros LED katódjait. Vigyázzon, ne égesse el a LED-eket - jó forró vasalót szeretne, és hogy be- és kikapcsoljon. Itt az első négy sor kitöltve.

arduino vezette

A réteg merevségének megerősítése érdekében vágja le és forrasztja be két egyenes kézműves huzat mindkét végén, ügyelve arra, hogy azok kapcsolódjanak minden egyes sorhoz. Ez az első réteg teljes. Hagyja, hogy a felesleges lábak kihúzódjanak az oldalán.

Nagyon jó idő lenne a tesztelésre - töltse fel az alapértelmezett Arduino blink alkalmazást, és csatlakoztatott ellenállással tegye a talajt a rétegkeretre, és nyomja meg egymás után minden pozitív vezetéket.

arduino vezette

Remélhetőleg mind felgyulladnak. Ha nem, akkor ügyeljen arra, hogy valahol ne maradjon le a forrasztási csatlakozóról, és ha szükséges, cserélje ki a LED-et.

Távolítsa el ezt a réteget a készülékből, és ismételje meg a folyamatot Még háromszor.

Ne aggódjon, ha a forrasztás nem tökéletes - mindaddig, amíg nem szakad meg, és a kapcsolat szilárd, addig nem érinti a végterméket. Bevallom, a forrasztásom elég reménytelen volt, a szerszámom ki volt kapcsolva, és mindegyik a pisa ferde toronyhoz hasonlított. Ennek ellenére büszke vagyok a kész kockara, és amikor a LED-ek világítanak, akkor a forrasztáscsatlakozásokat egyébként nem fogod megnézni!

Rétegek csatlakozása

Miután 4 kitöltött réteggel rendelkezne, össze kell kötnie az összes függőleges lábat. Úgy találtam, hogy ez az építkezés legnehezebb része, és a folyamat elősegítése érdekében kivágtam egy emelvényt a kártyaből.

arduino vezette

Ez a rétegeket a megfelelő magasságban tartotta, de a lábak nagy része még mindig nem lenne tökéletesen egymáshoz igazítva - ehhez néhány krokodilcsipeszt használtam a helyükön tartáshoz.

Hogyan készítsünk olyan pulzáló Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből származik, biztonságos veritcal lábak krokodilkapocsokkal

1. elkerülhető buta hiba

Csak a teljes réteg kitöltése után rájöttem, hogy a kártyaemelõm beragadt a helyére, ezért ki kellett vágnom! Ne tegye ugyanazt a hibát, amit tettem - hosszabbítsa az emelőt az oldalán, és csatlakozzon a kártyadarabokhoz a kocka kívül, tehát amikor elkészült a réteg, dekonstruálhatja a felszállót és kihúzhatja a kártya.

Hogyan készítsünk olyan impulzusos Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből származik?

2. elkerülhető buta hiba

Ne forrasztja a függőleges lábat a katódkerethez. A függőleges lábaknak csak más függőleges lábakhoz kell kapcsolódniuk, és semmi másnak.

Ismételje meg a tesztet minden réteg rögzítése után. Tesztelje az összes réteget, valójában csak a pozitív vezeték megérintésével a legfelső réteg hegyéhez, ezáltal biztosítva, hogy jó érintkezésed van az összes rétegen.

Amikor mind a négy réteg összeforrasztott, egy kicsit megtisztítottam - hagytam egyetlen lábát kiterjesztették az egyes rétegekből egyfajta lépcsőzetes formában - ezt le kellene ejteni a később fórumon. A fémkeret és a lábak további idegen részeit levágták. Nyilvánvaló, hogy ne vágja le a függőleges lábak egyikét - ezeket be kell helyeznünk a próbalapotba.

Hogyan készítsünk olyan pulzáló Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből származik? 4 réteg komplett és egymáshoz közel

Rögzítés a táblához

Emlékszel, amikor mondtam, hogy az egyes rétegeknek a saját magukhoz rögzítése volt a legnehezebb? Hazudtam. Valójában nehezebb megpróbálni a 16 LED-es lábat apró lyukakba illeszteni a prototípus táblán. A legegyszerűbb módszer az volt, hogy egyszerre 4-nél átszúrtam, krokodilcsipesszel rögzítettem őket alatta, majd léptem a következő 4-es sorra. Használjon egy tollat, hogy előre jelölje meg a távolságot, ha ez segít.

Hogyan készítsünk olyan impulzusos Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből jött, és rögzítését a prototáblába

Visszatekintve az ellenállásokat előbb a prototáblába helyeztem volna. Ahogy ez van, először a kocka összes lábát megforrasztottam a deszkába, majd megpróbáltam finoman összenyomni az ellenállásokat közöttük. Tanuljon a hibámból, és helyezze el elsőként az ellenállásokat.

Megpróbáltam egyenlő módon elosztani őket egy lépéssel, hogy a kocka egyik teljes oldalát felhasználhassam az Arduino-val való összeköttetéshez. Itt van az áramköri rajz, amelyen részt vettem:

Hogyan készítsünk olyan pulzáló Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből készül?

A négy negatív rétegre minden egyes rétegről egy huzalt dobtam le, majd csak oldalra húztam őket:

Hogyan készítsünk olyan impulzusos Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből származik, a felső lépcsőzetes katódoktól

Végül hozzáadtam néhány dugóvezetéket, amelyeket aztán behelyezhetek a megfelelő Arduino csapokba. Használja a leghosszabb fajtáját. Megjegyzés Rossz tervezés miatt helyben elrontottam a megrendelést. A LED-ek mindegyik sora színkóddal lett ellátva.

Hogyan készítsünk olyan pulzáló Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből származik?

Ez az. Befejezett!

Hogyan készítsünk egy olyan pulzáló Arduino LED-kockát, amely úgy néz ki, mint amilyen a jövőből származik? 4x4x4 led kocka kész

A kocka programozása

Tudom, hogy nem várhat meg, amíg ezt a dolgot el nem tüntetik, ezért csatlakoztassa a 4 negatív réteget Analóg I / O kikötők A2 (alsó réteg) keresztül A5 (felső réteg)(ezek digitális I / O-ként is működhetnek). Ezután csatlakoztassa a 16 LED-es vezérlőcsapot, kezdve +1 a jobb szélén nak nek digitális I / O 0. port, val vel +15 és +16 megy analóg A0 és A1. (Ne használja az AREF-t és a GND-t)

arduino frekvencia led

Töltse le a bemutató minták és kód oktatható felhasználótól forte1994. Ő is nyújtott a hasznos online eszköz a byte minták megtervezéséhez a saját sorrendjének testreszabásához. Itt egy videó erről a kódról a kockamban (Az alapértelmezett 20 helyett 5-re állítottam a sebességet).

Természetesen ez nem az egyetlen mód a kocka programozásához, ezért hadd töltsön el néhány percet a saját mintázatok készítésének alapjainak megtanításában. programbólhelyett az előre beállított minták lejátszása, ahogyan a fenti bemutató teszi.

Néhány dolgot tudnia kell, amikor megpróbálja programozni a kocka:

  1. Egyetlen LED megvilágításához használja a repülőgép (réteg) szám 0–3, és egy LED tű 0–15 szám. Fordítsa a síkot LOW kimenetre (mivel ez a negatív láb) és a HIGH LED-es PIN-kódot (pozitív láb) a LED aktiválásához.
  2. Mielőtt egyetlen LED-et aktiválna, ellenőrizze, hogy az összes többi sík ki van-e kapcsolva - azaz állítsa őket HIGH outputra. Ennek elmulasztása a LED-ek oszlopának kivilágulását eredményezi, nem pedig egyetlen LED-nek.

Ezt szem előtt tartva két nagyon egyszerű programozási sorozatot készítettem az Ön számára - töltse le a kódot innen. Az első egyszerűen egymás után világít minden LED-et. Ehhez kettőt használunk hurkokhoz, minden réteg és az egyes vezérlőcsapok között iterálva.

A második egy véletlenszerű hurok (az elsőt meg kell kommentálnia és engedélyeznie kell ezt a fő hurokban a teszteléshez). Egyszerűen kiválaszt egy véletlenszerű réteget és egy véletlenszerű vezérlőtűt, fel-és villogva.

összefoglalás

Ne ijedjen meg ettől az építkezéstől - komoly hiányzik a forrasztási képességeim, és jól sikerült (Gondolom?). A teljes építési idő körülbelül egy óra volt egy nap egy héten keresztül. Legközelebb megpróbállak néhány ambiciózusabb programozást megtanítani a kocka számára, tehát remélem, csatlakozol hozzám a saját kocka felépítéséhez ezen a héten, és új kód betöltése a jövő héten - és ha elkészíti saját fantasztikus alkalmazásokat vagy szekvenciáit, kérjük, töltse fel őket a Pastebinbe, és ossza meg velünk a Hozzászólások!

James rendelkezik mesterséges intelligencia BSc-vel, CompTIA A + és Network + tanúsítvánnyal rendelkezik. A MakeUseOf vezető fejlesztője, és szabadidejét VR paintballon és társasjátékokon játszik. Gyerekkora óta épít PC-ket.