Sisällysluettelo:

Moniajastin ja ulkoinen ohjaus: 13 vaihetta
Moniajastin ja ulkoinen ohjaus: 13 vaihetta

Video: Moniajastin ja ulkoinen ohjaus: 13 vaihetta

Video: Moniajastin ja ulkoinen ohjaus: 13 vaihetta
Video: Голубая стрела (1958) фильм 2024, Marraskuu
Anonim
Moniajastin W/ ulkoinen ohjaus
Moniajastin W/ ulkoinen ohjaus

Tämä Instructable -projekti on monitoimilaitteen ajastin

Tämä ajastin voi toimia seuraavasti:

  1. Yleiskäyttöinen hälytys, jonka valittavissa olevat ajat ovat 1 sekunti - +90 tuntia. Laskenta, jossa on äänimerkki ja/tai ulkoisen laitteen ohjaus, kunnes se on valmis, ja sitten hälytyksestä kulunut aika.
  2. Uniajastin, jossa on 7 valittavaa aikaa, ajastin ja hälytys valmistumisen jälkeen.
  3. Meditaatioajastin, jossa on 4 valittavaa aikaa, laskuri ja lyhyt äänimerkki valmistumisen jälkeen, laskenta toisella äänimerkillä 5 minuutin kuluttua sen jälkeen.

Tämä projekti voidaan rakentaa tässä kuvatulla tavalla tai muokata sopivaksi. Rakensin aiemmin ajastimen, jolla oli tämä toiminto, ja käytin sitä ensimmäisessä Instructable -laitteessani UV -valotuslaatikon hallintaan.

Ajattelin, että voisin vain julkaista alkuperäisen ohjelman ja piirrosmallit. Jostain syystä en kuitenkaan löytänyt koodia. Halusin myös parantaa laitteistoa, jotta ohjauspiirit olisivat joustavampia ja akun kuluminen vähenee. Tuloksena oleva pääpiirilevyn uudelleensuunnittelu ja koodin uudelleen kirjoittaminen tarjoaa mahdollisuuden keskustella ohjelmoinnista ja laitteistosuunnittelusta.

Aina kun luon piirilevyn, huomaan usein, että komponenttien suunnittelussa tai sijoittelussa on puutteita. Rakentamani levyt ovat myös yksi kahdesta poikkeuksesta. Lisäksi haluan olla mukana projektin kaikissa osissa alusta loppuun. Nämä ovat joitakin syitä siihen, miksi teen omia piirilevyjä sen sijaan, että lähetän Gerber -tiedostoja ulkomaille valmistettavaksi. Ehkä olen vain vanha ja juuttunut tieni. Tämä projekti heijastaa tätä puolueellisuutta. Koska teen itse piirilevyjä, mallini ja Gerber -tiedostoni eivät täytä valmistusstandardeja, en ole sisällyttänyt näitä tiedostoja. Ne, jotka eivät halua syövyttää ja viimeistellä levyjä, ovat tervetulleita valmistelemaan omia mallejaan ja lähettämään Gerber -tiedostot kommenttiosioon. Pyydä levyjä valmistamaan ja testaamaan ennen lähettämistä.

Vaihe 1: Laitteiston elementtien yleiskatsaus

Laite saa virtansa 4 AAA -paristosta ja sitä ohjaa Arduino Pro Mini 5V.

Pieni summeri/kaiutin antaa hälytyksen.

Pienikokoinen 5 voltin rele tarjoaa ohjausjännitteet ulkoisille laitteille. Tämän ohjausjännitelähteen lähde tarjoaa joustavuutta.

Painikkeella varustettu pyörivä anturi tarjoaa valikon valinnan.

OLED -näyttö ja hetkellinen käynnistys/pysäytyskytkin täydentävät käyttöliittymää.

Muita elektronisia laitteita ovat SPDT -virtakytkin ja pienoiskoossa oleva puhelinpistoke ulkoisten laitteiden liittämistä varten.

Lisäksi toimitetaan tiedostoja, jotka auttavat sinua tässä projektissa:

STL -tiedostot 3D -tulostetulle projektikotelolle.

Kupari- ja juotosmaskikuvat ohjauspiirilevyn ja kiertokooderin etsaukseen ja viimeistelyyn.

Kaavio- ja kartonkikuvat viitteenä niille, jotka haluavat muokata suunnittelua.

Voit halutessasi tarkastella ohjeistustani kaksipuolisten piirilevyjen luomisesta esimerkkinä piirilevyjen valmistusohjeista.

Vaihe 2: Ohjelmiston yleiskatsaus

Arduinon lähdetiedostojen lisäksi joitain lisätietoja, joista voi olla apua..

Laitteiston ohjauskirjastoja käytetään, kun ne ovat käytettävissä (painikkeiden poistuminen, OLED-ohjaus, kiertokooderin lukeminen).

Ohjelma toteuttaa yksinkertaisen äärellisen tilan koneen (FSM) ohjaamaan koodin suorittamista kytkentälausekkeena silmukkafunktiossa.

Valikkoluokka on määritetty sallimaan OLED -näytössä näkyvien vaihtoehtojen valinta ja kiertokooderin avulla.

Syöttö toteutetaan suoralla pollauksella (keskeytymätön), koska se ei ole aikakriittinen ja tekee koodista selkeämmän.

Tulosta lausekkeet sarjaan auttavat koodin suorittamisen ja virheenkorjauksen jäljittämisessä

Erilaisia ohjelmarakenne -elementtejä, mukaan lukien:

  • Useita koodivälilehtiä joidenkin laitteiston ohjaustoimintojen ja muuttujien eristämiseksi.
  • Vaihda lausekkeita asettaaksesi tila -arvon (FSM) ja ohjausmuuttujat.
  • Rakenteen määritelmä
  • Osoitukset, jotka mahdollistavat tila -arvojen osoittamisen tekstinä.
  • #define esiprosessorin määritelmät laitteiston pinille ja vakioarvoille.

Vaihe 3: Osaluettelo

Luo kotelo
Luo kotelo

En ollut varma, mihin tämä vaihe asetetaan, koska se voidaan tehdä melkein missä tahansa vaiheessa. Käytin 3D -tulostettua koteloa. Sinulla ei ehkä ole pääsyä 3D -tulostimeen tai et halua käyttää muita kotelotyyppejä, kuten alumiinilaatikkoa, laserleikattua muovia, käsin veistettyä puuta tai muuta tyyppiä, jota käytät sähköisiin projekteihisi. Olen sisällyttänyt STL -tiedostot ylä-, ala-, kiertokooderin nupille ja OLED -kehykselle. Käytä näitä tiedostoja ja valitsemasi leikkaajaa gcode -tiedostojen luomiseen tulostimellesi.

Tulostan kaikki osat käyttämällä PLA -filamenttia, yksi väri kotelon ylä- ja alaosassa, toinen kontrastivipu nupille ja kehykselle (joka on liimattu yläosaan.) En aio määrittää kaikkia leikkausasetuksiani, mutta käytä -Kuusikulmainen täyttö vähintään 35%, jotta kulmaruuvit voidaan koputtaa ja "ei tukea" -asetus viillotetun kirjaimen lukemiseksi. Tulostin laatikon tulostimeni "normaalilla" kerroksen korkeudella.

Vaihe 9: Suunnittelu- ja kirjoituskoodi

Tämä vaihe on valinnainen, mutta sitä suositellaan paremman ymmärryksen saavuttamiseksi.

Suurin osa työstä tunteina on koodin kirjoittaminen. Voit ohittaa tämän vaiheen, jos käytät liitteenä olevaa ohjelmaa nimellä -is. On kuitenkin suositeltavaa käyttää aikaa koodin tarkistamiseen, jotta ymmärrät paremmin tai muutat tarpeitasi.

Seuraavat kommentit voivat auttaa ymmärtämään tätä prosessia.

  • Kommentit - Kommentoi laajasti, kun menet - Kirjoitan usein kommentit ennen koodin kirjoittamista.
  • Jaa ja valloita - käytä toimintoja, luokkia ja moduuleja (välilehdet.) Käytä usein käännettyjä (Vahvista) -syntaksin tarkistamiseen. Virheenkorjaus - Tulostuslausekkeiden avulla voit tarkistaa virtaus- ja testausarvot sekä laitteistorajapinnat. Älä pelkää käsitellä ongelmia, kun menet, kukaan ei kirjoita koodia, joka on virheetön!
  • Vakiot - #define esikääntäjän ohjeet antavat nimet pin -numeroille. Const -muuttujien määritelmät ja kommentit vähentävät tai poistavat "Magic" -lukuja. Ohjelman tai toiminnon alussa olevien vakioiden käyttö mahdollistaa parametrien muuttamisen ilman koodin kirjoittamista uudelleen
  • Ennalta määritetyt kirjastot - Valmiiden kirjastojen käyttäminen vähentää ohjelmointitaakkaa ja virheenkorjausaikaa.
  • Suunnittelupalikat - Luotu toimintojen avulla, eristämällä koodi erillisille välilehdille (liittyvät ohjelmat ja.hfiles), luettelot, luokat ja rakenteet. Keskitä huomiosi jokaiseen, jotta ymmärrät, miten ne toimivat suhteessa muuhun koodiin.
  • Tilakoneet - Tämä on ohjelmointimalli, joka toimii erinomaisesti Arduinojen tai muiden ohjelmien kanssa, joita käytetään ohjaamaan ulostuloja tai reagoimaan tuloihin. Valtion koneiden makuja on useita. Tämä koodi käyttää silmukatoiminnon kytkinlausekkeeseen perustuvaa tilakonetta. Tämä lomake on helppo ymmärtää ja debug.
  • Näyttö ja valikot - OLED -lähtö on suppea, mutta antaa tarpeeksi palautetta satunnaisille käyttäjille ja tukee vaihtoehtojen valintaa. Se integroituu hyvin tilakoneeseen (lähes kaikissa tiloissa on OLED -näyttö). Valikkoluokka oli hyödyllinen koodin eristämisessä näytettäväksi ja valikkovaihtoehtojen valitsemiseksi

Lue ohjelma useita kertoja. Se auttaa ottamaan yhden toiminnon tai osan kerrallaan. Usein en ymmärrä kirjoittamaani koodia, ellet ole lukenut sitä vähintään kahdesti!

Vaihe 10: Asenna ohjelma

Kopioi liitteenä oleva tiedosto tietokoneellesi ja pura se Sketches -hakemistoosi

Liitä Arduino tietokoneeseen ja lataa ohjelmakoodi normaalisti. Avaa Arduino IDE -sarjanäyttö ja tarkista, että ohjelma on käynnissä, ja auta vianetsinnässä.

Vaihe 11: Kokoa ajastin

Kokoa ajastin
Kokoa ajastin
Kokoa ajastin
Kokoa ajastin
Kokoa ajastin
Kokoa ajastin
Kokoa ajastin
Kokoa ajastin

Kun kotelon ylä- ja alaosat on tulostettu ja puhdistettu, komponentit voidaan kiinnittää pienillä itsekierteittävillä muoviruuveilla. Ensin paristopidike napsautetaan taakse. Loput osat kiinnitetään kotelon yläosaan seuraavassa järjestyksessä:

  1. OLED ja kaapeli
  2. Käynnistys-/pysäytyskytkin ja johdotus
  3. Kiertokooderi ja kaapeli
  4. Kaiutin / summeri ja johdotus
  5. Ulkoinen ohjainliitin ja johdotus
  6. On/Off -liukukytkin ja johdotus (tarkista suunta uudelleen niin, että virta on haluttuun suuntaan

Jos juotat kaapeleita suoraan piirilevyyn, tee tämä sen jälkeen, kun kaikki osat on kiinnitetty koteloon lankojen katkeamisen vähentämiseksi. Odota, kunnes kaapelit on kytketty emolevyyn, ennen kuin ruuvaat levyn taakse.

Jos käytät nasta- ja Dupont -liittimiä, kiinnitä ensin emolevy ruuveihin ja kytke sitten komponentit sisään. Ole varovainen, kun liität akun emolevyyn ja noudata oikeaa napaisuutta. Sinun on myös asetettava releen ohjausjohtimet tai johdotus tällä hetkellä.

Kotelon pohja yhdistetään yläosaan käyttämällä 4-40 pyöreää koneruuvia, yksi kulmassa. Yläosan neljä reikää tulee joko napauttaa 4/40 hanalla tai jos käytät 4-40 kierreterää, sinun on porattava reiät hyväksyäksesi ne. Pääpiirilevyn pohjassa olevat 4 reikää on myös porattava. Kiinnitä tämä levy kiinnitettävään akkutelineeseen ja merkitse reikien paikat. Poraa kiinnitysruuveillesi sopivalla tavalla.

Vaihe 12: Integraatiotestaus

Integraation testaus
Integraation testaus
Integraation testaus
Integraation testaus
Integraation testaus
Integraation testaus

Lopullinen (integrointi) testaus suoritetaan kokeilemalla kaikkia valikkovaihtoehtoja ja varmistaen, että ne toimivat laitteiston kanssa suunnitellulla tavalla. Antamani koodin osalta sen pitäisi riittää. Jos kirjoitit oman koodisi tai muutit kaivostasi, testauksen on oltava laajempaa. En usko, että kaikkia ajoitusvalintoja on harjoiteltava, mutta sinun on kokeiltava kaikkia vakiohälytysvaihtoehtoja ja vahvistettava nukutus- ja meditaatiohälytykset toimimaan suunnitellusti.

Vaihe 13: Viimeiset ajatukset

Onnittelut onnistuneesta, toivottavasti projektistasi. Olen varma, että olet kohdannut matkan varrella ongelmia, jotka sinun on ratkaistava. Olen myös varma, että osa ohjeistani olisi voinut olla täydellisempi tai selkeämpi. Kerro minulle kommenttien kautta, mitkä tulokset olivat, ja esitä ehdotuksia näiden ohjeiden parantamiseksi.

Kiitos ajastasi tämän projektin katsomiseen ja/tai rakentamiseen.

Suositeltava: