Turinys:

Kelių laikmačių režimas su išoriniu valdymu: 13 žingsnių
Kelių laikmačių režimas su išoriniu valdymu: 13 žingsnių

Video: Kelių laikmačių režimas su išoriniu valdymu: 13 žingsnių

Video: Kelių laikmačių režimas su išoriniu valdymu: 13 žingsnių
Video: MSFS 2020 ATR 600 START UP GUIDE 2024, Lapkritis
Anonim
Kelių laikmačių W/ išorinis valdymas
Kelių laikmačių W/ išorinis valdymas

Šis projektas „Instructable“yra daugiafunkcinio laikmačio konstrukcija

Šis laikmatis gali veikti taip:

  1. Bendros paskirties aliarmas, pasirenkamas nuo 1 sekundės iki +90 valandų. Skaičiavimas atgal su garsiniu aliarmu ir (arba) išorinio įrenginio valdymas iki pabaigos, tada skaičiuojamas laikas nuo aliarmo.
  2. Miego laikmatis su 7 pasirinktinais laikais, atgalinis skaičiavimas ir aliarmas.
  3. Meditacijos laikmatis su 4 pasirenkamais laikais, su skaičiavimu atgal ir trumpu čiulbėjimu, paskaičiavimu su kitu čiulbėjimu praėjus 5 minutėms po to.

Šis projektas gali būti sukurtas taip, kaip aprašyta čia, arba pakeistas, kad tiktų. Anksčiau aš sukūriau šios funkcijos laikmatį ir panaudojau jį savo pirmajame „Instructable“, kad valdyčiau UV spindulių dėžutę.

Maniau, kad galiu tiesiog paskelbti originalią programą ir lentos dizainą. Tačiau kažkodėl negalėjau rasti kodo. Taip pat norėjau patobulinti aparatūrą, kad valdymo grandinės būtų lankstesnės ir sumažėtų akumuliatoriaus išsekimas. Dėl to pertvarkyta pagrindinė plokštė ir perrašytas kodas suteikia galimybę aptarti programavimo ir aparatūros projektavimo metodą.

Kai kuriu plokštę, dažnai pastebiu, kad yra trūkumų projektuojant ar sudedant komponentus. Pastatomos plokštės taip pat yra viena iš dviejų. Be to, man patinka dalyvauti visuose projekto aspektuose nuo pradžios iki pabaigos. Tai yra keletas priežasčių, kodėl aš gaminu savo plokštes, o ne siunčiu „Gerber“failus į užsienį gaminti. Galbūt aš tiesiog sena ir įstrigusi savo keliuose. Šis projektas atspindi šį šališkumą. Kadangi gaminu savo plokštes, mano dizainas ir mano „Gerber“failai neatitinka gamybos standartų, aš neįtraukiau šių failų. Tie, kurie nenori išgraviruoti ir užbaigti lentų, kviečiami paruošti savo dizainą ir paskelbti „Gerber“failus komentarų skiltyje. Prieš paskelbdami, paprašykite, kad jūsų lentos būtų pagamintos ir išbandytos.

1 žingsnis: Aparatūros elementų apžvalga

Įrenginys maitinamas 4 AAA baterijomis ir yra valdomas „Arduino Pro Mini 5V“.

Mažas garsinis signalas/garsiakalbis suteikia garsinį aliarmą.

Miniatiūrinė 5 V relė užtikrina išorinių įrenginių valdymo įtampą. Šios valdymo įtampos išvesties šaltinis yra lankstus.

Sukamasis kodavimo įrenginys su mygtuku leidžia pasirinkti meniu.

OLED ekranas ir momentinis paleidimo/sustabdymo jungiklis užbaigia vartotojo sąsają.

Papildomą elektroninę įrangą sudaro SPDT maitinimo jungiklis ir miniatiūrinis telefono lizdas, skirtas prijungti prie išorinių įrenginių.

Be to, pateikiami failai, padedantys jums įgyvendinti šį projektą:

3D spausdinto projekto dėklo STL failai.

Vario ir litavimo kaukės vaizdai, skirti ėsdinti ir apdailinti valdymo plokštę ir sukamąjį kodavimo įrenginį.

Schemos ir lentos vaizdai kaip nuoroda tiems, kurie nori pakeisti mano dizainą.

Galbūt norėsite peržiūrėti mano instrukciją, kaip sukurti dvipuses plokštes, kaip pavyzdį, kaip gaminti plokštes.

2 veiksmas: programinės įrangos apžvalga

Kartu su „Arduino“šaltinio failais gali būti papildomos informacijos.

Jei įmanoma, naudojamos aparatinės įrangos bibliotekos (mygtukų atmetimas, OLED valdymas, sukamojo kodavimo įrenginio skaitymas).

Programa įgyvendina paprastą baigtinės būsenos mašiną (FSM), skirtą valdyti kodo vykdymą kaip jungiklio teiginį ciklo funkcijoje.

Nustatyta meniu klasė, leidžianti pasirinkti rodomas OLED parinktis ir pasirinkti naudojant sukamąjį kodavimo įrenginį.

Įvestis vykdoma naudojant tiesioginį apklausą (be pertraukos), nes tai nėra labai svarbu laiko atžvilgiu ir kodas tampa aiškesnis.

Spausdinti pareiškimus į seriją naudojami siekiant sekti kodo vykdymą ir derinimą

Įvairių tipų programos struktūros elementai, įskaitant:

  • Keli kodo skirtukai, skirti izoliuoti kai kurias aparatinės įrangos valdymo funkcijas ir kintamuosius.
  • Perjunkite teiginius, kad nustatytumėte būsenos vertę (FSM) ir valdymo kintamuosius.
  • Struktūros apibrėžimas
  • Sąrašai, leidžiantys būsenos reikšmes priskirti kaip tekstą.
  • #define aparatūros kaiščio ir standartinių verčių išankstinio procesoriaus apibrėžimai.

3 žingsnis: dalių sąrašas

Sukurkite gaubtą
Sukurkite gaubtą

Nežinojau, kur dėti šį žingsnį, nes tai galima padaryti beveik bet kuriuo metu. Aš naudoju 3D spausdintą korpuso dėžutę. Galbūt neturite prieigos prie 3D spausdintuvo arba pageidaujate kito tipo korpuso, pvz., Aliuminio dėžutės, plastiko, supjaustyto lazeriu, rankomis raižytos medienos ar kito tipo, kurį naudojate savo elektroniniams projektams. Įtraukiau viršutinės, apatinės, sukamojo kodavimo rankenėlės ir OLED rėmelio STL failus. Naudokite šiuos failus ir pasirinktą pjaustyklę, kad sukurtumėte spausdintuvo gcode failus.

Visas detales spausdinu naudodamas PLA giją, viena spalva - korpuso viršuje ir apačioje, kita - kontrastinga rankenėlei ir rėmeliui (priklijuotam prie viršaus.) Nenurodysiu visų savo pjaustyklės nustatymų, bet naudoju Tri -Šešiakampis užpildymas ne mažiau kaip 35%, kad būtų galima bakstelėti kampinius varžtus ir nustatyti „be atramos“nustatymą, kad būtų galima nuskaityti įpjautas raides. Aš atspausdinau dėžutę naudodami savo spausdintuvų „normalų“sluoksnio aukštį.

9 žingsnis: projektavimo ir rašymo kodas

Šis žingsnis yra neprivalomas, tačiau rekomenduojamas geriau suprasti.

Didžioji dalis pastangų valandų prasme yra kodo rašymas. Šį veiksmą galite praleisti, jei pridėtą programą naudojate kaip -is. Tačiau siūloma skirti laiko kodo peržiūrai, kad būtų geriau suprastas ar pakeistas, kad atitiktų jūsų poreikius.

Toliau pateikti komentarai gali padėti suprasti šį procesą.

  • Komentarai - plačiai komentuokite, kai einate - dažnai rašau komentarus prieš rašydamas kodą.
  • Skirstyti ir užkariauti - naudokite funkcijas, klases ir modulius (skirtukus.) Norėdami patikrinti sintaksę, naudokite dažnus kompiliatorius (Patvirtinti). Derinimas - naudokite spausdinimo teiginius, kad patikrintumėte srauto ir bandymo reikšmes bei aparatūros sąsajas. Nebijokite išspręsti problemų, kai einate, niekas nerašo kodo, kuriame nėra klaidų!
  • Konstantos - #define išankstinio kompiliatoriaus instrukcijos priskiria vardus PIN kodams. Const kintamųjų apibrėžimai su komentarais sumažina arba pašalina „stebuklingus“skaičius. Naudojant konstantas, esančias programos ar funkcijos pradžioje, galima keisti parametrus neperrašant kodo
  • Iš anksto nustatytos bibliotekos - naudojant iš anksto nustatytas bibliotekas, sumažėja programavimo našta ir derinimo laikas.
  • Dizaino blokai - sukurti naudojant funkcijas, atskiriant kodą atskiruose skirtukuose (susijusios programos ir.hfiles), išvardijimus, klases ir struktūras. Sutelkite dėmesį į kiekvieną, kad suprastumėte, kaip jie veikia, palyginti su likusiu kodu.
  • Būsenos mašina (-os) - tai programavimo modelis, puikiai veikiantis su „Arduinos“ar bet kuriomis programomis, naudojamomis išėjimams valdyti arba įvestims reaguoti. Yra keletas valstybinių mašinų skonių. Šis kodas naudoja būsenos mašiną, pagrįstą ciklo funkcijos jungiklio teiginiu. Šią formą lengva suprasti ir derinti.
  • Ekranas ir meniu - OLED išvestis yra trumpa, tačiau suteikia pakankamai atsiliepimų atsitiktiniams vartotojams ir palaiko parinkčių pasirinkimą. Jis gerai integruojasi su būsenos mašina (beveik visos būsenos turi susietą OLED ekraną). Meniu klasė padėjo atskirti kodą, kad būtų galima rodyti ir pasirinkti meniu parinktis

Prašome keletą kartų perskaityti programą. Tai padeda vienu metu atlikti vieną funkciją ar skyrių. Dažnai nesuprantu parašyto kodo, nebent jį perskaičiau bent du kartus!

10 veiksmas: įdiekite programą

Nukopijuokite pridėtą failą į kompiuterį, tada išpakuokite jį į savo eskizų katalogą

Prijunkite „Arduino“prie kompiuterio ir atsisiųskite programos kodą įprastu būdu. Atidarykite „Arduino IDE“serijos monitorių, kad patikrintumėte, ar programa veikia, ir padedate derinti.

11 žingsnis: Surinkite laikmatį

Surinkite laikmatį
Surinkite laikmatį
Surinkite laikmatį
Surinkite laikmatį
Surinkite laikmatį
Surinkite laikmatį
Surinkite laikmatį
Surinkite laikmatį

Kai viršutinė ir apatinė korpuso dalys yra atspausdintos ir išvalytos, komponentus galima pritvirtinti mažais savisriegiais plastikiniais varžtais. Pirmiausia akumuliatoriaus laikiklis užsifiksuoja gale. Likusios dalys pritvirtintos prie korpuso viršaus tokia tvarka:

  1. OLED ir kabelis
  2. Paleidimo/sustabdymo jungiklis ir laidai
  3. Rotacinis kodavimo įrenginys ir kabelis
  4. Garsiakalbis / garsinis signalas ir laidai
  5. Išorinis valdymo lizdas ir laidai
  6. Įjungimo/išjungimo slankiklis ir laidai (dar kartą patikrinkite orientaciją, kad įjungta būtų norima kryptimi

Jei lituojate kabelius tiesiai prie savo plokštės, darykite tai po to, kai visos dalys bus pritvirtintos prie jūsų korpuso, kad sumažintumėte laidų lūžimą. Turite palaukti, kol kabeliai bus prijungti prie pagrindinės plokštės, prieš prisukdami tą plokštę prie galo.

Jei naudojate kaiščių antgalius ir „Dupont“jungtis, pirmiausia pritvirtinkite pagrindinę plokštę varžtais, tada prijunkite komponentus. Būkite atsargūs, kai prijungiate akumuliatorių prie pagrindinės plokštės ir laikykitės teisingo poliškumo. Šiuo metu taip pat turėtumėte nustatyti relės valdymo trumpiklius arba laidus.

Korpuso apačia prijungiama prie viršaus naudojant 4–40 apvalios galvutės mašinos varžtus, po vieną kiekviename kampe. Keturias skylutes viršuje reikia paliesti 4/40 čiaupu arba, jei naudojate 4-40 srieginių įdėklų, turėsite išgręžti skyles, kad jas priimtumėte. Taip pat reikia išgręžti 4 skyles pagrindinei plokštės tvirtinimui apačioje. Prijunkite šią plokštę prie akumuliatoriaus laikiklio ir pažymėkite skylių vietas. Gręžkite pagal savo tvirtinimo varžtus.

12 veiksmas: integracijos testavimas

Integracijos testavimas
Integracijos testavimas
Integracijos testavimas
Integracijos testavimas
Integracijos testavimas
Integracijos testavimas

Galutinis (integravimo) testavimas atliekamas išbandžius visas meniu parinktis ir patikrinus, ar jos veikia su aparatūra, kaip suprojektuota. Mano pateikto kodo to turėtų pakakti. Jei parašėte savo kodą arba pakeitėte mano, jūsų bandymai turės būti išsamesni. Nemanau, kad reikia atlikti visus pasirinktus laiko nustatymus, tačiau turite išbandyti visas standartines žadintuvo parinktis ir patvirtinti, kad alpimo ir meditacijos aliarmai veikia taip, kaip numatyta.

13 žingsnis: paskutinės mintys

Sveikinu su sėkmingu, tikiuosi, projektu. Esu tikras, kad kelyje susidūrėte su problemomis, kurias turėjote išspręsti. Taip pat esu tikras, kad kai kurios mano instrukcijos galėjo būti išsamesnės ar aiškesnės. Praneškite man per komentarų skiltį, kokie buvo jūsų rezultatai, ir pateikite pasiūlymų, kaip šias instrukcijas galima patobulinti.

Dėkojame, kad skyrėte laiko žiūrėdami ir (arba) kurdami šį projektą.

Rekomenduojamas: