Obsah:

Binárny budík na báze Arduina: 13 krokov (s obrázkami)
Binárny budík na báze Arduina: 13 krokov (s obrázkami)

Video: Binárny budík na báze Arduina: 13 krokov (s obrázkami)

Video: Binárny budík na báze Arduina: 13 krokov (s obrázkami)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Júl
Anonim
Image
Image

Podľa Basement Engineering Nasleduje viac od autora:

DIY laserové počítadlo ľudí
DIY laserové počítadlo ľudí
Postavenie samoriadiacej lode (ArduPilot Rover)
Postavenie samoriadiacej lode (ArduPilot Rover)
Postavenie samoriadiacej lode (ArduPilot Rover)
Postavenie samoriadiacej lode (ArduPilot Rover)
Perfektná nočná lampa a dok pre telefón
Perfektná nočná lampa a dok pre telefón
Perfektná nočná lampa a dok pre telefón
Perfektná nočná lampa a dok pre telefón

O: Ahoj, volám sa Jan a som výrobca. Milujem stavanie a vytváranie vecí a taktiež som dobrý v opravách vecí. Pretože si môžem myslieť, že som vždy miloval vytváranie nových vecí, a to je to, čo robím až do … Viac o Basement Engineering »

Hej, dnes by som vám chcel ukázať, ako postaviť jeden z mojich najnovších projektov, môj binárny budík.

Na internete je veľa rôznych binárnych hodín, ale tento môže byť v skutočnosti prvým, vyrobeným z pruhu farebných adresovateľných diód LED, ktoré majú funkciu alarmu a dotykové tlačidlá na nastavenie času a farby.

Nenechajte sa odradiť zložitým vzhľadom. S trochou vysvetlenia nie je čítanie binárnej hry také ťažké, ako sa zdá. A ak ste ochotní sa naučiť niečo nové, rád by som vám s tým neskôr pomohol.

Poviem vám trochu o príbehu tohto projektu:

Pôvodne som plánoval postaviť „normálne“hodiny, ktoré budú ako ručičky používať diódy LED, ale nemal som po ruke dostatok diód LED.

Hej, čo robíte, keď chcete zobrazovať čas s čo najmenším počtom diód LED?

Ideš binárne a presne to som tu urobil.

Tieto hodiny sú treťou verziou tohto druhu. Hneď po tom, ako ma myšlienka projektu zasiahla, som postavil veľmi jednoduchý prototyp a odviezol som ho do Maker Faire v Hannoveri, aby som zistil, čo si o ňom ľudia myslia. Kým som tam bol, dostal som veľa veľmi pozitívnej a zaujímavej spätnej väzby, ako aj nápady na zlepšenie.

Výsledkom všetkých týchto myšlienok a hodín premýšľania, drobností a programovania je tento pomerne zaujímavo vyzerajúci malý budík, ktorý má oveľa viac funkcií ako verzia 1.0 a dnes si prejdeme každý krok procesu budovania, takže si môžete ľahko si ho postavte sami.

Na Youtube je k dispozícii aj veľmi podrobné video, pre prípad, že si nechcete prečítať všetko.

Krok 1: Získajte svoje veci

Získajte svoje veci
Získajte svoje veci
Získajte svoje veci
Získajte svoje veci
Získajte svoje veci
Získajte svoje veci

Tu je malý zoznam všetkých komponentov a nástrojov, ktoré budete potrebovať na zostavenie vlastných binárnych hodín.

Elektronika:

  • 18 adresných LED diód Ws2811 (napr. Neopixely) na páse so 60 diódami LED na m (ebay)
  • Arduino Nano (s procesorom ATMega328) (ebay)
  • Modul 1307 RTC (ebay)
  • 4X kapacitné dotykové tlačidlá (ebay)
  • bs18b20 digitálny snímač teploty (ebay)
  • LDR (ebay)
  • reproduktor notebooku/smartfónu alebo piezoelektrický bzučiak
  • 2222A NPN tranzistor (alebo niečo podobné)
  • mužské hlavičky
  • šikmé hlavičky (ebay)
  • Odpor 1 kOhm
  • Rezistor 4, 7 kOhm
  • Rezistor 10 kOhm
  • Drôty
  • 7x5cm prototypová DPS 24x18 otvorov (ebay)
  • strieborný drôt (bižutérny drôt) (ebay)
  • 90 ° mini USB adaptér (eBay)

Ostatné materiály

  • Vinylový obal
  • 4 x 45 mm skrutky s hlavou s prírubou (ebay)
  • 32X m4 kovové podložky
  • 4 x poistná matica m4
  • Matica 28x m4
  • 4 x 10 mm m3 mosadzný spoj medzi plošnými spojmi (ebay)
  • 8X 8 mm m3 skrutka (ebay)
  • hliníkový plech
  • 2 mm list mliečneho akrylu
  • 2 mm list číreho akrylu
  • 3 mm list MDF
  • obojstranná lepiaca páska

Nástroje

  • mini USB kábel
  • počítač so systémom Arduino IDE
  • Vrták 3,5 mm
  • Vrták 4,5 mm
  • elektrická vŕtačka
  • rezací nôž
  • zvládacia píla
  • spájkovací ión
  • nožnice na rezanie kovu
  • súbor
  • brúsny papier

Šablóny (teraz s rozmermi)

  • PDF
  • Libre Office Draw

Kód

  • Náčrty
  • Knižnica tlačidiel
  • Knižnica časovača
  • Knižnica jukeboxu
  • Upravený RTClib
  • Knižnica Adafruit Neopixel
  • Knižnica pre kontrolu teploty Arduino

Krok 2: Odrežte predný a zadný panel

Odrežte predný a zadný panel
Odrežte predný a zadný panel
Odrežte predný a zadný panel
Odrežte predný a zadný panel
Odrežte predný a zadný panel
Odrežte predný a zadný panel
Odrežte predný a zadný panel
Odrežte predný a zadný panel

Prvým kusom, ktorý vyrobíme, je predný panel z akrylátu. Označujeme, kam chceme, aby naše strihy smerovali, pričom treba mať na pamäti, že chceme trochu tolerancie voči brúseniu. Potom akryl jednoducho zoškrabeme nožom na krájanie. Potom, čo sme to urobili 10 až 20 krát, máme drážku. Potom môžeme tento háj položiť na okraj stola a ohýbať akryl, kým sa nerozbije.

Potom, čo je predný panel narezaný na veľkosť, vystrihneme zadný panel z kusu MDF. Môžeme na to použiť našu vyrovnávaciu pílu, ale funguje aj rezací nôž. MDF musíme jednoducho upnúť na odrezok dreva a oškrabať ho rezacím nožom, kým čepeľ neprejde a nebudeme mať dva jednotlivé kusy.

Teraz spojíme dva panely dohromady a zbrúsime každú stranu, aby sa dokonale vyrovnali.

Potom, čo to urobíte, vystrihneme prvú šablónu a pomocou pásky ju položíme na dva panely a začneme vŕtať označené otvory.

Do každého zo 4 rohov najskôr vyvŕtame dieru 4,5 mm. Keďže je akrylát veľmi krehký a nechceme, aby sa lámal, začneme malým vrtákom a budeme postupovať nahor, kým nedosiahneme požadovaný priemer otvoru. Potom pomocou šablóny prebrúsime rohy do správneho tvaru.

Krok 3: Dokončite zadný panel

Dokončite zadný panel
Dokončite zadný panel
Dokončite zadný panel
Dokončite zadný panel
Dokončite zadný panel
Dokončite zadný panel
Dokončite zadný panel
Dokončite zadný panel

Zatiaľ môžeme predný panel odložiť a prilepiť druhú šablónu na zadný panel, kde musíme pomocou 3,5 mm vŕtačky vyvŕtať otvory pre dištančné podložky 4 ks a tiež 4 otvory, ktoré označia okraje. pre malé zadné okno.

Potom pomocou našej vyrovnávacej píly vyrežeme okno a uhladíme hrany pilníkom. Tiež nechcete zabudnúť vyvŕtať otvor pre mini USB kábel (počul som o jednom nie tak zameranom výrobcovi, ktorý má tendenciu robiť také veci: D).

Keď sme skončili s rezaním zadného panelu, môžeme pristúpiť k jeho zabaleniu do vinylového obalu. Jednoducho nakrájame dva kusy na správnu veľkosť a prvý priložíme na jednu stranu. Potom odrežeme ráfiky a uvoľníme okno. Sušič vlasov môže pomôcť zviditeľniť všetky diery, takže ich môžeme aj vystrihnúť. Potom, čo sme urobili to isté pre druhú stranu, použijeme našu nasledujúcu šablónu a techniku zoškrabania a rozbitia, aby sme vytvorili malé akrylové okienko pre náš zadný panel.

Krok 4: Vytvorte panel LED

Vyrobte LED panel
Vyrobte LED panel
Vyrobte LED panel
Vyrobte LED panel
Vyrobte LED panel
Vyrobte LED panel

Teraz sa dostávame k najdôležitejším bodom tohto projektu v doslovnom zmysle. Panel LED.

Nožnicami na strihanie kovu vystrihneme z plechu kus 12 x 2 x 8 cm. Buďte pri tom opatrní, pretože nožnice vytvárajú veľmi ostré hrany. Vyrovnáme ich pomocou nášho súboru a brúsneho papiera. Potom pridáme našu ďalšiu šablónu na vyvŕtanie otvorov pre skrutky a drôty.

Čas na prípravu skutočných LED diód.

Najprv ich nakrájame na tri pásy po 6 diód LED. Niektoré z pásikov LED majú veľmi tenkú lepivú vrstvu alebo vôbec žiadne lepidlo, preto ich nalepíme na kus obojstrannej pásky a rozrežeme na mieru nožom. Vďaka tomu sa prilepí na kovovú platňu a aj keď to nie je profesionálne riešenie, izoluje medené podložky od kovového povrchu zospodu.

Než skutočne prilepíme pásy na panel, očistíme ho alkoholom. Kým pripevňujeme LED diódy, musíme sa uistiť, že ich umiestnime na správne miesto aj správnym smerom. Malé šípky na páse LED indikujú smer, v ktorom sa údaje šíria pásom.

Ako vidíte na piatom obrázku, náš dátový riadok pochádza z ľavého horného rohu panela, prechádza prvým pásom až na pravú stranu, ako späť na začiatok nasledujúceho pásu vľavo a podobne.. Všetky naše šípy teda musia smerovať doprava.

Zahrejeme spájkovací ión a dáme trochu cínu na medené podložky, ako aj na drôt. Dátové linky sú prepojené, ako som práve popísal, pričom jednoducho paralelne zapojíme plusové a mínusové podložky pásu.

Keď sú prúžky zapojené, nožom opatrne nadvihneme konce každého prúžku, pričom držíme LED diódy, aby stále smerovali nahor. Potom položíme zospodu horúce lepidlo na izoláciu spájkovacích spojov.

Potom, čo to urobíte, a pridáme niekoľko kolíkov záhlavia k vodičom, ktoré idú do dosky plošných spojov. Tieto drôty by mali byť zhruba 16 cm dlhé. Aby sme si boli istí, že kovový panel nič neskráti, použijeme multimeter na meranie odporu medzi všetkými kolíkmi. Ak ukazuje niečo nad 1 kOhm, je všetko v poriadku.

Teraz to môžeme pripojiť k Arduinu, spustiť Strandtest a vychutnať si farby.

Krok 5: Vytvorte svetelný sprievodca

Vytvorte svetelný sprievodca
Vytvorte svetelný sprievodca
Vytvorte svetelný sprievodca
Vytvorte svetelný sprievodca
Vytvorte svetelný sprievodca
Vytvorte svetelný sprievodca
Vytvorte svetelný sprievodca
Vytvorte svetelný sprievodca

Ak umiestnime náš LED panel hneď za mliečny akryl, môže byť celkom náročné odlíšiť jednotlivé LED diódy. Tým by boli naše hodiny ešte ťažšie čitateľné, ako už sú.

Na vyriešenie tohto problému si urobíme malého svetlého sprievodcu. Za týmto účelom jednoducho vystrihneme ďalší kus MDF, ktorý má rovnakú veľkosť ako predný panel. Potom k nej pridáme ešte jednu šablónu a vyvŕtame do nej osemnásť 3, 5 mm otvorov pre LED diódy, ako aj štyri 4, 5 mm otvory pre skrutky. Potom ho môžeme pripevniť k prednému panelu a pomocou brúsneho papiera ich zarovnať.

Ako vidíte na poslednom obrázku, svetlo sa teraz javí oveľa koncentrovanejšie.

Krok 6: Vytvorte rámček tlačidla

Vytvorte rámček gombíkov
Vytvorte rámček gombíkov
Vytvorte rámček gombíkov
Vytvorte rámček gombíkov
Vytvorte rámček gombíkov
Vytvorte rámček gombíkov

Posledným komponentom krytu, ktorý sa chystáme vyrobiť, je rámček s gombíkmi.

My, opäť, nakrájame kus MDF na správnu veľkosť a pridáme k nemu šablónu, potom vyvŕtame všetky potrebné otvory a pomocou vystužovacej píly vyrežeme strednú časť.

Náš rámček má držať 4 dotykové tlačidlá, svetelný senzor a náš malý reproduktor na svojom mieste. Predtým, ako ich môžeme pripevniť k rámu, vystrihneme pár menších krycích kusov z MDF. Potom naše diely na tieto kryty prilepíme za tepla a pridáme k nim drôty.

Napájacie podložky dotykového tlačidla sú zapojené paralelne, pričom každý výstupný riadok má samostatný vodič. Je to tiež vhodný moment na otestovanie, či všetky fungujú. Pretože svetelný senzor potrebuje na jednej strane 5 voltov, môžeme ho jednoducho pripojiť k podložke VCC tlačidiel alarmu a k druhej nohe spájkovať drôt.

Potom, čo sú panely pripravené, nakrájame na boky rámu, aby sme vytvorili priestor pre ne a ich drôty.

Potom zo všetkých kúskov odstránime vysávačom drevený prach a prikryjeme ho vinylovým obalom.

Na odstránenie kúskov vinylu používame presný nôž priamo nad citlivými oblasťami našich dotykových modulov. S nejakou obojstrannou páskou môžeme k MDF pripevniť svoje vlastné tlačidlá. Gombíky som vyrobil z gumovej peny, ktorá im dodáva príjemnú, jemnú textúru, ale môžete použiť akýkoľvek nekovový materiál, ktorý chcete.

Na ráme pomocou noža opäť uvoľníme trochu MDF, čo nám dáva priľnavý povrch pre horúce lepidlo. Potom môžeme komponenty konečne prilepiť k bokom nášho rámu.

Krok 7: Spájkujte hlavnú dosku plošných spojov

Spájkujte hlavnú dosku plošných spojov
Spájkujte hlavnú dosku plošných spojov
Spájkujte hlavnú dosku plošných spojov
Spájkujte hlavnú dosku plošných spojov
Spájkujte hlavnú dosku plošných spojov
Spájkujte hlavnú dosku plošných spojov

Ponechajme rám tak, ako je teraz a prejdeme na DPS. Rozloženie DPS vidíte na prvom obrázku.

Začneme umiestnením komponentov s najnižším profilom na dosku plošných spojov. Najmenšími komponentmi sú drôtené mosty, na ktoré som si trochu neskoro spomenul, a tak som začal s odpormi. Spájkujeme naše súčiastky na miesto a prechádzame k ďalšej vyššej skupine súčiastok.

Ďalej máme naše ženské kolíkové hlavičky. Aby sme ušetrili miesto a mohli elektroniku zapojiť zboku, namontujeme ich v uhle 90 stupňov.

Tranzistory sa skutočne nezmestia do rozstupu otvorov 2, 54 mm našej dosky plošných spojov, takže pomocou klieští opatrne ohneme nohy do tvaru, ktorý je znázornený na druhom obrázku. Jednu z ich nôh najskôr spájkujeme a otočíme dosku plošných spojov. Potom spájkovací spoj znova zohrejeme a pomocou prsta alebo klieští správne umiestnime súčiastku. Teraz môžeme spájať ďalšie dve nohy na miesto.

Po všetkých malých komponentoch spájkujeme náš Arduino a náš modul hodín v reálnom čase. Modul RTC tiež nepasuje tak dobre na rozstup otvorov, takže vybavíme iba stranu, ktorá má 7 spájkovacích doštičiek so záhlavnými kolíkmi. Ďalej pod ňu umiestnime pásku, aby sa zabránilo skratu.

Pretože sú všetky naše súčiastky spájkované na svojom mieste, je načase vytvoriť spojenia na druhej strane dosky. Za týmto účelom odstránime náš neizolovaný drôt. Na vyrovnanie je možné použiť kliešte. Potom drôt nastriháme na menšie kúsky a spájkujeme s plošným spojom.

Na vytvorenie spojenia zahrejeme spájkovací spoj a vložíme drôt. Potom na ňom držíme spájkovací ión, kým nedosiahne správnu teplotu a spájka ho neuzavrie a nedostaneme spoj, ktorý vyzerá ako na obrázku. Ak drôt nezahrejeme, môžeme skončiť so studeným spojom, ktorý by vyzeral podobne ako v druhom prípade a nevedie si dobre. Môžeme použiť našu nožnicu na drôt, aby sme pri spájkovaní zatlačili drôt nadol a uistili sa, že je položený naplocho na doske plošných spojov. Na dlhších spojovacích cestách ho spájkujeme na jednu podložku každých 5 až 6 otvorov, kým sa nedostaneme do rohu alebo k ďalšiemu komponentu.

V rohu prerežeme drôt nad prvou polovicou spájkovacej podložky a koniec naň spájkujeme. Potom vezmeme nový kus drôtu a ideme odtiaľ ďalej v pravom uhle.

Vytvorenie týchto prázdnych drôtových pripojení je dosť náročné a vyžaduje si určité zručnosti, takže ak to robíte prvýkrát, rozhodne nie je zlý nápad precvičiť to na šrotovej doske PCB, než sa o to pokúsite na skutočnom.

Potom, čo sme skončili s spájkovaním, znova skontrolujeme spojenia a uistíme sa, že sme nevytvorili žiadne skraty. Potom môžeme PCB vložiť do rámčeka tlačidiel a použiť ho ako referenciu pre potrebné dĺžky drôtov rámu. Potom tieto drôty skrátime na správnu dĺžku a pridáme k nim kolíkové kolíky.

Všetky 5V a uzemňovacie spojenia dotykových tlačidiel sa spoja do 2 -kolíkového konektora. 4 výstupné vodiče získajú 4 -kolíkový konektor a svetelný senzor, ako aj dva vodiče reproduktorov sa spoja do trojpólového konektora. Nezabudnite označiť jednu stranu každej zásuvky a konektora štipcom alebo páskou, aby ste ich kyslo nezapojili nesprávnym spôsobom.

Krok 8: Zostavte hodiny

Zostavte hodiny
Zostavte hodiny
Zostavte hodiny
Zostavte hodiny
Zostavte hodiny
Zostavte hodiny
Zostavte hodiny
Zostavte hodiny

Potom som sa vrátil na predný panel a na záver som opatrne nalepil nálepku vyrobenú z priehľadnej fólie na laserovú tlačiareň.

Aj keď som to aplikoval veľmi opatrne, nedokázal som dosiahnuť výsledok bez bublín, ktorý je bohužiaľ pri bližšom skúmaní jasne viditeľný. Fólia tiež príliš nelepí na rohy, takže toto riešenie nemôžem skutočne odporučiť.

Pravdepodobne by sa to dalo zvládnuť lepšou nálepkou, alebo, ak viete dobre kresliť, mohli by ste čísla doplniť štipkou.

Teraz máme všetky komponenty a môžeme zostaviť hodiny.

Začneme spojením svetlovodu a predného panela. Keď sú všetky 4 skrutky zasunuté, zarovnáme dva panely a potom ich dotiahneme. O pár orechov neskôr prichádza svetelný panel, kde sa musíme pozrieť na smer. Kábel by mal byť v hornej časti.

Tretím kusom je rámček na gombíky. Majte na pamäti, že pri pohľade spredu by jeho reproduktor mal byť na pravej strane hodín. Predtým, ako ho pripevníte na miesto, pretiahnite kábel panela s diódami stredom rámu.

Teraz položíme pomocnú montáž prednej časti a prejdeme na zadný panel. Na obrázku môžete tiež vidieť môj krásny, vlastnoručne vyrobený 90 -stupňový mini USB adaptér. Pripojil som vám správny adaptér, takže sa s týmto druhom neporiadku nebudete musieť vysporiadať. Jednoducho zapojte adaptér a kábel prevlečte otvorom na zadnom paneli.

Na opravu malého okna berieme naše skrutky M3 a rozpery na dosky plošných spojov. Je dôležité starostlivo dotiahnuť skrutky, pretože nechceme poškodiť náš akryl. Potom vezmeme dosku plošných spojov, zapojíme adaptér a zaskrutkujeme na rozpery. Strana komponentov by mala smerovať k oknu, zatiaľ čo USB port Arduina smeruje k spodnej časti hodín.

Potom zapojíme všetky konektory z prednej zostavy, pričom dbáme na polaritu a všetky vodiče opatrne zatlačíme do hodín. Potom ho môžeme zatvoriť zadným panelom a dotiahnuť 4 zostávajúce poistné matice.

Nakoniec chcete, aby na každej strane každého panelu bola podložka, pričom svetlovod je umiestnený priamo za predným panelom. Máme jednu maticu medzi svetlovodom a LED diódou a ďalšie dve, ktoré ju oddeľujú od rámu tlačidiel. Môžete to vidieť aj na poslednom obrázku.

Keďže som použil krátke skrutky s dĺžkou 40 mm, mám iba 3 matice, ktoré držia zadný panel a rám od seba. So správnymi skrutkami 45 mm by ste sem pridali ďalšiu maticu a jednu alebo dve podložky navyše. Na konci zostavy máme poistnú maticu, aby všetko zostalo na svojom mieste.

Krok 9: Nahrajte kód a kalibrujte svetelný senzor

Nahrajte kód a kalibrujte svetelný senzor
Nahrajte kód a kalibrujte svetelný senzor
Nahrajte kód a kalibrujte svetelný senzor
Nahrajte kód a kalibrujte svetelný senzor
Nahrajte kód a kalibrujte svetelný senzor
Nahrajte kód a kalibrujte svetelný senzor

Čas nahrať náš kód.

Najprv stiahneme všetky potrebné súbory a rozbalíme ich. Potom otvoríme priečinok s knižnicami Arduino a vložíme doň všetky nové knižnice.

Teraz otvoríme náčrt kalibrácie svetelného senzora, ktorý nám poskytne svetlé a tmavé hodnoty pre funkciu automatického stmievača hodín. Odovzdáme ho, otvoríme sériový monitor a budeme postupovať podľa pokynov na obrazovke.

Potom otvoríme skutočný kód binárnych hodín a nahradíme dve hodnoty tými, ktoré sme práve namerali.

Zatvoríme všetky ostatné okná, nahráme kód do našich hodín a máme hotovo.

Čas pohrať sa s naším novým gadgetom.

Krok 10: Rýchly úvod do binárneho systému

Rýchly úvod do binárneho systému
Rýchly úvod do binárneho systému
Rýchly úvod do binárneho systému
Rýchly úvod do binárneho systému
Rýchly úvod do binárneho systému
Rýchly úvod do binárneho systému
Rýchly úvod do binárneho systému
Rýchly úvod do binárneho systému

Kým budeme pokračovať, rád by som odpovedal na jednu otázku, ktorá vám už pravdepodobne prebehla mysľou.

„Ako preboha čítaš tieto hodiny?“

Na tento účel by som vám chcel stručne predstaviť binárny systém.

Všetci sme oboznámení s desatinnou sústavou, kde každá číslica môže mať 10 rôznych stavov v rozsahu od 0 do 9. V binárnom čísle môže mať každá číslica iba dva stavy, buď 1 alebo 0, a preto môžete použiť niečo také jednoduché, ako zobraziť binárne číslo.

Ak chcete zobraziť čísla, ktoré sú hrubšie ako 9, v desatinnom čísle, pridáme ďalšie číslice. Každá číslica má určitý multiplikátor. Prvá číslica sprava prichádza s multiplikátorom 1, ďalšia je 10 a ďalšia je 100. Pri každej novej číslici je multiplikátor desaťkrát taký veľký ako číslica predtým. Vieme teda, že číslo dva umiestnilo jednu číslicu vľavo, predstavuje číslo 20. Zatiaľ čo dve číslice vľavo predstavuje 200.

V binárnom systéme má každá číslica tiež multiplikátor. Pretože však každá číslica môže mať iba dva rôzne stavy, každý nový multiplikátor je dvakrát taký veľký ako predchádzajúci. Mimochodom, binárne číslice sa nazývajú bity. Pozrime sa teda na náš prvý príklad, ak umiestnime 1 na najnižšiu pozíciu, bude to jednoduchá 1, ale ak ho umiestnime na najbližšiu vyššiu pozíciu, kde je náš multiplikátor 2, predstavuje číslo 2 v binárnom čísle.

Čo hovoríte na trochu záludnejší príklad v spodnej časti obrázku. Tretí a prvý bit sú zapnuté. Aby sme získali desatinné číslo, ktoré je tu reprezentované, jednoducho sčítame hodnoty týchto dvoch bitov. 4 * 1 + 1 * 1 alebo 4 + 1 nám teda dáva číslo 5.

8 bitov sa označuje ako bajt, takže sa pozrime, aké číslo dostaneme, ak jednotkami vyplníme celý bajt.1+2+4+8+16+32+64+128, čo je 255, čo je najvyššia hodnota, ktorú môže jeden bajt mať.

Mimochodom, zatiaľ čo v desatinnom systéme je číslica s najvyšším multiplikátorom vždy na prvom mieste, máte dva spôsoby, ako zapísať číslo binárne. Tieto dve metódy sa nazývajú najmenej významný bajt prvý (LSB) a najdôležitejší bajt prvý (MSB). Ak chcete čítať binárne číslo, musíte vedieť, ktorý z týchto dvoch formátov sa používa. Pretože je bližšie k desatinnej sústave, naše binárne hodiny používajú variant MSB.

Vráťme sa k nášmu príkladu zo skutočného sveta. Ako je zvýraznené na šiestom obrázku, naše hodiny majú 4 bity na zobrazenie hodiny. Potom máme 6 bitov za minútu a tiež 6 bitov za sekundu. Ďalej máme k dispozícii jeden kúsok dopoludnia/večer.

V poriadku, povedzte mi, koľko je hodín na 6. obrázku, než preskočte na posledný.. ….

v hodinovej sekcii máme 2+1, čo je 3 a pm bit je zapnutý, takže je večer. Nasleduje minúta 32+8, to je 40. Na sekundy máme 8+4+2, čo je 14. Takže je 15:40:14 hod. Alebo 15:40:14.

Gratulujeme, práve ste sa naučili čítať binárne hodiny. Na to je samozrejme potrebné si zvyknúť a na začiatku budete musieť čísla sčítať, zakaždým, keď budete chcieť vedieť, koľko je hodín, ale podobne ako na analógové hodiny bez číselníka si zvyknete na vzory diód LED čas.

A to je súčasťou toho, o čo v tomto projekte ide, vziať niečo také abstraktné ako binárny systém do reálneho sveta a lepšie ho spoznať.

Krok 11: Použitie binárneho budíka

Používanie binárnych budíkov
Používanie binárnych budíkov
Používanie binárnych budíkov
Používanie binárnych budíkov
Používanie binárnych budíkov
Používanie binárnych budíkov

Teraz sa konečne chceme pohrať s hodinami, pozrime sa teda rýchlo na ovládacie prvky.

Softvér rozlišuje medzi klepnutím jedným tlačidlom, dvojitým klepnutím a dlhým klepnutím. Každé tlačidlo je teda možné použiť na viac akcií.

Dvojitým klepnutím na tlačidlo nahor alebo nadol zmeníte farebný režim diódy LED. Môžete si vybrať medzi rôznymi statickými a vyblednutými farebnými režimami, ako aj teplotným režimom. Ak sa nachádzate v jednom zo statických farebných režimov, podržaním tlačidla nahor alebo nadol sa farba zmení. V režime slabnutia jediným klepnutím zmeníte rýchlosť animácií.

Ak chcete nastaviť režim stmievania, dvakrát ťuknite na tlačidlo ok. LED dióda indikuje nastavený režim opakovaným blikaním.

  • Jeden čas neznamená žiadny stmievač.
  • Dvakrát znamená, že jas je riadený svetelným senzorom.
  • Trikrát a LED diódy sa automaticky vypnú po 10 sekundách nečinnosti.
  • Kombinujú sa štyrikrát a oba režimy stmievania.

Dlhým stlačením tlačidla ok sa dostanete do režimu nastavenia času, kde môžete číslo meniť pomocou šípok hore a dole. Jediným klepnutím na tlačidlo ok sa dostanete z hodiny na minúty, ďalším klepnutím a môžete nastaviť sekundy. Potom posledné klepnutie uloží nový čas. Ak prístupne vstúpite do režimu nastavenia času, stačí počkať 10 sekúnd a hodiny sa automaticky opustia.

Rovnako ako pri tlačidle ok, aj pri dlhom stlačení tlačidla budíka môžete nastaviť budík. Dvojitým klepnutím na tlačidlo budíka sa budík aktivuje alebo deaktivuje.

Ak hodiny zvonia, jediným klepnutím na tlačidlo budíka ich prepnete do režimu spánku na 5 minút alebo ich podržíte a deaktiváciu deaktivujete.

To boli všetky funkcie, ktoré hodiny zatiaľ mali. V budúcnosti môžem pridať ďalšie, ktoré môžete získať, ak si stiahnete najnovšiu verziu firmvéru.

Krok 12: Porozumenie kódu (voliteľné)

Pochopenie kódu (voliteľné)
Pochopenie kódu (voliteľné)

Viem, že veľa ľudí veľmi nebaví programovanie. Našťastie pre týchto ľudí nie sú na zostavenie a používanie týchto binárnych hodín potrebné žiadne znalosti programovania. Ak vás teda nezaujíma stránka programovania, tento krok môžete jednoducho preskočiť.

Ak vás však zaujíma kódovacia časť, rád by som vám poskytol všeobecný prehľad o programe.

Vysvetlenie každého malého detailu kódu hodín by bolo samo o sebe návodom, takže to zjednoduším vysvetlením programu objektovo orientovaným spôsobom.

V prípade, že neviete, čo to znamená, objektovo orientované programovanie (OOP) je koncept väčšiny moderných programovacích jazykov, ako je C ++. Umožňuje vám organizovať rôzne funkcie a premenné do takzvaných tried. Trieda je šablóna, z ktorej môžete vytvoriť jeden alebo viac objektov. Každý z týchto objektov dostane názov a vlastnú sadu premenných.

Kód hodín napríklad používa niekoľko predmetov MultiTouchButton, ako napríklad alarmButton. Sú to objekty z triedy MultiTouchButton, ktorá je súčasťou mojej knižnice Button. Super na týchto objektoch je, že s nimi môžete pracovať podobne ako s objektmi zo skutočného sveta. Napríklad môžeme skontrolovať, či bolo tlačidlo budíka dvakrát klepnuté, zavolaním alarmButton.wasDoubleTapped (). Okrem toho je implementácia tejto funkcie pekne skrytá v inom súbore a nemusíme sa báť, že by sme ju prelomili zmenou čohokoľvek v našom kóde. Rýchly vstup do sveta objektovo orientovaného programovania nájdete na webovej stránke Adafruit.

Ako vidíte na obrázku vyššie, program s hodinami obsahuje veľa rôznych objektov.

Hovorili sme len o objektoch tlačidiel, ktoré môžu interpretovať vstupné signály ako klepnutie, dvojité klepnutie alebo dlhé stlačenie.

Jukebox, ako naznačuje názov, môže vytvárať hluk. Má niekoľko melódií, ktoré je možné hrať prostredníctvom malého reproduktora.

Objekt binaryClock spravuje čas a nastavenie budíka, ako aj sledovanie alarmu. Ďalej získava čas z modulu RTC a prevádza ho do binárnej informačnej vyrovnávacej pamäte pre ledPanel.

ColorController zapuzdruje všetky funkcie farebných efektov a poskytuje colorBuffer pre ledPanel. Ukladá tiež svoj stav v Arduinos EEProm.

Stmievač sa stará o jas hodín. Má rôzne režimy, ktorými môže používateľ prechádzať. Aktuálny režim je tiež uložený v EEProm.

LEDPanel spravuje rôzne vyrovnávacie pamäte pre hodnotu farby, hodnotu jasu a binárny stav každej LED diódy. Kedykoľvek sa zavolá funkcia pushToStrip (), prekryje ich a odošle na LED pásik.

Všetky objekty sú „prepojené“cez hlavný (súbor s funkciami nastavenia a slučky), ktorý obsahuje iba niekoľko funkcií na vykonanie 3 základných úloh.

  1. Interpretácia vstupu používateľa - Získa vstup z objektov so 4 tlačidlami a prevedie ich logikou. Táto logika kontroluje aktuálny stav hodín, aby určila, či sú hodiny v normálnom nastavení času alebo režimu zvonenia a podľa toho volá rôzne funkcie od ostatných objektov.
  2. Správa komunikácie medzi objektmi - Objektu binaryClock sa neustále pýta, či má k dispozícii nové informácie alebo či zvoní alarm (). Ak má nové informácie, získa informationBuffer z binaryClock a odošle ho do objektu ledPanel. Ak hodiny zvonia, spustí sa jukebox.
  3. Aktualizácia objektov - Každý z objektov programu má postup aktualizácie, ktorý sa používa na kontrolu vstupov alebo zmenu farieb diód LED. Aby hodiny správne fungovali, je potrebné ich vo funkcii slučky opakovane vyvolávať.

To by vám malo poskytnúť všeobecné pochopenie toho, ako jednotlivé časti kódu spolupracujú. Ak máte konkrétnejšie otázky, môžete sa ma jednoducho opýtať.

Pretože môj kód nie je ani zďaleka dokonalý, budem ho v budúcnosti ďalej zlepšovať, takže niekoľko funkcií sa môže zmeniť. Skvelé na OOP je, že bude stále fungovať veľmi podobným spôsobom a stále mu môžete porozumieť.

Krok 13: Záverečné slová

Záverečné slová
Záverečné slová

Som rád, že ste pokračovali v čítaní až do tohto bodu. To znamená, že môj projekt nebol príliš nudný:).

Do týchto malých hodín som vložil veľa práce a ešte viac práce venujem všetkej dokumentácii a videu, aby som vám uľahčil zostavenie vlastných binárnych budíkov. Dúfam, že moje úsilie stálo za to a mohol by som vás spojiť so skvelým nápadom na váš budúci víkendový projekt alebo vás aspoň inšpirovať.

Rád by som počul, čo si myslíte o hodinách v nižšie uvedených komentároch:).

Aj keď som sa snažil zakryť každý detail, možno mi jedna alebo dve veci unikli. Pokojne sa pýtajte, ak ešte nejaké otázky zostanú.

Ako vždy, veľmi pekne vám ďakujem za prečítanie a šťastnú tvorbu.

LED Contest 2017
LED Contest 2017
LED Contest 2017
LED Contest 2017

Druhé miesto v súťaži LED Contest 2017

Odporúča: