Satura rādītājs:

Programmējams RGB LED sekvenceris (izmantojot Arduino un Adafruit režģi): 7 soļi (ar attēliem)
Programmējams RGB LED sekvenceris (izmantojot Arduino un Adafruit režģi): 7 soļi (ar attēliem)

Video: Programmējams RGB LED sekvenceris (izmantojot Arduino un Adafruit režģi): 7 soļi (ar attēliem)

Video: Programmējams RGB LED sekvenceris (izmantojot Arduino un Adafruit režģi): 7 soļi (ar attēliem)
Video: Epomaker Shadow-X Review: A Budget Mechanical Keyboard with a Built-in Display 2024, Jūlijs
Anonim
Image
Image
Pieslēdziet Vadītāja paneli
Pieslēdziet Vadītāja paneli

Mani dēli vēlējās krāsainas LED sloksnes, lai apgaismotu viņu rakstāmgaldus, un es negribēju izmantot konservētu RGB sloksnes kontrolieri, jo es zināju, ka viņiem būs garlaicīgi ar šo kontrolieru fiksētajiem modeļiem. Es arī domāju, ka tā būtu lieliska iespēja viņiem izveidot mācību līdzekli, ko viņi varētu izmantot, lai asinātu programmēšanas un elektronikas prasmes, kuras esmu viņiem mācījis. Tas ir rezultāts.

Es jums parādīšu, kā izveidot šo vienkāršo, programmējamo RGB LED sloksnes kontrolieri, izmantojot Arduino Uno (vai Nano), Adafruit režģi un dažas citas detaļas.

Adafruit režģis ir viena no manām mīļākajām jaunajām rotaļlietām no Lady Ada un komandas. Pirmkārt, tā ir tikai 9,95 USD par dēli un vēl 4,95 USD par silikona elastomēra pogas spilventiņu (cenas šajā rakstā). Tas ir ļoti daudz 16 pogu 4x4 matricai ar LED iespējām. Tam nav uzstādītas nevienas gaismas diodes, jums tās ir jāpiegādā, taču tas dod jums iespēju izvēlēties vēlamās krāsas (un samazina izmaksas un sarežģītību salīdzinājumā ar adrešu gaismas diodēm). Lai izveidotu šo projektu kā mans, jums būs vajadzīgas nedaudz 3 mm gaismas diodes. Es izmantoju 2 sarkanas, 2 zaļas, 2 zilas, 4 dzeltenas un 6 baltas.

Trellis saziņai izmanto I2C, tāpēc, lai kontrolētu 16 pogas un 16 gaismas diodes, ir nepieciešami tikai divi I/O tapas (dati un pulkstenis).

Jūs varat veikt šī projekta aparatūras daļu uz nelielas proto plates, kā es izveidoju savu prototipu. Es ātri sapratu, ka uz viņu galdiem man vajag kaut ko kārtīgāku un saturīgāku (tukša Arduino un proto dēļu dauzīšana būtu pārāk trausla), tāpēc es izveidoju savu vairogu, lai vadītu LED sloksnes. Norādījumi un faili vairoga veidošanai ir iekļauti pēdējā solī.

Vadītājs izmanto trīs IRLB8721 MOSFET un trīs rezistorus. Un, protams, braukšanai būs nepieciešama LED sloksne; gandrīz jebkura vienkārša 12V RGB LED sloksne derēs. Tās ir vienkāršas gaismas diodes, piemēram, SMD 5050, nevis izsmalcinātas individuāli adresējamas gaismas diodes (bez NeoPixels utt.)-tas ir vēl viens projekts! Jums ir nepieciešams arī pietiekami liels 12 V barošanas avots, lai palielinātu izmantoto gaismas diožu skaitu.

Tātad, apkopojot, šeit ir šī projekta aparatūras pamatvajadzības:

  • Viens Arduino Uno vai Nano (šie norādījumi ir paredzēti Uno ar sieviešu galvenēm, bet Nano uz maizes dēļa darbojas labi) (Adafruit, Amazon, Mouser);
  • Viens Adafruit režģa dēlis un silikona pogu spilventiņš (Adafruit);
  • Trīs IRLB8721 N-kanālu MOSFET (Adafruit, Amazon, Mouser);
  • Trīs 1K rezistori (Amazon, Mouser);
  • Trīs 220 omu rezistori (Amazon, Mouser)
  • Viens neliels prototips (mans pirmais bija 1/4 izmērs-izvēlieties jebkuru izmēru, ar kuru varat ērti strādāt) (Adafruit, Amazon);
  • 12 V RGB LED sloksne (SMD 5050) (Adafruit, Amazon);
  • 12 V barošanas avots - izvēlieties jaudu, kas atbilst gaismas diodes skaitam, kuru plānojat vadīt.

Nepieciešamā atruna: iepriekš minētās saites ir sniegtas jūsu ērtībai un nav neviena produkta vai pārdevēja apstiprinājums; es arī negūstu labumu no pirkumiem, kas veikti, izmantojot šīs saites. Ja jums ir pārdevēji, kas jums patīk labāk, noteikti atbalstiet viņus!

Sāksim…

1. darbība: pievienojiet vadītāja paneli

Pieslēdziet Vadītāja padomi
Pieslēdziet Vadītāja padomi

Šeit ir LED draivera ķēde. Tas ir ļoti vienkārši. Tas izmanto IRBLxxx N-kanālu MOSFET katram LED sloksnes kanālam. LED sloksne ir parasts anods, kas nozīmē, ka LED sloksnei tiek nosūtīts +12 V, un sarkanie, zaļie un zilie LED kanāli tiek kontrolēti, nodrošinot zemi attiecīgajam savienojumam ar sloksni. Tātad, mēs savienosim MOSFET kanalizāciju ar LED krāsu kanāliem un avotu ar zemi. Vārti tiks savienoti ar Arduino digitālajām izejām, un rezistori nodrošina nolaižamo pogu, kas nodrošina, ka katrs MOSFET pēc nepieciešamības pilnībā ieslēdzas vai izslēdzas.

Arduino dažās digitālajās izejās piedāvā impulsa platuma modulāciju, tāpēc mēs izmantosim šīs izejas (īpaši D9, D10, D11), lai varētu kontrolēt katra krāsu kanāla intensitāti.

Ja neesat pārliecināts par to, kur savienot IRLB8721 MOSFET, turiet vienu rokā ar priekšpusi pret jums, kā parādīts iepriekš redzamajā fotoattēlā. Piespraude kreisajā pusē (1. tapa) ir vārti, un tā tiks savienota ar Arduino digitālās izejas tapu un rezistoru (pretestības otrajam galam jābūt savienotam ar zemi). Centrā esošā tapa (2. tapa) ir kanalizācija un savienojas ar LED sloksnes krāsu kanālu. Labajā pusē esošā tapa (3. tapa) ir avots, un tā ir savienota ar zemi. Noteikti sekojiet līdzi tam, kurš tranzistors savienojas ar kādu LED krāsu kanālu.

Es neiedziļināšos detaļās, kā pielodēt proto dēļus. Godīgi sakot, es to ienīstu, un man tas nav labi. Bet labāk vai sliktāk, tas darbojas, un tas ir ātrs un netīrs veids, kā iegūt stabilu prototipu vai vienreizēju darbu. Mana pirmā tāfele ir parādīta šeit.

Jūs to varētu arī papildināt. Tas noteikti būtu ātrāks par visu lodēšanu uz proto plates, bet mazāk pastāvīgs.

Kad esat pievienojis draiveri, pievienojiet MOSFET vārtu ieejas Arduino digitālās izejas tapām: D9 zaļajam kanālam, D10 sarkanajam kanālam un D11 zilajam kanālam. Pievienojiet LED sloksni arī savai prototēkai.

Pārliecinieties arī, vai jūsu vadītāja panelim ir atsevišķs savienojums no tā pamatnes ar vienu no Arduino zemējuma tapām.

Visbeidzot, lai iegūtu LED jaudu, pievienojiet 12 V barošanas avota negatīvo (zemējuma) vadu pie vadītāja paneļa. Pēc tam pievienojiet 12 V barošanas avota pozitīvo vadu jūsu LED sloksnes anoda vadam (tas ir melns vads uz maniem kabeļiem, kas parādīti attēlā).

Galu galā es izveidoju datora paneļa vairogu, kas tiek uzstādīts uz Uno, un tam ir arī montāžas atbalsts režģiem. Tas nodrošināja daudz gatavāku galaproduktu. Ja vēlaties to darīt, varat izlaist proto dēļa izmantošanu, kā aprakstīts šeit, un vienkārši izgatavot vairoga plāksni. Tas viss ir aprakstīts pēdējā solī.

2. solis: novietojiet gaismas diodes uz režģa

Uzlieciet gaismas diodes uz režģa
Uzlieciet gaismas diodes uz režģa

Režģa plāksnē ir tukši spilventiņi 3 mm gaismas diodēm, kas mums būs jāaizpilda. Uzmanīgi ievērojiet simbolus pie spilventiņiem-blakus spilventiņam ir ļoti smalks "+", kas apzīmē anoda pusi. Ja jūs turiet dēli tā, lai teksts būtu labajā pusē uz augšu, tāfeles augšpusē un apakšā ir arī piezīme, kas norāda, ka LED anodi atrodas kreisajā pusē.

Lodējiet 3 mm gaismas diodes pie tāfeles. Aplūkojot tāfeles priekšpusi, teksts ar labo pusi uz augšu, augšējā kreisā slēdža/LED pozīcija ir #1, augšējā labā puse ir #4, kreisā apakšējā daļa ir #13 un apakšējā labā ir #16. Šeit ir krāsas, kuras es izmantoju katrā pozīcijā (un tam ir iemesls, tāpēc iesaku jums sekot manam paraugam vismaz divām augšējām rindām):

1 - sarkans2 - zaļš3 - zils4 - balts5 - sarkans6 - zaļš7 - zils8 - balts9 - balts10 - balts11 - dzeltens12 - dzeltens13 - balts14 - balts15 - dzeltens16 - dzeltens

CC Attiecinājums: Trellis attēlu iepriekš ir izveidojis Adafruit un tas tiek izmantots saskaņā ar Creative Commons - Attribution/ShareAlike licenci.

3. solis: savienojiet režģi ar Arduino

Savienojiet režģi ar Arduino
Savienojiet režģi ar Arduino

Trellis ir pieci vadu paliktņi, taču šajā projektā tiek izmantoti tikai četri. Trellis ir nepieciešams SDA un SCL, lai sazinātos ar Arduino (izmantojot I2C), un 5V un GND jaudai. Pēdējais paliktnis INT netiek izmantots. Trellis spilventiņi parādās uz visām četrām tāfeles malām. Jūs varat izmantot jebkuru spilventiņu komplektu, kuru vēlaties.

Lodējiet cietu savienojuma vadu ar 5V, GND, SDA un SCL spilventiņiem. Pēc tam pievienojiet 5V vadu Arduino 5V tapai, GND - zemējuma tapai, SDA vadu - A4 un SCL vadu - A5.

Tālāk mēs ieslēgsim Arduino un augšupielādēsim tajā skici. Tagad ir īstais laiks silikona pogas paliktni novietot uz režģa tāfeles. Tas vienkārši atrodas uz tāfeles (ņemiet vērā spilventiņa apakšā esošos "izciļņus", kas iederas tāfeles caurumos), tāpēc, iespējams, vēlēsities izmantot pāris lentes gabalus, lai noturētu paliktņa malas pie tāfeles. tagad.

CC Attiecinājums: iepriekš redzamais režģa attēls ir Adafruit šī attēla apgriezta versija, un tas tiek izmantots saskaņā ar Creative Commons - Attribution/ShareAlike licenci.

4. darbība: lejupielādējiet projekta skici un augšupielādējiet to Arduino

Skici varat lejupielādēt no mana Github repo šim projektam.

Kad esat to ieguvis, atveriet to Arduino IDE, pievienojiet Arduino, izmantojot USB kabeli, un augšupielādējiet skici Arduino.

Ja skice ir augšupielādēta un režģis ir pareizi pievienots, jebkurai režģa pogām jānospiež trīs reizes ātri. Tas norāda, ka esat nospiedis nederīgu pogu, jo sistēma tiek parādīta izslēgtā stāvoklī, tāpēc vienīgais derīgais taustiņa nospiešanas gadījums ir tas, kas nepieciešams, lai to ieslēgtu.

Lai ieslēgtu sistēmu, nospiediet un vismaz vienu sekundi turiet apakšējo kreiso pogu (#13). Atlaižot pogu, visām gaismas diodēm vajadzētu īslaicīgi iedegties, un tad apakšējās divas rindas nodziest, izņemot #13 (apakšā pa kreisi). Sistēma tagad ir ieslēgta un dīkstāvē.

Kā pirmo pārbaudi varat mēģināt izmantot divas augšējās rindas, lai apgaismotu un aptumšotu LED kanālus. Ja tas darbojas, varat turpināt nākamo darbību. Ja nē, pārbaudiet:

  1. LED barošanas avots ir pievienots un ieslēgts;
  2. Vadītāja plates MOSFET ir pareizi savienoti. Ja izmantojat tos pašus IRLB8721, ko izmantoju, pārbaudiet:

    • Vadītāja plates signāla ieejas (MOSFET vārti, IRLB8721 1. tapa) ir savienotas ar Arduino D9 = zaļa, D10 = sarkana, D11 = zila (skat. Piezīmi zemāk);
    • LED sloksne ir pievienota vadītāja panelim, un LED krāsu kanāli ir pievienoti MOSFET kanalizācijai (IRLB8721 2. tapa);
    • MOSFET avota tapas (IRLB8721 3. tapa) ir pievienotas zemei vadītāja panelī;
  3. Zemes savienojums starp vadītāja paneli un Arduino zemējuma tapu.

Nākamajā solī mēs spēlēsim ar dažām pogu spilventiņa lietotāja saskarnes funkcijām.

PIEZĪME. Ja jūsu kontrolieris darbojas, bet intensitātes pogas nekontrolē pareizās krāsas, neuztraucieties un nepārinstalējiet! Vienkārši iedziļinieties Arduino IDE skicē un faila augšdaļā modificējiet SARKANĀS, ZAĻĀ un ZILĀ tapas definīcijas.

5. solis: Vadības pamatfunkcijas

Vadības pamatfunkcijas
Vadības pamatfunkcijas

Tagad, kad sistēma ir ieslēgta, mēs varam spēlēt ar dažām pogām un likt tai darīt lietas.

Kā es teicu iepriekšējā solī, kad tiek ieslēgta sistēma, sistēma nonāk tukšgaitas stāvoklī. Šajā stāvoklī varat izmantot pogas divās augšējās rindās, lai palielinātu un samazinātu katra sarkanā, zaļā un zilā LED kanāla krāsu intensitāti. Ja izmantojat baltās palielināšanas/samazināšanas pogas, sistēma vienādi un vienādi palielina vai samazina visu trīs kanālu intensitāti.

Divas apakšējās rindas tiek izmantotas, lai atskaņotu iepriekš iestatītos modeļus. Šie modeļi tiek saglabāti Arduino EEPROM. Kad skice tiek izpildīta pirmo reizi, tā redz, ka EEPROM nav saglabāti nekādi modeļi, un tiek saglabāta noklusējuma modeļu kopa. Pēc tam jūs varat mainīt šos modeļus, un jūsu izmaiņas tiek saglabātas Arduino EEPROM, aizstājot iepriekš iestatīto modeli. Tas nodrošina, ka jūsu modeļi saglabā strāvas atvienošanu. Rediģēšanas funkcija ir aprakstīta nākamajā darbībā.

Pagaidām īsi nospiediet kādu no iepriekš iestatītajām pogām (astoņas pogas divās apakšējās rindās), lai palaistu šai pogai saglabāto modeli. Taustiņš mirgo, kamēr modelis darbojas. Lai apturētu rakstu, vēlreiz īsi nospiediet raksta pogu. Kad modelis darbojas, augšējās rindās esošās baltās augšup/lejup pogas var izmantot, lai mainītu raksta ātrumu.

Ja atstājat projektu uz dažām sekundēm vienu, nepieskaroties nevienai pogai, pamanīsit, ka gaismas diodes kļūst blāvas. Tas ir paredzēts gan enerģijas taupīšanai, gan tam, lai režģi nepārgaismotu jebkuru “garastāvokli”, ko gaismas diodes mēģina radīt. Pieskaroties režģa pogai, tā tiks aktivizēta.

Lai izslēgtu sistēmu, vienu vai vairākas sekundes nospiediet un turiet apakšējo kreiso pogu (#13) un atlaidiet. Režģis un LED sloksne kļūs tumši.

6. darbība: modeļu rediģēšana tastatūrā

Rakstu rediģēšana tastatūrā
Rakstu rediģēšana tastatūrā

Kā es teicu iepriekšējā solī, skice pirmo reizi palaiž EEPROM astoņus noklusējuma modeļus. Ja vēlaties, varat mainīt 7 no šiem modeļiem uz kaut ko citu, izmantojot pogu rediģēšanas režīmu.

Lai ieietu modeļa rediģēšanas režīmā, vispirms izlemiet, kurai pogai vēlaties rediģēt modeli. Jūs varat izvēlēties jebkuru pogu, izņemot apakšējo kreiso pogu. Atveriet modeļa rediģēšanas režīmu, ilgi nospiežot (turiet nospiestu vairāk nekā vienu sekundi) izvēlēto raksta pogu. Atlaižot, poga iedegsies nepārtraukti, un augšējās divas rindas sāks mirgot. Tas norāda, ka esat rediģēšanas režīmā.

Rediģēšanas režīms sākas ar raksta pirmo soli un turpinās līdz brīdim, kad iziesit no rediģēšanas vai beigsiet rediģēt 16. soli (maksimums 16 soļi katrā rakstā). Katrā solī izmantojiet kanāla intensitātes pogas divās augšējās rindās, lai atlasītu vēlamo krāsu šim solim. Pēc tam īsi nospiediet modeļa iestatīšanas pogu, lai saglabātu šo krāsu un pārietu uz nākamo darbību. Pēdējā solī, tā vietā, lai īslaicīgi nospiestu, vienkārši nospiediet, lai izietu no rediģēšanas.

Pēc modeļa rediģēšanas modelis tiek automātiski atskaņots.

Tieši tā! Tagad jums ir RGB LED kontrolieris, kas sekvenēs modeļus, kurus varat ieprogrammēt, izmantojot tastatūru. Jūs varat apstāties šeit vai, ja vēlaties izveidot oficiālāku šī projekta versiju, turpiniet pārējās darbības.

7. solis: labāka aparatūra: RGB LED draivera vairogs un korpuss

Image
Image
Labāka aparatūra: RGB LED draivera vairogs un korpuss
Labāka aparatūra: RGB LED draivera vairogs un korpuss
Labāka aparatūra: RGB LED draivera vairogs un korpuss
Labāka aparatūra: RGB LED draivera vairogs un korpuss

Kad man bija strādājošs prototips, es zināju, ka nevaru atstāt tukšu Arduino un proto dēli uz savu bērnu galdiem kā pastāvīgu risinājumu. Man bija nepieciešams iežogojums projektam. Es arī nolēmu, ka izveidošu labāku vadītāja dēli, un domāju, ka tā ir lieliska iespēja izveidot savu vairogu.

Es iztīrīju papīra shematisko shēmu, ievadot to ExpressSCH - bezmaksas rīkā, ko piedāvā ExpressPCB, tāfeles izgatavotājs, kas piedāvā lētus īsus mazo datoru paneļu gabalus. Es izmantoju ExpressPCB vairāk nekā desmit gadus projektos, taču ar visiem līdzekļiem izmantojiet visus instrumentus un izgatavotāju, kuru vēlaties.

Es pievienoju pāris nelielas funkcijas pamata shēmai, lai tā labi darbotos kā vairogs šim projektam. Es pievienoju vadu paliktņus, lai savienotu režģus, barošanas ligzdu, kontrollampu un LED sloksnes savienotāju. Es arī pievienoju vietu kondensatoram visā barošanas avotā. Šeit ir parādīta galīgā ķēde.

Es nolēmu, ka jauda projektam jānāk no vairoga. Vairogam piegādātais 12 V baro gan LED sloksni, gan Arduino. Barošana Arduino tiek nodrošināta, pievienojot barošanas ieeju Arduino VIN tapai, kas ir divvirzienu (jūs varat piegādāt strāvu Arduino ar šo tapu vai, ja pievienojat strāvu Arduino citur, tas jums piegādās ieslēdziet šo tapu). Aizsardzības diode D1 neļauj strāvai, kas tieši pievienota Arduino (piemēram, USB), mēģināt barot gaismas diodes.

Kāpēc neizmantot Arduino strāvas kontaktligzdu un vienkārši savienot tur 12V? Lai gan es būtu varējis piegādāt 12 V strāvu Arduino strāvas kontaktligzdai un izmantot VIN tapu, lai paņemtu šo jaudu vairogam, es biju nobažījies, ka Arduino D1 diode un pēdas nesasniegs lielās strāvas, kas iespējamas, vadot LED sloksnes. Tātad, es nolēmu, ka mans vairogs pārņems strāvas ievadi un piegādās strāvu Arduino. Man arī vajadzēja 5 V režģim, bet Arduino borta jaudas regulēšana piegādā 5 V uz vairākām tapām, tāpēc es izmantoju vienu no tiem Režģis. Tas mani ietaupīja, uzliekot regulatora ķēdi uz vairoga.

Tad es izklāju PCB. Es izmantoju dažus atrastos resursus, lai iegūtu precīzus tapas izvietojuma mērījumus, lai tie atbilstu Arduino Uno galvenēm. Neliela centība, un tas saskanēja ar pirmo mēģinājumu. Pašā vairoga ķēdē nav daudz, tāpēc man bija daudz vietas. Es izklāstīju plašas pēdas LED slodzēm, tāpēc manām vajadzībām būtu pietiekami daudz strāvas nestspējas. Es iestatīju MOSFET, kur tos varētu uzstādīt līdzeni, ar siltuma izlietnēm vai bez tām. Līdz šim man nav vajadzīgas siltuma izlietnes, ņemot vērā izmantoto gaismas diožu skaitu, taču, ja nepieciešams, vietas ir.

Es arī pievienoju caurumus, kas atbilst režģa montāžas caurumiem, lai es varētu izmantot statīvus, lai uzstādītu režģi pie sava vairoga. Kad vairogs ir pievienots Arduino, un režģi ir apturēti, stāvot virs vairoga, visam vajadzētu būt jaukam un stingram.

Pēc tam es izdrukāju tāfeles izkārtojumu un pielīmēju pie putu serdes gabala un ievietoju savas daļas, lai pārliecinātos, ka viss ir piemērots. Viss ir kārtībā, tāpēc es nosūtīju pasūtījumu.

Tad es sāku strādāt pie korpusa. Izmantojot Fusion 360, es izveidoju vienkāršu korpusu, kurā ir trīs dēļi (Arduino Uno, vairogs un režģis). Caurumi korpusā ļauj izveidot savienojumu ar Arduino USB portu, un, protams, piekļuve LED sloksnes savienojumam un vairoga strāvas ligzdai. Arduino strāvas ligzda ir pārklāta ar korpusu, lai nodrošinātu, ka tā netiek izmantota. Pēc pāris prototipu testēšanas, man beidzot bija dizains, ar kuru biju apmierināts. Esmu ievietojis korpusa STL failus vietnē Thingiverse.

Nākotnē es izveidošu tāfeles versiju, kurai Nano var pievienot tieši, tas padarītu projektu vēl kompaktāku. Līdz tam jūs varētu izmantot arī Nano to Uno vairoga adapteri.

Ja jūs gatavojaties veikt vairogu, lūk, kas jums būs nepieciešams papildus 1. darbībā minētajām daļām:

  • RGB LED Driver Shield PC plate (no ExpressPCB vai citiem; failus varat lejupielādēt no mana projekta Github repo);
  • 1N4002 diode;
  • 100uF 25V radiālais elektrolītiskais kondensators (lietojiet 220uF vai 470uF, ja ir liela LED slodze);
  • Strāvas ligzda, PJ202-AH (5A modelis).

Šādas daļas nav obligātas:

  • 3 mm LED - jebkura krāsa, kontrollampai (var izlaist)
  • 1500 omu rezistors - nepieciešams tikai tad, ja tiek izmantota LED kontrollampiņa

Ieteicams: