Sisällysluettelo:

Arduino -pohjainen binaarinen herätyskello: 13 vaihetta (kuvilla)
Arduino -pohjainen binaarinen herätyskello: 13 vaihetta (kuvilla)

Video: Arduino -pohjainen binaarinen herätyskello: 13 vaihetta (kuvilla)

Video: Arduino -pohjainen binaarinen herätyskello: 13 vaihetta (kuvilla)
Video: I Tested Banned Alarm Clocks 2024, Marraskuu
Anonim
Image
Image

Seuraa lisää tekijältä:

DIY Laser People -laskuri
DIY Laser People -laskuri
Itseohjaavan veneen rakentaminen (ArduPilot Rover)
Itseohjaavan veneen rakentaminen (ArduPilot Rover)
Itseohjaavan veneen rakentaminen (ArduPilot Rover)
Itseohjaavan veneen rakentaminen (ArduPilot Rover)
Täydellinen yölamppu ja puhelintelakka
Täydellinen yölamppu ja puhelintelakka
Täydellinen yölamppu ja puhelintelakka
Täydellinen yölamppu ja puhelintelakka

Tietoja: Hei, nimeni on Jan ja olen valmistaja, rakastan rakentamista ja luomista, ja olen myös melko hyvä korjaamaan tavaraa. Koska voin ajatella, että olen aina rakastanut uusien asioiden luomista, ja sitä teen aina, kunnes… Lisätietoja Basement Engineeringistä »

Hei, tänään haluaisin näyttää teille, kuinka rakentaa yksi uusimmista projekteistani, binäärinen herätyskelloni.

Internetissä on paljon erilaisia binaarikelloja, mutta tämä saattaa olla ensimmäinen, joka on valmistettu värikkäiden osoitettavien LED -valojen nauhasta, jossa on myös hälytystoiminto ja kosketuspainikkeet ajan ja värin asettamiseksi.

Älä anna sen monimutkaisen ulkonäön pelotella sinua. Pienellä selityksellä binaarilukeminen ei todellakaan ole niin vaikeaa kuin miltä se näyttää. Ja jos olet valmis oppimaan jotain uutta, haluaisin auttaa sinua tekemään sen myöhemmin.

Kerron teille hieman tämän projektin taustasta:

Suunnittelin alun perin "normaalin" kellon rakentamista, joka käyttää LED -valoja käsillään, mutta minulla ei ollut tarpeeksi LED -valoja käsillä.

Mitä teet, kun haluat näyttää ajan mahdollisimman vähän LED -valoja?

Menet binaariksi, ja juuri näin tein täällä.

Tämä kello on laatuaan kolmas versio. Rakensin hyvin yksinkertaisen prototyypin heti sen jälkeen, kun hankeidea osui minuun, ja vein sen Maker Fairelle Hannoveriin katsomaan, mitä ihmiset ajattelevat siitä. Siellä ollessani sain paljon erittäin positiivista ja mielenkiintoista palautetta sekä parannusideoita.

Kaikkien näiden ideoiden ja tuntikausien ajattelun, tinkimisen ja ohjelmoinnin tulos on tämä melko mielenkiintoisen näköinen pieni herätyskello, jossa on paljon enemmän ominaisuuksia kuin versio 1.0, ja tänään aiomme käydä läpi kaikki rakennusprosessin vaiheet, joten voit rakentaa sellaisen helposti itse.

Youtubessa on myös erittäin yksityiskohtainen video, jos et halua lukea kaikkea.

Vaihe 1: Hanki tavarasi

Hanki tavarasi
Hanki tavarasi
Hanki tavarasi
Hanki tavarasi
Hanki tavarasi
Hanki tavarasi

Tässä on pieni luettelo kaikista komponenteista ja työkaluista, joita tarvitset oman binaarikellon rakentamiseen.

Elektroniikka:

  • 18 osoitettavaa Ws2811 -LEDiä (esim. Neopikselit) nauhalla, jossa 60 LEDiä / m
  • Arduino Nano (ATMega328 -prosessorilla) (ebay)
  • 1307 RTC -moduuli (ebay)
  • 4X kapasitiivinen kosketuspainike (ebay)
  • bs18b20 digitaalinen lämpötila -anturi (ebay)
  • LDR (ebay)
  • kannettavan tietokoneen/älypuhelimen kaiutin tai pietsosummeri
  • 2222A NPN -transistori (tai jotain vastaavaa)
  • miesten otsikot
  • kulmaiset naarasotsikot (ebay)
  • 1 kOhm vastus
  • 4, 7 kOhm vastus
  • 10 kOhm vastus
  • Johdot
  • 7x5cm prototyyppipiirilevyn 24x18 reikää (ebay)
  • hopealanka (korulanka) (ebay)
  • 90 ° mini usb -sovitin (ebay)

Muut materiaalit

  • Vinyylikääre
  • 4X 45mm m4 laippapääruuvit (ebay)
  • 32X m4 metalliset aluslevyt
  • 4X m4 lukkomutteri
  • 28X m4 mutteri
  • 4X 10mm m3 messinkinen piirilevy (ebay)
  • 8X 8mm m3 ruuvi (ebay)
  • arkki alumiinia
  • 2 mm arkki maitomaista akryyliä
  • 2 mm arkki kirkasta akryyliä
  • 3 mm MDF -levy
  • kaksipuolinen teippi

Työkalut

  • mini -USB -kaapeli
  • tietokone, jossa on Arduino IDE
  • 3,5 mm: n poranterä
  • 4,5 mm: n poranterä
  • porakone
  • leikkuuterä
  • selviytysaha
  • juotosioni
  • metallin leikkaavat sakset
  • tiedosto
  • hiekkapaperi

Mallit (nyt mitat)

  • PDF
  • Ilmainen Office Draw

Koodi

  • Luonnokset
  • Painikkeiden kirjasto
  • Ajastinkirjasto
  • Jukebox -kirjasto
  • Muokattu RTClib
  • Adafruit Neopixel -kirjasto
  • Arduino-lämpötilanhallinta-kirjasto

Vaihe 2: Leikkaa etu- ja takapaneeli

Leikkaa etu- ja takapaneeli
Leikkaa etu- ja takapaneeli
Leikkaa etu- ja takapaneeli
Leikkaa etu- ja takapaneeli
Leikkaa etu- ja takapaneeli
Leikkaa etu- ja takapaneeli
Leikkaa etu- ja takapaneeli
Leikkaa etu- ja takapaneeli

Ensimmäinen kappale, jonka aiomme tehdä, on akryylinen etupaneeli. Merkitsemme mihin haluamme leikata, mutta pidämme mielessä, että haluamme hiukan suvaitsevaisuutta hiomiseen. Sitten vain kaavimme akryylin leikkausveitsellämme. Kun olemme tehneet sen 10–20 kertaa, meillä on ura. Voimme sitten sijoittaa lehdon pöydän reunaan ja taivuttaa akryylia, kunnes se rikkoutuu.

Kun etupaneeli on leikattu oikeaan kokoon, leikkaamme takapaneelin pois MDF -palasta. Voimme käyttää selviytymisahaamme tähän, mutta myös leikkuuterä toimii. Meidän on vain kiinnitettävä MDF -levy puuraaka -aineeseen ja raaputettava sitä leikkuuterällämme, kunnes terä menee läpi ja meillä on kaksi yksittäistä kappaletta.

Nyt me kerrostamme kaksi paneelia yhteen ja hiomme molemmat puolet täysin kohdakkain.

Kun tämä on tehty, leikkasimme ensimmäisen mallin pois ja asetimme sen kahden paneelin päälle teipillä ja aloitimme merkittyjen reikien poraamisen.

Poraa ensin 4, 5 mm reikä jokaiseen 4 kulmaan. Koska akryyli on erittäin hauras ja emme halua sen rikkoutuvan, aloitamme pienellä poranterällä ja jatkamme matkaa ylöspäin, kunnes saavutamme halutun reiän halkaisijan. Sitten käytämme mallia hiomalla kulmat oikeaan muotoon.

Vaihe 3: Viimeistele takapaneeli

Viimeistele takapaneeli
Viimeistele takapaneeli
Viimeistele takapaneeli
Viimeistele takapaneeli
Viimeistele takapaneeli
Viimeistele takapaneeli
Viimeistele takapaneeli
Viimeistele takapaneeli

Toistaiseksi voimme laittaa etupaneelin sivuun ja kiinnittää toisen mallin takapaneeliin, jossa meidän on käytettävä 3, 5 mm: n poranterää reikien poraamiseen 4 pc: n seisokkeihimme sekä 4 reikää, jotka merkitsevät reunat pienelle takaikkunalle.

Leikkaamme sitten ikkunan ulos ja tasoitamme reunat viilillä leikkaussahallamme. Et myöskään halua unohtaa porata reikää mini -USB -kaapelille (olen kuullut yhdestä ei niin keskittyneestä valmistajasta, jolla on tapana tehdä tällaisia asioita: D).

Kun olemme nyt lopettaneet takapaneelin leikkaamisen, voimme jatkaa sen käärimistä vinyylikääreeseen. Leikkaamme vain kaksi kappaletta oikean kokoisiksi ja levitämme ensimmäisen toiselle puolelle. Sitten leikkasimme vanteet pois ja vapautimme ikkunan. Hiustenkuivaaja voi saada kaikki reiät näkymään uudelleen, joten voimme myös leikata ne pois. Kun olemme tehneet saman asian toiselle puolelle, käytämme seuraavaa malliamme ja kaavinta- ja rikkoutumistekniikkaamme pienen akryyli -ikkunan tekemiseen takapaneelillemme.

Vaihe 4: Tee LED -paneeli

Tee LED -paneeli
Tee LED -paneeli
Tee LED -paneeli
Tee LED -paneeli
Tee LED -paneeli
Tee LED -paneeli

Nyt tulemme tämän projektin kohokohtaan sen kirjaimellisessa merkityksessä. LED -paneeli.

Leikkaamme metallileikkaussaksillamme 12,2 x 8 cm: n kappaleen metallilevystä. Ole varovainen tehdessäsi tätä, koska sakset muodostavat erittäin teräviä reunoja. Aiomme tasoittaa ne tiedostolla ja hiomapaperilla. Sitten lisäämme seuraavan mallimme porataksesi reikiä ruuveille ja johtimille.

Aika valmistella todelliset LEDit.

Ensin leikkasimme ne kolmeen kuuden LED -nauhan nauhaan. Joissakin LED -nauhoissa on erittäin ohut liimakerros tai ei lainkaan liimaa, joten kiinnitämme nauhat kaksipuolisen teipin palan päälle ja leikataan se veitsellä. Tämä saa sen tarttumaan metallilevyyn ja, vaikka tämä ei ole ammattimainen ratkaisu, se eristää kuparityypit alla olevasta metallipinnasta.

Ennen kuin kiinnitämme nauhat paneeliin, puhdistamme sen alkoholilla. Kun kiinnitämme LED -valoja, meidän on varmistettava, että asetamme ne oikeaan paikkaan ja oikeaan suuntaan. LED -nauhan pienet nuolet osoittavat suunnan, johon data kulkee nauhan läpi.

Kuten näet viidennessä kuvassa, tietorivimme tulee paneelin vasemmasta yläkulmasta, kulkee ensimmäisen nauhan läpi oikealle puolelle, kuin takaisin seuraavan nauhan alkuun vasemmalla ja niin edelleen. Joten kaikkien nuoliemme on osoitettava oikealle puolelle.

Kuumenna juotosioni ja laita tinaa kuparityynyjen päälle sekä lankaamme. Tietolinjat on kytketty kuten juuri kuvailin, kun taas yksinkertaisesti kiinnitämme nauhan plus- ja miinustyynyt rinnakkain.

Kun nauhat on kytketty, nostamme veitsellämme varovasti jokaisen nauhan päitä pitäen samalla LEDit alhaalla, joten ne osoittavat edelleen ylöspäin. Sitten laitamme kuumaliimaa alle juotosliitosten eristämiseksi.

Kun tämä on tehty ja lisäämme muutamia otsikkotappeja piirilevyyn meneviin johtoihin. Johtojen tulee olla noin 16 cm pitkiä. Ollaksemme erityisen varmoja siitä, että metallipaneeli ei oikosulje mitään, käytämme yleismittaria kaikkien nastojen välisen vastuksen mittaamiseen. Jos se näyttää jotain yli 1 kOhm, kaikki on kunnossa.

Nyt voimme kytkeä sen Arduinoon, suorittaa säikeetestin ja nauttia väreistä.

Vaihe 5: Tee valo -opas

Tee valo -opas
Tee valo -opas
Tee valo -opas
Tee valo -opas
Tee valo -opas
Tee valo -opas
Tee valo -opas
Tee valo -opas

Jos asetamme led -paneelimme aivan maitomaisen akryylin taakse, voi olla melko hankalaa erottaa yksittäiset LEDit toisistaan. Tämä vaikeuttaisi kellomme lukemista entisestään.

Tämän ongelman ratkaisemiseksi teemme itsellemme pienen valo -oppaan. Tätä varten leikkasimme vain toisen MDF -palan, joka on saman kokoinen kuin etupaneeli. Sitten lisäämme siihen vielä yhden mallin ja poraamme kahdeksantoista 3, 5 mm: n reikää LED -valoja varten sekä neljä 4, 5 mm: n reikää ruuveihin. Voimme sitten kiinnittää sen etupaneeliin ja kohdistaa ne hiomapaperilla.

Kuten viimeisessä kuvassa näkyy, valo näyttää nyt paljon tarkemmalta.

Vaihe 6: Tee painikehys

Tee napin kehys
Tee napin kehys
Tee napin kehys
Tee napin kehys
Tee napin kehys
Tee napin kehys

Viimeinen kotelon osa, jonka aiomme tehdä, on napin kehys.

Me taas leikataan pala MDF -levyä oikean kokoiseksi ja lisätään siihen malli, sitten poraamme kaikki tarvittavat reiät ja leikataan keskiosa leikkaussahallamme.

Kehyksemme on tarkoitus pitää neljä kosketuspainiketta, valoanturi ja pieni kaiutin paikallaan. Ennen kuin voimme kiinnittää ne runkoon, leikkaamme MDF -levystä pari pienempää peitekappaletta. Liimaamme sitten komponentit kuumasaumojen päälle ja lisäämme niihin johtoja.

Kosketuspainikkeen virtalähteet on kytketty rinnakkain, ja jokainen lähtölinja saa erillisen johdon. Tämä on myös hyvä hetki testata, toimivatko kaikki. Koska valoanturi tarvitsee 5 volttia toiselta puolelta, voimme yksinkertaisesti kytkeä sen hälytyspainikkeiden VCC -tyynyyn ja juottaa johdon toiseen jalkaan.

Paneelien valmistelun jälkeen leikataan kehyksen sivuille, jotta niille ja niiden johtimille olisi tilaa.

Sitten poistamme puupölyn kaikista kappaleista pölynimurilla ja peitämme ne vinyylikääreellä.

Käytämme tarkkuusveitsiä vinyylin palojen poistamiseen suoraan kosketusmoduuliemme herkkien alueiden yläpuolelta. Kaksipuolisen teipin avulla voimme liittää omat painikkeet MDF -levyyn. Tein napit kumivaahdosta, mikä antaa niille mukavan pehmeän tekstuurin, mutta voit käyttää mitä tahansa ei-metallista materiaalia.

Kehyksessä vapautamme veitsellämme hieman MDF -levyä uudelleen, mikä antaa meille tarttuvan pinnan kuumaliimalle. Sitten voimme vihdoin liimata komponentit kehyksemme sivuille.

Vaihe 7: Juotetaan pääpiirilevy

Juotos pääpiirilevy
Juotos pääpiirilevy
Juotos pääpiirilevy
Juotos pääpiirilevy
Juotos pääpiirilevy
Juotos pääpiirilevy

Jätetään kehys sellaisenaan ja siirrytään piirilevyyn. Näet piirilevyn asettelun ensimmäisessä kuvassa.

Aloitamme asettamalla alimman profiilin komponentit piirilevylle. Pienimmät komponentit ovat vaakasillat, jotka muistin hieman liian myöhään, joten aloitin vastuksista. Juotamme komponentit paikoilleen ja siirrymme seuraavaan korkeampaan komponenttisarjaan.

Seuraavaksi meillä on naaraspuoliset otsikkotapit. Asennamme ne 90 asteen kulmassa säästääksesi tilaa ja liittääksemme elektroniikkamme sivulta.

Transistorit eivät todellakaan sovi PCB: n 2, 54 mm: n reikäväleihin, joten käytämme pihtejämme taivuttamaan jalat varovasti toisessa kuvassa näytettyyn muotoon. Juotamme ensin toisen jalan paikoilleen ja käännämme piirilevyn ympäri. Lämmitämme sitten juotosliitoksen uudelleen ja käytämme sormeamme tai pihtejä komponentin sijoittamiseen oikein. Nyt voimme juottaa kaksi muuta jalkaa paikoilleen.

Kaikkien pienten komponenttien jälkeen juotamme Arduinomme ja reaaliaikaisen kellomoduulimme paikoilleen. RTC -moduuli ei myöskään sovi reikien väleihin niin hyvin, joten aiomme varustaa vain sen puolen, jossa on 7 juotoslevyä ja nastatapit. Lisäksi asetamme teippiä sen alle oikosulkujen estämiseksi.

Koska kaikki komponentit on juotettu paikoilleen, on nyt aika tehdä liitännät levyn toiselle puolelle. Tätä varten poistamme eristämättömän johdon. Pihtejä voidaan käyttää suoristamiseen. Leikataan sitten lanka pienemmiksi paloiksi ja juotetaan se piirilevyyn.

Liitännän tekemiseksi lämmitämme juotosliitoksen ja työnnämme langan sisään. Pidämme sitten juotosionia sen päällä, kunnes se saavuttaa oikean lämpötilan ja juote sulkee sen ja saamme liitoksen, joka näyttää kuvassa näkyvältä. Jos emme lämmitä lankaa, saatamme päätyä kylmään liitokseen, joka näyttäisi samanlaiselta kuin toinen esimerkki eikä johda kovin hyvin. Voimme käyttää lankaleikkuriamme työntääksesi langan alas juottamisen aikana ja varmistaaksemme, että se on tasainen piirilevylle. Pidemmillä liitäntäreiteillä juotamme sen yhdelle tyynylle 5-6 reiän välein, kunnes saavutamme kulman tai seuraavan komponentin.

Kulmassa leikataan lanka juotoslevyn ensimmäisen puoliskon yläpuolelle ja juotetaan pää siihen. Otamme sitten uuden langan ja jatkamme sieltä suorassa kulmassa.

Tyhjien lankakytkentöjen tekeminen on melko hankalaa ja vaatii jonkin verran taitoa, joten jos teet tämän ensimmäistä kertaa, ei todellakaan ole huono idea harjoitella sitä romu -piirilevyllä ennen kuin yrität tehdä sen oikealla.

Juottamisen jälkeen tarkistamme liitännät uudelleen ja varmistamme, ettemme aiheuttaneet oikosulkuja. Sitten voimme laittaa piirilevyn painikehyksen sisään ja käyttää sitä viitteenä tarvittaville kehyslankojen pituuksille. Leikkasimme sitten nuo johdot oikean pituisiksi ja lisäsimme niihin urospistoke -nastat.

Kaikki kosketuspainikkeiden 5 V: n ja maaliitännät yhdistyvät 2 -napaiseksi liittimeksi. 4 lähtöjohtoa saavat 4 -napaisen liittimen ja valotunnistinlinja sekä kaksi kaiutinjohtoa yhdistetään kolminapaiseksi liittimeksi. Älä unohda merkitä jokaisen pistorasian ja liittimen toista puolta terävällä teipillä tai teipillä, jotta et vahingossa liitä niitä väärin.

Vaihe 8: Kokoa kello

Kokoa kello
Kokoa kello
Kokoa kello
Kokoa kello
Kokoa kello
Kokoa kello
Kokoa kello
Kokoa kello

Tämän jälkeen palasin takaisin etupaneeliin ja kiinnitin viimeisenä kosketuksena varovasti läpinäkyvästä lasertulostinkalvosta valmistetun tarran.

Vaikka käytin sitä hyvin varovasti, en voinut saada kuplittomia tuloksia, mikä näkyy valitettavasti selvästi tarkemmin tarkasteltaessa. Kalvo ei myöskään tartu kulmiin kovin hyvin, joten en voi todella suositella tätä ratkaisua.

Se voitaisiin todennäköisesti tehdä paremmalla tarralla, tai jos olet hyvä piirtämään, voit lisätä numerot terävällä.

Nyt meillä on kaikki komponentit ja voimme koota kellomme.

Aloitamme yhdistämällä valo -ohjain ja etupaneeli yhteen. Kun kaikki 4 ruuvia ovat paikoillaan, kohdistamme kaksi paneelia ja kiristämme ne. Pari pähkinää myöhemmin tulee valopaneeli, jossa meidän on katsottava suuntaa. Kaapelin tulee olla ylhäällä.

Kolmas osa on napin kehys. Muista, että etupuolelta katsottuna kaiuttimen tulisi olla kellon oikealla puolella. Vedä led -paneelin kaapeli kehyksen keskikohdan läpi ennen kuin kiinnität sen paikalleen.

Nyt asetamme etuasennuksen apun ja siirrymme takapaneeliin. Kuvassa näet myös kauniin itse tekemäni 90 asteen mini -USB -sovittimen. Linkitin sinulle sopivan sovittimen, joten sinun ei tarvitse käsitellä tällaista sotkua. Voit yksinkertaisesti kytkeä sovittimen ja viedä kaapelin takapaneelin reiän läpi.

Otamme M3 -ruuvit ja PCB -välikappaleet pienen ikkunan korjaamiseksi. On tärkeää kiristää ruuvit huolellisesti, koska emme halua vahingoittaa akryyliamme. Otamme sitten piirilevyn, kytkemme sovittimen ja kiinnitämme sen välikappaleisiin. Komponenttipuolen tulee olla ikkunaa kohti, kun taas Arduinon USB -portti on kellon alaosaa kohti.

Kytke sitten kaikki etupaneelin liittimet sisään pitäen napaisuus mielessä ja purista kaikki johdot varovasti kelloon. Voimme sitten sulkea sen takapaneelilla ja kiristää 4 jäljellä olevaa lukkomutteria.

Lopuksi haluat, että aluslevy on jokaisen paneelin joka puolella, kun taas valo -ohjain on sijoitettu suoraan etupaneelin taakse. Valo -ohjaimen ja led -paneelin välissä on yksi mutteri ja kaksi muuta, jotka erottavat sen painikehyksestä. Sen näkee myös viimeisessä kuvassa.

Koska käytin lyhyitä pultteja, joiden pituus oli 40 mm, minulla on vain 3 mutteria, jotka pitävät takapaneelin ja rungon erillään. Oikeilla 45 mm: n pulteilla lisäisit tähän toisen mutterin sekä yhden tai kaksi ylimääräistä aluslevyä. Asennuksen lopussa meillä on lukkomutteri, jotta kaikki pysyy paikallaan.

Vaihe 9: Lataa koodi ja kalibroi valoanturi

Lataa koodi ja kalibroi valoanturi
Lataa koodi ja kalibroi valoanturi
Lataa koodi ja kalibroi valoanturi
Lataa koodi ja kalibroi valoanturi
Lataa koodi ja kalibroi valoanturi
Lataa koodi ja kalibroi valoanturi

On aika ladata koodimme.

Lataa ensin kaikki tarvittavat tiedostot ja pura ne. Avaamme sitten Arduino -kirjastojen kansion ja pudotamme kaikki uudet kirjastot siihen.

Nyt avaamme valoanturin kalibrointiluonnoksen, joka antaa meille kellon automaattisen himmentimen kirkkaat ja tummat arvot. Lähetämme sen, avaamme sarjamonitorin ja noudatamme näytön ohjeita.

Kun tämä on tehty, avaamme binaarikellojen todellisen koodin ja korvaamme kaksi arvoa juuri mitatuilla arvoilla.

Suljemme kaikki muut ikkunat, lataamme koodin kelloon ja olemme valmiita.

Aika leikkiä uudella gadgetillamme.

Vaihe 10: Nopea johdanto binaarijärjestelmään

Pikaesittely binaarijärjestelmään
Pikaesittely binaarijärjestelmään
Pikaesittely binaarijärjestelmään
Pikaesittely binaarijärjestelmään
Pikaesittely binaarijärjestelmään
Pikaesittely binaarijärjestelmään
Pikaesittely binaarijärjestelmään
Pikaesittely binaarijärjestelmään

Ennen kuin jatkamme, haluaisin vastata yhteen kysymykseen, joka on todennäköisesti jo käynyt mielessäsi, "Miten ihmeessä sinä luet tätä kelloa?"

Tätä varten haluaisin esitellä teille lyhyen johdannon binaarijärjestelmään.

Olemme kaikki tuttuja desimaalijärjestelmälle, jossa jokaisella numerolla voi olla 10 eri tilaa, jotka vaihtelevat 0: sta 9. Binäärinä jokaisella numerolla voi olla vain kaksi tilaa, joko 1 tai 0, minkä vuoksi voit käyttää jotain yksinkertaista näyttää binääriluvun.

Jos haluat näyttää desimaaliluvun, joka on suurempi kuin 9, lisäämme lisää numeroita. Jokaisessa numerossa on tietty kerroin. Ensimmäisellä oikealla olevalla numerolla on kertoja 1, seuraava on 10 ja seuraava on 100. Jokaisella uudella numerolla kerroin on kymmenen kertaa suurempi kuin edellinen numero. Tiedämme siis, että numero kaksi sijoittaa yhden numeron vasemmalle, edustaa numeroa 20. Kaksi numeroa vasemmalla on 200.

Binaarijärjestelmässä jokaisen numeron mukana tulee myös kerroin. Koska jokaisella numerolla voi kuitenkin olla vain kaksi eri tilaa, jokainen uusi kerroin on kaksi kertaa suurempi kuin edellinen. Ja muuten, binaarilukuja kutsutaan biteiksi. Katsotaanpa siis ensimmäistä esimerkkiämme, jos asetamme 1 alimpaan asemaan, se on yksinkertainen 1, mutta jos asetamme sen seuraavaan korkeampaan asemaan, jossa kertoimemme on 2, se edustaa numeroa 2 binäärissä.

Entä hieman hankalampi esimerkki kuvan alaosassa. Kolmas ja ensimmäinen bitti ovat päällä. Täällä esitetyn desimaaliluvun saamiseksi yksinkertaisesti lisäämme kahden bitin arvot. Joten 4 * 1 + 1 * 1 tai 4 + 1 antaa meille numeron 5.

8 bittiä kutsutaan tavuksi, joten katsotaanpa, minkä luvun saamme, jos täytämme kokonaisen tavun.1+2+4+8+16+32+64+128 eli 255, mikä on korkein yksittäisen tavun arvo.

Muuten, vaikka desimaalijärjestelmässä numero, jolla on suurin kerroin, tulee aina ensin, sinulla on kaksi tapaa kirjoittaa numero binaariin. Näitä kahta menetelmää kutsutaan vähiten merkitseväksi tavuksi ensin (LSB) ja merkittävimmäksi tavuksi ensin (MSB). Jos haluat lukea binääriluvun, sinun on tiedettävä, kumpaa muotoa käytetään. Koska se on lähempänä desimaalijärjestelmää, binaarikellomme käyttää MSB -varianttia.

Palataanpa todelliseen esimerkkiimme. Kuten kuudes kuva korostaa, kellossamme on 4 bittiä tuntien näyttämiseksi. Kuin meillä on 6 bittiä minuutille ja myös 6 bittiä toiselle. Lisäksi meillä on yksi am/pm -bitti.

Selvä, kerro minulle paljonko kello on kuudennessa kuvassa kuin siirry viimeiseen kuvaan.. ….

Tuntiosassa meillä on 2+1, joka on 3 ja pm -bitti on päällä, joten on ilta. Seuraavaksi minuutti 32+8, eli 40. Sekunteina meillä on 8+4+2, joka on 14. Joten kello on 15:40:14 tai 15:40:14.

Onnittelut, opit juuri lukemaan binaarikellon. Tietenkin se vaatii jonkin verran totuttelua ja alussa sinun on lisättävä numerot yhteen, aina kun haluat tietää, paljonko kello on, mutta samoin kuin analoginen kello ilman valitsinta, totut LED -valojen kuvioihin aika.

Ja tämä on osa tätä projektia, kun otetaan binaarijärjestelmästä jotain niin abstraktia todelliseen maailmaan ja opitaan tuntemaan se paremmin.

Vaihe 11: Binaarisen herätyskellon käyttäminen

Binaarisen herätyskellon käyttäminen
Binaarisen herätyskellon käyttäminen
Binaarisen herätyskellon käyttäminen
Binaarisen herätyskellon käyttäminen
Binaarisen herätyskellon käyttäminen
Binaarisen herätyskellon käyttäminen

Nyt haluamme vihdoin leikkiä kellon kanssa, joten katsotaanpa nopeasti säätimiä.

Ohjelmisto voi erottaa yhden painikkeen, kaksoisnapautuksen ja pitkän napautuksen. Joten jokaista painiketta voidaan käyttää useisiin toimintoihin.

Kaksoisnapauttamalla ylös- tai alas -painiketta muutat LED -valon väritilan. Voit valita erilaisten staattisten ja häipyvien väritilojen sekä lämpötilatilan välillä. Jos olet jossakin staattisissa väritiloissa, väri ylös tai alas painettuna muuttaa väriä. Häipymistilassa yksi napautus muuttaa animaatioiden nopeutta.

Voit asettaa himmentimen kaksoisnapauttamalla ok -painiketta. LED -paneeli osoittaa asetetun tilan vilkuttamalla useita kertoja.

  • Yksi kerta tarkoittaa, ettei himmennystä ole.
  • Kaksi kertaa tarkoittaa, että kirkkautta ohjataan valoanturilla.
  • Kolme kertaa ja LED -valot sammuvat automaattisesti 10 sekunnin käyttämättömyyden jälkeen.
  • Neljä kertaa ja molemmat himmennintilat yhdistetään.

Pitkä painallus ok -painiketta tuo sinut ajan asetustilaan, jossa voit muuttaa numeroa ylös- ja alas -nuolilla. Yksi napautus ok -painikkeeseen vie sinut tuntista minuutteihin, yksi napautus lisää ja voit asettaa sekunnit. Sen jälkeen viimeinen napautus säästää uuden ajan. Jos astut vahingossa ajan asetustilaan, voit vain odottaa 10 sekuntia ja kello siirtyy automaattisesti pois.

Kuten ok -painikkeen kohdalla, hälytyspainikkeen pitkä painallus mahdollistaa hälytyksen asettamisen. Hälytyspainikkeen kaksoisnapauttaminen ottaa hälytyksen käyttöön tai poistaa sen käytöstä.

Jos kello soi, napauta hälytyspainiketta, lähetä se nukkumaan 5 minuutiksi tai pidä sitä painettuna poistaaksesi hälytyksen virran.

Nämä olivat kaikki kellon tähänastiset toiminnot. Saatan lisätä tulevaisuudessa lisää, joita saat, jos lataat uusimman laiteohjelmistoversion.

Vaihe 12: Koodin ymmärtäminen (valinnainen)

Koodin ymmärtäminen (valinnainen)
Koodin ymmärtäminen (valinnainen)

Tiedän, että monet ihmiset eivät pidä ohjelmoinnista kovin paljon. Näiden ihmisten onneksi tämän binaarikellon rakentamiseen ja käyttöön ei tarvita ohjelmointitaitoja. Joten jos et välitä ohjelmointipuolelta, voit ohittaa tämän vaiheen.

Jos kuitenkin olet kiinnostunut koodausosasta, haluaisin antaa sinulle yleiskatsauksen ohjelmasta.

Kellokoodin jokaisen pienen yksityiskohdan selittäminen olisi itsessään Instructable, joten pidän sen yksinkertaisena selittämällä ohjelman olio -suuntautuneella tavalla.

Jos et tiedä mitä se tarkoittaa, olio -ohjelmointi (OOP) on käsite useimmista nykyaikaisista ohjelmointikielistä, kuten C ++. Sen avulla voit järjestää erilaisia toimintoja ja muuttujia ns. Luokkiin. Luokka on malli, josta voit luoda yhden tai useita objekteja. Jokainen objekti saa nimen ja muuttujat.

Esimerkiksi kellon koodi käyttää useita MultiTouchButton -objekteja, kuten alarmButton. Nämä ovat kohteita MultiTouchButton -luokasta, joka on osa Button -kirjastoani. Näissä esineissä on hienoa, että voit käyttää niitä samankaltaisesti kuin todellisia esineitä. Voimme esimerkiksi tarkistaa hälytyspainiketta kaksoisnapauttamalla soittamalla alarmButton.wasDoubleTapped (). Lisäksi tämän toiminnon toteutus on hienosti piilotettu toiseen tiedostoon, eikä meidän tarvitse huolehtia sen rikkomisesta muuttamalla mitään muuta koodissamme. Nopea pääsy olio -ohjelmoinnin maailmaan löytyy Adafruitin verkkosivustolta.

Kuten yllä olevasta kuvasta näkyy, kello -ohjelmassa on joukko erilaisia objekteja.

Puhuimme juuri painikeobjekteista, jotka voivat tulkita tulosignaaleja napautuksena, kaksoisnapautuksena tai pitkään painalluksena.

Jukeboksi voi nimensä mukaisesti aiheuttaa melua. Siinä on useita melodioita, jotka voidaan toistaa pienen kaiuttimen kautta.

BinaryClock -objekti hallitsee aikaa ja hälytysasetuksia sekä hälytysten katsomista. Lisäksi se saa ajan RTC -moduulista ja muuntaa sen binääriseksi informaatiopuskuriksi led -paneelille.

ColorController kiteyttää kaikki väritehosteet ja tarjoaa väripuskurin led -paneelille. Se säästää myös sen tilan Arduinos EEPromissa.

Himmennin huolehtii kellojen kirkkaudesta. Siinä on erilaisia tiloja, joita käyttäjä voi selata. Nykyinen tila tallennetaan myös EEPromiin.

Led -paneeli hallitsee eri puskureita kunkin LED -valon väri-, kirkkausarvon ja binääritilan suhteen. Aina kun pushToStrip () -toimintoa kutsutaan, se peittää ne ja lähettää ne led -nauhalle.

Kaikki objektit on "kytketty" päälaitteen kautta (tiedosto, jossa on asennus- ja silmukkatoiminnot), joka sisältää vain pari toimintoa kolmen olennaisen tehtävän suorittamiseen.

  1. Käyttäjän syötteen tulkinta - Se saa syötteen 4 painikkeen objekteista ja asettaa ne logiikan läpi. Tämä logiikka tarkistaa kellon nykyisen tilan määrittääkseen, onko kello normaalissa, aika -asetuksessa vai soitto -tilassa ja kutsuu eri toimintoja muista objekteista vastaavasti.
  2. Objektien välisen kommunikaation hallinta - Se kysyy jatkuvasti binaryClock -objektilta, onko sillä saatavilla uutta tietoa tai onko hälytys Soi (). Jos sillä on uutta tietoa, se hakee informationBufferin binaarikellosta ja lähettää sen ledPanel -objektille. Jos kello soi, se käynnistää jukeboksi.
  3. Objektien päivittäminen - Jokaisella ohjelman objektilla on päivitysmenettely, jota käytetään esimerkiksi tulojen tarkistamiseen tai LED -valon värin muuttamiseen. Niitä on kutsuttava toistuvasti silmukkatoiminnossa, jotta kello toimisi kunnolla.

Tämän pitäisi antaa sinulle yleinen käsitys siitä, miten yksittäiset koodiosat toimivat yhdessä. Jos sinulla on tarkempia kysymyksiä, voit yksinkertaisesti kysyä minulta.

Koska koodini on ehdottomasti kaukana täydellisestä, parannan sitä edelleen tulevaisuudessa, joten muutamia toimintoja saattaa muuttua. Viileä asia OOP: ssa on, että se toimii edelleen hyvin samalla tavalla ja voit silti käyttää grafiikkaa sen ymmärtämiseen.

Vaihe 13: Viimeiset sanat

Lopulliset sanat
Lopulliset sanat

Olen iloinen, että jatkat lukemista tähän asti. Tämä tarkoittaa, että projektini ei ollut liian tylsä :).

Panin paljon työtä tähän pieneen kelloon ja vielä enemmän töihin kaikessa dokumentaatiossa ja videossa, jotta sinun olisi helppo rakentaa oma binäärinen herätyskello. Toivon, että ponnisteluni oli sen arvoista ja voisin koukuttaa sinut loistavaan ideaan ensi viikonloppuprojektiasi varten tai ainakin antaa sinulle inspiraatiota.

Haluaisin kuulla mielipiteesi kellosta alla olevissa kommenteissa:).

Vaikka yritin käsitellä kaikkia yksityiskohtia, olen saattanut jättää väliin yhden tai kaksi. Joten kysy rohkeasti, jos kysymyksiä on jäljellä.

Kuten aina, kiitos paljon lukemisesta ja onnellisesta tekemisestä.

LED -kilpailu 2017
LED -kilpailu 2017
LED -kilpailu 2017
LED -kilpailu 2017

Toinen sija LED -kilpailussa 2017

Suositeltava: