Izveidojiet savu LED saber-programmaparatūru, mikrokontrolleru un testēšanu

RAMPS 1.4 - Power Output EEB (D10, D9, D8) (Jūlijs 2019).

$config[ads_text] not found
Anonim

Izveidojiet savu LED saber-programmaparatūru, mikrokontrolleru un testēšanu


3. daļā mēs kompilējam programmaparatūru un izveido kontrolieri Saber sirdī, pēc tam veicam sākotnējo testēšanu un diagnostiku.

Mans mērķis šajā sērijā ir iemācīt jums, kā veidot spožāko LED gaismas avotu līdz šim. Pirms turpināt, lūdzu, izskatiet pirmos sērijas rakstus.

  • 1.daļa: Ievads, komponenti un drošība
  • 2.daļa: barošana un audio

Šajā rakstā mēs pāriet uz programmaparatūru un to, kā instalēt mikrokontrolleru. Tad mēs veiksim sola testēšanu.

Sabera kontrolieris

LED WS2812b ir digitāla ierīce. Pietiekama jauda Neopixel sloksnei nav pietiekama - tas paliks tumšs, ja to nepieprasa seriālais savienojums. Tāpēc mums būs nepieciešams mikrokontrolleris. Un, ja tas ir pieņemts, mēs varam to paveikt ar visām programmatūras funkcijām, ko mēs varam izmantot, jo programmatūra neko sver un būtībā ir brīva.

Es ļoti mīlu SparkFun "Pro Micro", kas ir samazinājies Arduino Leonardo. Tas arī aukstās zābaki ātrāk nekā gaidīt aptuveni sekundes IDE.

MPU-6050 ir labi pazīstams trīsceļu akselerometrs un žiroskops, kas runā ar I 2 C. Tas ir ļoti bieži sastopams no dažādiem avotiem. Ja mēs vēlamies, lai zobens reaģētu, kad tas tiek pārvietots, mums vajag tādu sensoru kā šis.

Piedāvātais rotējošais "ciparu skaļuma" kodētājs / slēdzis var tikt izvilkts no dēļiem, kas ir kopīgi Arduino komplektiem. Es saņemu mani somiņos par pusi dolāru katram.

"Kristāls ir asmeņa sirds." Šajā gadījumā tā darbojas 16MHz frekvencē un tam ir kompānijas sensoru mikroshēma.

Sagatavojiet programmaparatūru

Pirmkārt, pirms mēs uzsākam būvniecību, mums ir jāpārsūta sava Arduino programmaparatore. Cerams, ka jūs esat iepazinies ar Arduinos un jau esat izveidojis IDE. Jums būs nepieciešama FastLED bibliotēka. Jums to jau ir iespējams. Ja jums tas nav, izmantojiet saiti, noklikšķiniet uz "Klons vai lejupielāde" un saglabājiet kā .zip failu.

Arduino IDE izvēlieties izvēlni "Skice" >> "Iekļaut bibliotēku" >> "Pievienot ZIP bibliotēku …" un piešķiriet tai failu, ko tikko lejupielādējāt. Šī ir tā pati procedūra, ko izmanto jebkurai Github hosted bibliotēkai.

FastLED ir de facto standarts darbam ar WS28xx LED masīviem, un tam ir vairāk funkciju, nekā man ir vietas, lai aprakstītu.

Lejupielādējiet programmaparatūru LEDSaber:

LED saberprogramma

Update: programmaparatūru atjaunināja 2007. gada 4. maijā. Jaunāko versiju ar kļūdu labojumiem un jaunām funkcijām varat atrast šeit.

Saspiest .zip failu un atveriet LEDSaber.ino skices, izmantojot Arduino IDE.

Skices augšā ir vissvarīgākie parametri. Ja jūs veidojat visu, kā aprakstīts, jums nav jāmaina nekas, un ir labi iet.

Visbiežāk sastopamais mods, visticamāk, būs gaismas diodes jūsu asmens joslā un pieslēguma tapa:

 // define our LED blade properties #define BLADE_LEDS_COUNT 72 #define BLADE_LEDS_PIN A2 

Atcerieties, ka mēs vadām 144 gaismas diodes kā 72 spoguļattēlu. Ja jums ir mazāk gaismas diodes, varat atstāt BLADE_LEDS_COUNT tā, kā tā ir, taču, izmantojot lielāku nekā nepieciešamo vērtību, tiks izšķērdēta atmiņa un apstrādes laiks, tāpēc neaizveriet pār bortu . Ja jums ir vairāk nekā 72 gaismas diodes, datu plūsma apstāsies mazliet par asmeni.

 // default colour customization #define BLADE_SATURATION 255 #define BLADE_HUE 144 // see properties.h for the presets list 

Tie iestata starta asmeņu krāsu. Es noklusējuma izvēlējos Jedi zilu. Šī krāsa ir definēta ar "nokrāsu" (ja tas ir uz varavīksnes) un "piesātinājums" (augstāka piesātinājums nozīmē bagātāku, tīru krāsu un zemāka piesātinājums nozīmē vairāk blāvu vai gaišu krāsu).

FastLED HSV Rainbow ir šeit.

Funkcijai "properties.h" ir astoņu sākotnējo iestatījumu lielāks krāsu / audio parametru klāsts. Kad jums ir neliela pieredze ar zobenu, jūs, iespējams, vēlēsities tos pielāgot.

 // voltage shutdown properties #define VOLTAGE_SHUTDOWN (3.5f * 3.0f) // minimum voltage required #define VOLTAGE_SENSOR_RATIO (2.10f / 12.60f) // ratio between sensor voltage and real battery voltage (1:6 by default) #define VOLTAGE_SENSOR_PIN A3 // pin used by voltage sensor 

Zemākā sprieguma izslēgšanās iestatījumi ir vissvarīgākie. Ja jūsu sprieguma dalītājs nav 6: 1 vai jūs izmantojat citu akumulatoru, jums būs jāpielāgo VOLTAGE_SENSOR_RATIO un / vai VOLTAGE_SHUTDOWN, pamatojoties uz akumulatora un sensoru sprieguma mērījumiem un akumulatora īpašībām.

Ieteicams empīriski precizēt VOLTAGE_SHUTDOWN slieksni pirms montāžas. To var izdarīt, pagriežot zobenu un atstājot to, kad novērojat akumulatora spriegumu, izmantojot multimetru. Ja zemsprieguma slēgšana sākas pārāk agri, pazeminiet slieksni. Ja tas sākas pārāk vēlu (ti, jūs sasniedzat 10, 5 V bez izslēgšanas) palieliniet slieksni.

Ievērojiet, ka mēs izmantojam nepietiekamas sprieguma slieksni 3, 5 V uz LiPo šūnu. Dažās budžeta izpildes situācijās šo skaitli var uzskatīt par diezgan zemu. Tomēr jāpatur prātā, ka akumulatora spriegums tiek mērīts zem slodzes. Šūnu spriegumi atgriezīsies atpakaļ 0, 1 V vai vairāk, tiklīdz mēs pārtrauksim mūsu pašreizējo izdarīt.

Augšupielādējiet programmaparatūru

Pārliecinieties, ka Pro Micro netiks pieskarties neko metālam. Pievienojiet Pro Micro datora USB portam. Parastajiem pīkstieniem vajadzētu skaņu.

Arduino IDE izmantojiet izvēlni "Tools" >> "Port" un atlasiet ierīci, kuru tikko pievienojāt.

Izmantojiet "Tools" >> "Board" un izvēlieties "Arduino Leonardo", lai norādītu IDE, kāda veida kuģa tā ir.

Noklikšķiniet uz pogas "Pārbaudīt" un pārbaudiet, vai viss tiek apkopots. (Es patiešām vēlos, lai bibliotēkas autori netiktu ielādēti #pragmā. Tas ir nepatīkams.)

Jums vajadzētu redzēt šādu izlaidi:

Noklikšķiniet uz bultiņas "Augšupielādēt". Kods tiks atkal jāapkopo un jānosūta uz ierīci, mirdzot mirgojošām gaismām.

Un tas tā ir.

Pievienojiet daudzfunkcionālo slēdzi

Pēc tam mēs ieslēdzam pagriežamo slēdzi tieši uz Pro Micro. Tam ir trīs tapas vienā pusē rotējošam kodētājam un divi tapas, no otras puses, slēdžiem. Tādējādi mēs izvairāmies no nepieciešamības pēc pieciem džempera stieņiem, kas savukārt sasniedz trīs lietas: mēs novēršam desmit iespējamās kļūdas punktus, ļaujot droši pieskrūvēt kontrolieri uz lietu, un mēs ietaupīsim vietu un svaru un laiku. Slēdzis ir ļoti kompakts tā funkcionalitātei.

Sānu ar trim spraudņiem iet caurumi 16, 14 un 15. Abas tapas (ar atstarpi starp tām) iet 6 un 8.

Dažiem rotējošiem slēdžiem ir cilnes, kas varētu traucēt. Atlaist tos ar knaiblēm, līdz tie nokrist.

Slēdzim vajadzētu būt pie augšas, nevis no īssavienojuma detaļām ar metāla pamatni.

Noteikti labi: atstājiet pēdējos caurumus EMPTY. Pin 10 ir vieta, kur iznāk audio.

Ja jums ir nepieciešams noslaucīt slēdža vārpstu, to izdariet, pirms piestipriniet to pie Pro Micro! Nostipriniet vārpstas galu vīlē un sagrieziet ar Dremel vai zāģis. Neievietojiet slēdža galveno korpusu, jo vārpsta ir bezjēdzīgi, un slēdzis nevar izdzīvot griešanas spēkus.

Griežot metālu, lūdzu, dariet to tālu, tālu no elektronikas un nomazgājiet rokas un nomainiet drēbes pirms atgriešanās. Nopietni. Viens klaiņojošs metāla pieteikums nepareizajā vietā sabojā projektu sliktākajos iespējamos veidos, dažreiz mēnešos vēlāk.

Uzstādiet slēdzi Pro Micro komponenta pusē, ievietojot Arduino uz plakanas, cietas, karstumizturīgas virsmas (ja nepieciešams, varat izmantot papīra gabalu zem sastāvdaļām papildu aizsardzībai). Tad iestatiet slēdža tapas caurumos, lai viss būtu jauks un līmenis. (Nelieciet Pro Micro kristālu vai citas daļas!) Tagad no augšējās puses varat pielodēt.

Tiem, kuri nevēlas apgrūtināt slēdzi, es norādīšu, ka tā nav stingri nepieciešama asmeņu sistēma. Tomēr, ja izvēlēsities to atstāt, jūs zaudēsiet daudz funkcionalitātes - visas spējas mainīt iestatījumus lidojuma laikā lietošanas laikā un visvienkāršākais veids, kā aizdedzināt un dzēst LED asmens. Bet tas nav vienīgais veids, kā apgaismot asmeni; spilgtās aizdedzes funkcija ļauj to apgaismot, un neaktivitātes izslēgšana (vai galvenais strāvas slēdzis) var to izslēgt.

Patiesībā, ja jums ir iespējams droši un viegli atvienot akumulatoru, varat to izmantot bez ārējām vadības ierīcēm.

MPU-6050 IMU pievienošana

MPU-6050 ir daudzu formu izplešanās dēļos. Mēs rūpējamies tikai par četriem GND, VCC, SDA un SCL pins.

Tā kā Arduino I 2 C datu / pulksteņa līnijas atrodas blakus otrai pusei 2 un 3 (un tās parasti arī ir kopā IMU), es iesaku tieši IMU instalēt Pro Micro aizmugurē, izmantojot divus standarta 0, 1 collu galvas tapas, ar izolāciju, kas ērti darbojas kā starplikas.

.

Ja SDA / SCL pins šķiet nepareizā secībā, vienkārši pārslēdziet IMU.

Ja jums ir ļoti paveicies, iespējams, GND vai VCC tapas arī labi izveidota. Man nebija, tāpēc es izturēju atbilstošus vadus (pirms es pielojēju tapas) telpā starp. Tas rada ļoti kārtīgu paketi.

Mans rotējošais kodēšanas slēdzis un IMU pārrāvuma dēlis bija pārāk lieli, lai ietilptu tajā pašā Pro Micro pusē (apmēram milimetros!), Bet jums varētu būt vairāk iespēju izvietošanai. Man nebija pilnīgi apmierināti ar to, kā IMU bija pakļauts, pakārtoja mugurpuses komponentu uz augšu, tāpēc vēlāk es to pārklāju ar silikona goo, lai to aizsargātu, un ieliekot dažus plakstiņus, lai novērstu liekšanos.

Divas tapas savieno I 2 C autobusu un fiziski montē tāfeli. Jaudas vadi darbojas starp tām.

Pievienojiet servo savienotājus

Mēs izmantojam servo spraudni, lai iegūtu jaudu no strāvas pārveidotāja un kontaktligzdas, lai nodrošinātu datu savienojumu ar asmeni.

Sprieguma izjūta no pārveidotāja iet uz A Micro Pro mikrofona A3 un vads, kas nonāk kontaktligzdā, savienojas ar A2 kontaktu. (Ja nepieciešams, tie ir maināmi programmaparatūrā.)

Kontroles modulis zināmā mērā darbojas kā cits "pārveidotājs" bloks, ņemot voltus un pārvēršot tos datus. Vai varbūt ļoti sarežģīts gaismas slēdzis.

Sprieguma sajūta nonāk līdz A3, tuvākajai GND / RAW kontaktu analogai ieejai. Kontroles dati nāk no A2 nākamajām durvīm un iet uz LED sloksni.

Drošs Arduino pārplānošana

Iespējams, vēlēsities mainīt programmaparatūru pēc zoba pabeigšanas. Uzmanies šo brīdinājumu.

NEKAD pieslēdziet LiPo akumulatoru, ja ir pievienots USB ports; ar to jūs būtiski saīsināt divu atsevišķu strāvas padeves izejas, un tā ir slikta ideja, ja vien jūs nevēlaties, lai 20 ampēri nāk atpakaļ USB kabeļa virzienā neatkarīgi no tā, kas atrodas otrā galā. Iespējams, jūsu iecienītākais dators. Varbūt jūsu dators ir labi izgatavots, un tas izdzīvos, bet tāpat kā iespējams, būs dūmi un skumjas.

Atcerieties: Neļaujiet divas neatkarīgas barošanas sliedes savienot kopā. Šajā projektā tas nozīmē, ka DC / DC pārveidotājs nav mazāks par 5V līdz 5 V USB. Nekad nepārkāpjiet straumes!

Attēla pieklājīgi no AllPosters. Un Ghostbusters.

… patiesībā Pro Micro (pašreizējā oriģinālajā versijā) ir aizsardzības diode un polifūzija, kas padara to pilnīgi drošu. Pretējā gadījumā es būtu izveidojis to citādi. (Nekad neuzbūvēts pašiznīcināšanas mehānismā!) Bet tur ir varianti un nobloķēšana, kas varētu viegli izlaist šīs detaļas - un katrā ziņā, vai jūs patiešām vēlaties spēlēt savu datora dzīvi kādas citas domājamās aizsardzības shēmās? Vislabāk ir izvairīties no visa situācijas.

Es zinu, ka ir vilinoši atstāt visu pieslēgtu, lai to varētu viegli atkļūdot, bet nē. Vienkārši nē Mēģiniet veidot savu rokturi, lai fiziski atvienotu / noņemtu smieklīgi spēcīgu akumulatoru, lai nokļūtu USB ligzdā.

Ja jūs plānojat veikt daudz programmatūras izstrādes (kā es to darīju), es ieteiktu izveidot "nažu asmeni" ar mazāk nekā 40 gaismas diodēm testēšanai. Ar 2 ampēriem maksimālajā režīmā tas tikko nedarbosies ar "uzlādēšanas" USB portu, un jūs varat rakstīt visu vajadzīgo slikto kodu. Ņemiet vērā, ka NEVĒRT, ka jūsu dators var piegādāt pietiekami daudz strāvas, lai palaistu pilno 1 metru sloksni, un Pro Micro polifūzijai vajadzētu atvienot un pārtraukt strāvu, ja mēģināsit.

40-LED "Gaismas nazis", kuru es izmantoju attīstībai, var pietiekami labi darbināt ar strāvu "uzlādēšanas" USB portu.

Pievienojiet audio moduli

Pabeigts audio modulis no 2. daļas.

Mums ir vajadzīgs labs 5V jaudas līmenis audio skaņas pastiprinātājam (līdz pat 2W!), Tāpēc pieslēdziet tās vadu uz GND un RAW uz Pro Micro. To varat izdarīt, izvelkot vadus no strāvas vadiem un audio moduļa vadiem uz GND un RAW caurumiem (pēc tam lodēt kā parasti). Šajos savienojumos uzklājiet karstu līmi vai silikonu celiņu atvieglošanai un aizsardzībai. Esi uzmanīgs šeit; tas ir vistuvākais, ka 20 amp sliedes pieskaras.

Nepievienojiet audio jaudu pie Pro Micro mikrofona VCC, kas varētu nozagt no regulētās "digitālās" barošanas avota. VCC vajadzētu ieslēgt tikai Pro Micro un MPU-6050.

Es izvēlējos vadīt audio / skaļruņu moduli tieši uz Pro Micro, jo man nebija vietas, taču, ja jums patīk (vai mini-JST savienotāji, ja jums tādi ir), jūtieties brīvi šeit pievienot vēl vienu servo savienotāju.

Audio modulis, kas pieslēgts pie kontrollera.

Sākotnējie standarta testi

Kad vadības un audio moduļi ir samontēti, pievienojiet tos mazam USB barošanas blokam / bāzei (nevis galvenajam barošanas pārveidotājam vai datoram, ja kaut kas notiks nepareizi), un jums vajadzētu dzirdēt briesmīgu skaņas signālu. Tas ir zemsprieguma signāls; šajā gadījumā tas vienkārši atgādina jums, ka LiPo nav pievienots.

Ja tas darbojas, jūs varat veikt sākotnējo testu ar strāvas pārveidotāju un akumulatoru. Atvienojiet ierīci no USB, savienojiet četrus moduļus, kurus esam pabeidzuši pareizajā ķēdē (kontrolleris, strāvas pārveidotājs, sprādze un akumulators), novietojiet šorti un veiciet pirmo "aizdedzes" testu.

Ieslēdziet barošanas slēdzi. Skaļruņā vajadzētu būt "klikšķim", bet bez trauksmes, kas saistīts ar zemu sprieguma līmeni, piemēram, USB. Ja modinātājs atskan (pat ja tas ir pilnīgi akumulators), jums var būt nepieciešams pielāgot savu programmaparatūras iestatījumus.

Pagrieziet vadības pogu pulksteņrādītāju kustības virzienā, lai aizdedzinātu asmeni vai "uzskrūvētu" vadības ierīci (es parasti pacelšu vienu stūri un atkal to nolaižot), lai to pietiekami rotētu, lai aktivizētu "šūpuli, lai aizdedzinātu".

Jābūt pēkšņam, skaļam, daļēji nepatīkamam skaļruņa radītajam trokšņam, kas nonāk līdz pazīstamam humam. Jūs varat (maigi) pārvietot vadības moduli apkārt, lai dzirdētu smaku pārmaiņām smalki. Tas pierāda, ka IMU darbojas.

Ja saber pastāvīgi izslēdzas pēc apmēram 90 sekundēm, un skaņa nereaģē uz kustību, visticamāk, IMU nesazinās ar Arduino. Pārbaudiet, vai tam ir jauda, ​​un I 2 C līnijas ir pareizā veidā.

Lai veiktu audio testēšanu, pārējo skaļruni nospiežot uz leju PVC gala vāciņa iekšpusē (vai caurules izgriezuma segmenta beigās), lai jūs zinātu, kā tas sakrīt, kad tas atrodas iekšpusē. Skaļruņi vislabāk darbojas, ja starp priekšējo un aizmugurējo seju ir "pārspriegums"; pretējā gadījumā skaņas spiediena viļņi vienkārši sasveras ap skaļruņa konusa malu un izbeidzas.

Noregulējiet skaļruņa moduļa skaļuma regulatoru, lai spiediena un aizdedzes skaņas būtu vislabāk skaļi, bet netiktu izkropļotas.

Pieci no sešiem moduļiem ir pievienoti un gatavi stenda testam. Igors, mest ze slēdzi!

Ja šajā stadijā jums ir noturīgs trieciens statisks, augsts plankums vai citi audio jautājumi (būtībā, ja jūs varat dzirdēt kaut ko no runātāja, kamēr asmens nav aktīvs), jums var būt nepieciešams pievienot 330μF vai 470μF elektrolītiskais kondensators pāri audio spēka padevei. Tas var būt gadījumā, īpaši, ja esat izvēlējies SBEC, kas nav YEP-20.

WS2812b gaismas diodes iekšēji izmanto impulsu platuma modulāciju, un simts kopā var izveidot kora "dziedošās" skaņas, kas iekļūst audio signālos, izmantojot barošanas līnijas. Ja pēkšņi dzirdēsiet šāda veida troksni, kad pievienosim asmeni, jums noteikti būs nepieciešami papildus izlīdzinošie kondensatori.

Nākamreiz…

4. daļā mēs izveidosim savienojumu ar asmeni, veicam visu sastāvdaļu pilna izmēģinājuma stenda pārbaudi un saliktu paklāju.

Vai tu esi vīlušies par savu iecienīto mikrokontrolleru / IMU vai kombināciju neizmantoja? Ieteikt, kuras citas platformas jūs vēlētos redzēt programmaparatūru, kas tiks tālāk pārsūtīta tālāk esošajos komentāros.