Sisällysluettelo:
- Vaihe 1: Laitteiston elementtien yleiskatsaus
- Vaihe 2: Ohjelmiston yleiskatsaus
- Vaihe 3: Osaluettelo
- Vaihe 9: Suunnittelu- ja kirjoituskoodi
- Vaihe 10: Asenna ohjelma
- Vaihe 11: Kokoa ajastin
- Vaihe 12: Integraatiotestaus
- Vaihe 13: Viimeiset ajatukset
Video: Moniajastin ja ulkoinen ohjaus: 13 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tämä Instructable -projekti on monitoimilaitteen ajastin
Tämä ajastin voi toimia seuraavasti:
- 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.
- Uniajastin, jossa on 7 valittavaa aikaa, ajastin ja hälytys valmistumisen jälkeen.
- 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
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
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ä:
- OLED ja kaapeli
- Käynnistys-/pysäytyskytkin ja johdotus
- Kiertokooderi ja kaapeli
- Kaiutin / summeri ja johdotus
- Ulkoinen ohjainliitin ja johdotus
- 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
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:
Lisää ulkoinen kaiutin äänenlaadun parantamiseksi: 5 vaihetta
Lisää ulkoinen kaiutin äänenlaadun parantamiseksi: Tämän pienen kelloradion äänenlaatu oli kauheaa! Kaikki muu radiosta on hienoa, helppokäyttöinen, puhelimen lataus, näyttö jne. mitä isompi sen parempi
Ulkoinen VGA / GPU kannettaville tietokoneille EXP GDC Beastia käyttäen: 15 vaihetta (kuvien kanssa)
Ulkoinen VGA / GPU kannettaville tietokoneille EXP GDC Beast: Hei kaverit .. Tämä on ensimmäinen opetusohjelmani ohjeista. Englanti ei ole ensimmäinen kieleni, joten anna anteeksi kieliopilliset virheeni. Tein tämän kokemukseni perusteella kannettavan tietokoneen päivittämisestä. Enkä kyllästytä sinua pitkällä johdannolla, koska en tiedä mitään
Ulkoinen näyttö rikkoutuneesta kannettavasta tietokoneesta: 7 vaihetta
Ulkoinen näyttö rikkoutuneelta kannettavalta: Hei kaikille! Joten tämä on tapahtunut jo pitkään, mutta se on vihdoin valmis! Minulla oli noin vanha, toimimaton HP Pavillion -kannettava makaamassa, enkä voinut heittää sitä pois. Avasin sen ja kokoonpanin uudelleen pari kertaa, ja kuten näin
ESP8266 RGB LED STRIP WIFI -ohjaus - NODEMCU IR -kaukosäätimenä LED -nauhalle, jota ohjataan Wifin kautta - RGB LED STRIP -älypuhelimen ohjaus: 4 vaihetta
ESP8266 RGB LED STRIP WIFI -ohjaus | NODEMCU IR -kaukosäätimenä LED -nauhalle, jota ohjataan Wifin kautta | RGB LED STRIP -älypuhelimen ohjaus: Hei kaverit tässä opetusohjelmassa opimme käyttämään nodemcu- tai esp8266 -laitetta IR -kaukosäätimenä RGB -LED -nauhan ohjaamiseen ja Nodemcu ohjataan älypuhelimella wifi -yhteyden kautta. Joten periaatteessa voit ohjata RGB -LED -nauhaa älypuhelimellasi
Ulkoinen Winamp -ohjaus: 4 vaihetta
Ulkoinen Winamp -ohjaus: Nykyään Winampilla on täysi tuki pikanäppäimille. Mutta jonkin aikaa, kun Winampilla ei ollut tätä ominaisuutta, ajattelin jollakin tavalla tehdä helpoksi tavan vaihtaa musiikkia yksinkertaisesti painamalla yhtä painiketta, se nopeuttaisi asioita ja