Tartalomjegyzék:

Mikro bináris óra: 10 lépés (képekkel)
Mikro bináris óra: 10 lépés (képekkel)

Videó: Mikro bináris óra: 10 lépés (képekkel)

Videó: Mikro bináris óra: 10 lépés (képekkel)
Videó: Лето на ярмарке - документальный фильм 2024, November
Anonim
Mikro bináris óra
Mikro bináris óra
Mikro bináris óra
Mikro bináris óra

Tinkercad projektek »

Miután korábban létrehozott egy Instructable (Binary DVM) programot, amely a korlátozott megjelenítési területet használja bináris használatával.

Csak egy kis lépés volt korábban létrehozni a fő kódmodult a tizedes bináris konvertáláshoz egy bináris óra létrehozásához, de az egyetlen hiányzó dolog egy valós idejű óra (RTC) volt.

A Microbit azonban nem rendelkezik beépített RTC -vel.

Az RTC lehetővé teszi az óraprojektek megvalósítását akkumulátor tartalékkal.

Ennek megfelelően a következő projekt Microbit és Kitronik RTC segítségével 24 órás órát hoz létre bináris kijelzővel, és emellett riasztási lehetőséggel is rendelkezik.

A Microbit -en futó projektszoftvert a Makecode Blocks programban hozzák létre.

Kellékek:

MicroBit V1 vagy V2

MicroBit védőtok (opcionális)

Makecode

Kitronik RTC

CR2032

Kódblokkok

Cura

3d nyomtató

1 * SPDT (be - be) kapcsoló

1 * SPDT (be - ki - be) kapcsoló

2 * SPST (általában nyitva), pillanatnyi kapcsoló

4 * M3 (10+6 mm), M/F eltérések M3 anyákkal

4 * M3 (8mm), csavarok

Jumper vezeték M/F csatlakozó, 100 mm, 28AWG, előre gyártva dugóval és aljzattal.

1 * Piezo zümmögő (nincs meghajtó)

Ezek a kellékek számos üzletben kaphatók, és előfordulhat, hogy saját preferált beszállítója van.

1. lépés: A megjelenítési terület meghatározása

A megjelenítési terület meghatározása
A megjelenítési terület meghatározása
A megjelenítési terület meghatározása
A megjelenítési terület meghatározása

Bár a megjelenítési terület korlátozott az egyszerre megjeleníthető adatmennyiségben, ideális esetben alkalmas a bitadatok megjelenítésére.

Így elegendő terület áll rendelkezésre a 4 x 4 bites bináris szavak megjelenítéséhez, hogy az értesítéseket és a kiválasztási módokat ábrázolják.

A kijelző 3 fő területre van felosztva; Idő, kiválasztás és módok.

Idő

Tizenhat LED időhöz van rendelve, minden 4 LED oszlop egy időintervallumhoz van rendelve, az intervallumok H, H, M & M formátumúak.

A bináris szó minden bitjének súlya 1, 2, 4 és 8, az LSB a 4. sorban és az MSB az 1. sorban

Minden bináris 4 bites szó 0 és 15 közötti számot tesz lehetővé, ami több mint elegendő a 24 órás időformátumhoz, és 2, 9, 5 és 9 oszloponként maximális számot igényel.

Kiválasztás

A 0 sorban lévő négy LED egy sora szolgál az idő megadásakor kiválasztott időoszlop azonosítására.

Módok

A 4. oszlopban található 5 LED -es oszlop a módok, funkciók és működés azonosítására szolgál.

Jelölje be - A 4. LED, 0 villogó be- és kikapcsolása a másodpercek és a működés jelzésére szolgál.

Idő - LED 4, 1 jelzi az idő módot, amikor be van kapcsolva. (Alapértelmezett mód bekapcsoláskor)

Riasztás - LED 4, 2 jelzi a Riasztás módot, amikor be van kapcsolva.

Riasztási értesítés - A 4 -es, 3 -as és 4 -es és 4 -es LED -ek villognak, amikor a riasztás bekapcsol.

2. lépés: RTC (valós idejű óra)

RTC (valós idejű óra)
RTC (valós idejű óra)
RTC (valós idejű óra)
RTC (valós idejű óra)
RTC (valós idejű óra)
RTC (valós idejű óra)
RTC (valós idejű óra)
RTC (valós idejű óra)

Az RTC az alkalmazás dobogó szíve, amely lehetővé teszi a pontos idő beállítását és tartását.

Az RTC további részletei a Kitronik oldalán találhatók.

Az RTC szabályozott tápellátást biztosít, amely nem teszi szükségessé a Microbit saját USB vagy JST csatlakozójáról történő táplálását, és az akkumulátor tartalékolását biztosítják, hogy megtartsák az időt áramkimaradás esetén.

Az RTC használata előtt be kell töltenie az Extension csomagot.

A Beállítások ikon Makecode használatával válassza a Bővítmények lehetőséget, és írja be a Kitronik RTC -t a keresésbe.

Válassza ki a csomagot a telepítéshez, és hozzáadódik a többi bővítményhez.

Az RTC -nek számos kódblokkot kell olvasni és írni.

Ezekből a kódblokkokból csak 4 szükséges a bináris órához.

Ezeket arra használják, hogy a beállított időt az RTC -be írják, és visszaolvassák az időt az óra kijelzőjének frissítésére.

3. lépés: Az óra kódolása

Az óra kódolása
Az óra kódolása
Az óra kódolása
Az óra kódolása
Az óra kódolása
Az óra kódolása

A kód első része a változók, tömbök és tájékoztató szöveg program inicializálása.

Benne

Bclk - Bináris óra

<Sel - A gomb kiválasztja azt az oszlopot, amely az időbeállításhoz lesz igazítva.

Inc - B gomb növeli az időt.

Mindkét A & B gomb együttes megnyomása megváltoztatja az idő és riasztás módot.

Strval - az RTC -től visszaadott „HH: MM: SS” formában szereplő időt tartalmazó karakterlánc érték

Az óra megjelenítésére vagy beállítására csak a HH & MM használható.

Mode - megtartja az A = B gomb kombinációval kiválasztott Time = 1 és Alarm = 2 mód értékét.

Periódus - az időoszlop értéke az A gombbal.

0 = 0 oszlop (H), 1 = 1 oszlop (H), 2 = 2 oszlop (M), 3 = 3 oszlop (M)

Tick_en - Engedélyezi = 1 vagy Letiltja = 0 a kullancsot (másodperc), jelző.

Inc - A növekményes időbeállítási érték közbenső tárolása.

Tm_list - tárolja az egyes időoszlopok értékét a beállítás során.

Riasztás - engedélyezi vagy letiltja a riasztásjelzőt.

Az örökkévalóság folyamatosan hívja a kullancsfüggvényt.

Ketyegés

Az általában engedélyezett kullancsfunkció a jobb felső sarokban váltakozó be/ki LED -et jelenít meg, jelezve a működést és a másodperceket.

Ezenkívül meghívja a showtm függvényt, amely beolvassa az RTC -t, és feldolgozza azt bináris formában, miközben hívja az alarm_mode módot is, ha ez engedélyezve van, a riasztásjelző LED -eket jeleníti meg a jobb alsó sarokban.

Showtm

A showtm függvény hívja az rdtime -t, és az ebből használt érték az idősorozatot tartalmazó strval.

Létrejön egy ciklus, amely a strval segítségével növeli az egyes számokat, és figyelmen kívül hagyja a ":" elválasztót

Ezután minden egyes számot a dec2bin függvénnyel bináris megfelelőjévé alakítanak át, és hozzárendelik a megfelelő oszlophoz.

Rdtime

Az rdtime függvény beolvassa az RTC -ből visszaadott karakterlánc első 5 karakterét (figyelmen kívül hagyva a másodperc részt), és átadja a strval -nak.

Ha a riasztás be van állítva (mód = 2), akkor a riasztás beállítási értékeit összehasonlítják az RTC által visszaadott értékekkel, ha egyezés van, akkor a riasztás = 1, ha nincs egyezési riasztás = 0.

Az Alarm_mode, ha engedélyezve van, két be/ki váltakozó LED-et jelenít meg a 4. oszlop jobb alsó sarkában.

Dec2bin

A dec2bin függvény egy tizedes számot binárisra alakít, és megjeleníti a megfelelő oszlopban.

A konvertálandó szám átadásra kerül a értéken keresztül, a kijelző oszlop pedig a oszlopon keresztül.

A List2 az a tömb, amelybe a bináris átalakítási folyamatból származó 4 bites bináris szót tárolják.

Egy ciklus indul, amely tovább osztja az értéket 2 -vel, a maradékot a tömb elem tárolja, az egész értéket 2 -vel osztják el, ezt addig ismételjük, amíg az egész érték <= 1, és ez az utolsó érték kerül a tömbbe.

A legnagyobb egy számjegyű tizedes érték 9, binárisban pedig 1001, 4 bites szóként.

Ezután a tömböt fordított sorrendben kell feldolgozni a helyes eredmény érdekében.

Ezután egy ciklus indul, hogy bekapcsolja a megfelelő LED-et a megfelelő oszlopban, ezt a 4 bites bináris szó egyes előfordulásainál kell végrehajtani.

Az emberi felület gombokkal valósul meg.

Az A gomb

Ez kiválasztja az oszlopot, amelybe az időértéket be kell írni, és a 4. sorban a kiválasztott oszlop felett világító LED jelenik meg.

Az összes időoszlop frissítése után a kiválasztás 5. oszlopra való növelésével az időváltozó frissül.

Ha az üzemmód = 1, akkor az RTC frissül, különben a riasztási idő frissül.

A B gomb

Ez a növekmény gomb és növeli a kiválasztott időoszlopot.

Annak érdekében, hogy csökkentse a hibákat és időt takarítson meg a helyes érték eléréséhez, az oszloponként megadható maximális értéket a 24 órás időrendszer időértéke alapján korlátozzák.

Ezeket a maximális értékeket a tm_max tartalmazza, időnként egy oszlopban, és automatikusan kiválasztásra kerülnek az időoszlop alapján.

A maximális értékek H = 2, H = 9, M = 5, M = 9

Az inkrement érték binárisra konvertálódik a dec2bin -ben, és a kijelző frissül.

A+B gomb kiválasztása

Mindkét gomb együttes megnyomásával választhat az Idő mód vagy a Riasztás mód között, a megfelelő mód megjelenik a kijelzőn.

Attól függően, hogy melyik mód van kiválasztva, a kijelző frissül, hogy megjelenítse az időt vagy a riasztási időt.

4. lépés: Művelet

Művelet
Művelet
Művelet
Művelet
Művelet
Művelet

Töltse le a Hex fájlt a Microbitre, helyezzen be egy CR2032 elemet az RTC -be.

Csatlakoztassa a Microbit -et az RTC -hez, és táplálja az RTC kártyát USB -n vagy a csavaros csatlakozókon keresztül.

A Tick LED villogni kezd, és röviddel ezután megjelenik az idő.

Ha ez az első használat, akkor a megjelenített idő nagy valószínűséggel téves, és a pontos időt kell beállítani.

Módválasztás

A Kiválasztás (A) és Növelés (B) gombok együttes lenyomásával lehetővé válik a módváltás az idő és riasztás között.

Az idő beállítása

Az időbeállítás 24 órás üzemmódban van.

Használja a Kiválasztás gombot (A) a LED mozgatásához a felső sorban, ez azt az oszlopot jelzi, ahol az idő módosítható. A kiválasztási oszlopok megfelelnek a H, H, M & M -nek.

Ahol H = óra és M = perc.

Miután kiválasztott egy oszlopot, nyomja meg többször a Növelés gombot (b), hogy minden egyes megnyomással eggyel növelje a számot. A számok binárisan vannak feltüntetve, végül is bináris óra.

A növekmény gomb csak növeli a számot, és amint elérte a maximumot, nullára áll, a további megnyomások ismét növelik a számot.

Miután beállította az első oszlopidőt, nyomja meg a Kiválasztás gombot a következő oszlophoz, majd a Növelés gombbal állítsa be az oszlop idejét.

Megjegyzés: *** Az Idő vagy Riasztás beállításakor be kell írnia egy időt a kiválasztott oszlopba, még akkor is, ha az oszlopban lévő idő változatlan marad, mivel az oszlop kihagyása az oszlop idejét nullára állítja ****

Ismételje meg a folyamatot mindaddig, amíg mind az 4 oszlop használatával beállítja az időt.

Nyomja meg a Kiválasztás gombot ötödik alkalommal, hogy az ötödik oszlopba lépjen, és az idő be van állítva.

A riasztás beállítása

A riasztási idő beállítása pontosan ugyanúgy történik, mint az idő esetén.

Annak érdekében, hogy a riasztás a kívánt időben aktiválódjon, hagyja az üzemmódot riasztásban.

A riasztás kikapcsolásához állítsa a módot Időre.

A beállított ébresztési idő megjelenítéséhez kapcsolja be az Idő és riasztás közötti üzemmódot, és a Riasztási idő megjelenik egy rövid ideig, mielőtt visszatér az aktuális idő kijelzéséhez.

A riasztási idő nincs tárolva az RTC -ben, ezért az áramellátás megszüntetése esetén vissza kell állítani.

5. lépés: dobozba

Jelölje be
Jelölje be
Jelölje be
Jelölje be

A projekt a megfelelő szögben fog ülni az óra megtekintéséhez, de egy doboz az állandóság érzését kelti.

Vásárolhat egy megfelelő méretű dobozt, és kivághatja és fúrhatja a megfelelő területeket, hogy a Microbit elférjen az aljzatban.

Azonban; ezenkívül meg akartam másolni a Microbit gombokat más vezérlőkkel és jelzőkkel együtt.

A gombok azonosításához általában jelmagyarázatokat kell alkalmazni a dobozra.

Ezeket kézzel lehetett alkalmazni; festett, gravírozott vagy címkék.

Mindezen lehetőségek megvalósításának módja a doboz 3D nyomtatása lenne, de először létre kell hoznunk egy CAD -fájlt, amellyel létrehozhatjuk a nyomtatófájlt.

A fájlok létrehozásának lehetőségei kézzel vannak rajzolva vagy kóddal rajzolva.

A "kóddal rajzolt" lehetőséget választottam a Tinkercad CodeBlocks használatával

A Box Lid és a Box Base fájljai megtalálhatók a Tinkercad CodeBlocks webhelyen

6. lépés: Blokk -tervezés

Blokk -tervezés
Blokk -tervezés
Blokk -tervezés
Blokk -tervezés

A doboz két részből álló kivitel, amely alapból és fedélből áll.

Négy sarokcsavar furatot használnak a fedél rögzítésére, kivágással a bal oldalon, hogy beléphessenek az USB-csatlakozóba.

A fedél kivágással rendelkezik a Microbit csatlakozóhoz és a szükséges kapcsolókhoz, emellett minden szöveg közvetlenül a fedélre lesz nyomtatva, és a csavarlyukak az alaposzlopokhoz igazodnak.

Az RTC táblát 4 oszlop és 4 csavar rögzíti a fedél alsó oldalához.

A doboz és a fedél mérete 70 x 105 x 31 mm

A fedél és az alap kódja elérhető a TinkerCad CodeBlocks alkalmazásban.

7. lépés: 3D nyomtatás

3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás

Töltse be a fájlokat a Cura programba, és alkalmazza a kívánt szeletelő beállításokat.

Alkalmazott beállítások.

Minőség: 0,15 mm

Kitöltés: 80%, Tri-Hexagon

Alap: Szegély

Mentse el a fájlokat, majd nyomtassa ki.

A Cura segítségével mindkét fájlt egyszerre töltheti be ugyanarra a nyomtatási területre, és egyszerre nyomtathat.

8. lépés: Kitöltés

Kitöltés
Kitöltés
Kitöltés
Kitöltés
Kitöltés
Kitöltés

A doboz fedele süllyesztett szöveggel van nyomtatva, amelyet színes 2 részes epoxigyanta tölt meg.

A gyantát 2 rész gyanta és 1 rész keményítő arányban keverjük össze, majd átlátszatlan színű pigmentet keverünk bele.

A választott szín sárga volt, hogy ellentétben álljon a háttérrel. A fehér más választás lett volna.

Keverés után a gyantát egy koktélpálca segítségével csepegtetik a mélyedésbe, hogy kis gyantafoltokat vigyenek át, amelyeket a betűk mélyedésének fokozatos kitöltésére használnak.

Kerülje el a túl sok gyanta egyidejű behelyezését, mivel valószínűleg légbuborékok keletkeznek, és vagy túl sok túlcsordulás keletkezik a környező felületen, ami azt jelenti, hogy a tisztítás és a csiszolás után többet kell eltávolítania.

Tehát lassan töltsön, ügyelve arra, hogy a levél alja le legyen takarva, és enyhén emelt felülettel fejezze be.

Miután a gyanta megszilárdult, a felület kiegyenlítéséhez enyhe csiszolásra van szükség, kezdje a P240 -es fokozat finomabb fokozatokra való áttérésével, hogy a sima felületet végül polírozással befejezze.

Ne gyakoroljon túl nagy nyomást és túl nagy sebességet, különben túlmelegíti a PLA -t és a gyantát, ami homályos felületet eredményez a szemcseszívás miatt, a csiszolási folyamat során felhordott kevés víz kenőanyagként és hűtőközegként fog működni.

9. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

A Microbit két irányban illeszkedik a foglalatba, az RTC fő részével szemben.

Ha azonban az RTC fő része felé néz, akkor a linkkapcsolatok nem használhatók, ha a Microbit a tábla fő részével szemben van, akkor használhatjuk ezeket a kapcsolatokat.

Az összeszerelés azzal kezdődik, hogy egy derékszögű SIL csapfejet az RTC -hez forrasztunk, ez lehetővé teszi a csatlakozások push fit csatlakozókkal történő létrehozását.

Az RTC -hez 4 * M3 (10+6 mm), M/F kioldóelemek vannak szerelve, M3 anyákkal, amelyek 4 * M3 (8 mm) csavarokkal vannak rögzítve a fedélhez, és csavarokkal az előregyártott lyukakban.

A kapcsolók a fedél előre gyártott lyukaiba vannak felszerelve.

A szükséges kapcsolatok a következők:

GND, 3V, P1 (készlet), P2 (riasztás), P5 (sel) és P11 (inc)

Megjegyzés *** Az ellenállások (1R), a P5 és P11 diagramján egyszerűen referencia csatlakozási pontok, mivel a Microbit in Code blokkok ezen csapjaihoz való közvetlen kapcsolat jelenleg nem elérhető. ***

A P5 az A gomb külső csatlakozása, amelyet egy SPST pillanatkapcsoló köt össze. Az egyik csatlakozás a P5 -hez, a másik csap a GND -hez van csatlakoztatva, ez a gomb az oszlopok kiválasztására szolgál az idő beállítása során.

A P11 a B gomb külső csatlakozója, amelyet egy SPST pillanatkapcsoló csatlakoztat. Az egyik csatlakozás a P11 -hez, a másik csap a GND -hez van csatlakoztatva, a gombja a szám növelésére szolgál az idő beállítása során.

A P1 egy SPDT (be-be) kapcsoló, amely a beállítások engedélyezésére vagy letiltására szolgál. A középső csap a P1 -hez megy, míg az egyik érintkező a GND -hez, a másik pedig a 3V -hoz 10 k -os ellenálláson keresztül. Ez lehetővé teszi H (3V) és L (0V) felhelyezését erre a csapra. Ha a P1 3V -ra van csatlakoztatva, ez lehetővé teszi az időbeállítási lehetőségeket, és amikor a 0V letiltja az időbeállítást. Ezáltal szabályozható, hogy az A & B gombok hatással vannak -e.

A P2 egy SPDT (be-ki-be) kapcsoló, amely a riasztó hangjelző és az opcionális külső fények engedélyezésére vagy letiltására szolgál.

A riasztó hangjelző egy Piezo Buzzer (egyszerűen kétoldalas ragadós párnával rögzítve), amelyhez a Microbit által biztosított impulzus meghajtás szükséges.

10. lépés: Végül

Összeszerelte a dobozban lévő elemeket, programozta a Microbit -et és behelyezte a doboz aljzatába.

Ezután kapcsolja be az áramot, és állítsa be az időt.

Élvezd.

Blokkverseny
Blokkverseny
Blokkverseny
Blokkverseny

Második hely a blokkkód versenyben

Ajánlott: