Tartalomjegyzék:

Mechanikus hét szegmenses kijelző óra: 7 lépés (képekkel)
Mechanikus hét szegmenses kijelző óra: 7 lépés (képekkel)

Videó: Mechanikus hét szegmenses kijelző óra: 7 lépés (képekkel)

Videó: Mechanikus hét szegmenses kijelző óra: 7 lépés (képekkel)
Videó: 🟡 POCO X5 PRO – LEGRÉSZLETESEBB ÁTTEKINTÉS és TESZTEK 2024, November
Anonim
Mechanikus hét szegmenses kijelző óra
Mechanikus hét szegmenses kijelző óra
Mechanikus hét szegmenses kijelző óra
Mechanikus hét szegmenses kijelző óra

Pár hónapja építettem egy két számjegyű, 7 szegmenses mechanikus kijelzőt, amelyet visszaszámlálóvá alakítottam. Egész jól sikerült, és sokan azt javasolták, hogy duplázódjanak a kijelzőn, hogy készítsenek egy órát. A probléma az volt, hogy már kifogytam a PWM IO -ból az Arduino Mega készüléken, és nem volt elég a második vagy a harmadik számjegyhez. Ekkor ezeknek a PCA9685 16 csatornás PWM illesztőprogramoknak az irányába mutattak, amelyek I2C interfészen keresztül működnek. Ezek lehetővé tették a szükséges 28 szervó meghajtását a két I2C csap segítségével egy Arduino -n. Így hozzá kellett kezdenem egy óra építéséhez, amely most egy DS1302 valós idejű óramodult használ az idő megtartására, és két 16 csatornás szervo meghajtót a kijelző alkotásához használt 28 szervó vezérléséhez, mindezt egy Arduino Uno hajtja.

Ha élvezi ezt az utasítást, kérjük, szavazzon rá az Óraversenyen

Kellékek:

Az óra elkészítéséhez néhány alapvető eszközön kívül a következő kellékekre lesz szüksége:

  • Arduino Uno - Vásárlás itt
  • DS1302 Óramodul - Vásárlás itt
  • 2 db PCA9685 16Ch szervo meghajtó - Vásárlás itt
  • 28 x Micro Servo - Vásárlás itt
  • Szalagkábel - Vásárlás itt
  • Férfi tűs fejlécek - Vásárlás itt
  • Női tűfejlécek - Vásárlás itt
  • 3 mm -es MDF - Vásárlás itt
  • Fekete spray festék - Vásároljon itt
  • 5V 5A akkumulátor -eltávolító áramkör - Vásárlás itt
  • 12 V -os tápegység - Vásároljon itt

Ehhez a projekthez néhány 3D nyomtatott alkatrészre is szüksége lesz. Ha még nem rendelkezik 3D nyomtatóval, és szívesen készít valamit, akkor mindenképpen fontolja meg annak megvásárlását. Az itt használt Creality Ender 3 Pro megfizethető, és árához képest jó minőségű nyomatokat készít.

  • 3D nyomtató - vásároljon itt
  • Szál - Vásároljon itt

1. lépés: 3D nyomtatás a műanyag alkatrészekre

3D nyomtatás a műanyag alkatrészekről
3D nyomtatás a műanyag alkatrészekről
3D nyomtatás a műanyag alkatrészekről
3D nyomtatás a műanyag alkatrészekről
3D nyomtatás a műanyag alkatrészekről
3D nyomtatás a műanyag alkatrészekről

A 7 szegmenses kijelzőket a lehető legegyszerűbbre terveztem. A szervó egyben a tartókonzol is a felette lévő szegmens feltartásához. Minden szegmenshez két 3D nyomtatott komponens szükséges, egy távtartó blokk a szervó alsó oldalának alátámasztására és a kijelző szegmens, amely közvetlenül a szervókarra ragasztható.

Töltse le a 3D nyomtatási fájlokat - Mechanikus 7 szegmenses kijelző óra 3D nyomtatási fájlok

Nyomtassa ki a szervo szegmenseket és pontokat élénk színű PLA -val. Áttetsző zöldet használtam, de a pirosnak, narancsnak vagy sárgának is jól kell működnie. Fekete PLA -t használtam a távtartó blokkokhoz és a ponttartókhoz, hogy ne legyenek láthatók, amikor a szegmenseket kikapcsolt helyzetbe fordítják.

Ha nincs hozzáférése 3D nyomtatóhoz, próbálja ki az online nyomtatási szolgáltatásokat. Számos megfizethető szolgáltatás áll rendelkezésre, amelyek kinyomtatják az alkatrészeket, és néhány napon belül házhoz szállítják őket.

2. lépés: Készítse elő a vezérlőpaneleket és a vezetékeket

Készítse elő a vezérlőpaneleket és a vezetékeket
Készítse elő a vezérlőpaneleket és a vezetékeket
Készítse elő a vezérlőpaneleket és a vezetékeket
Készítse elő a vezérlőpaneleket és a vezetékeket
Készítse elő a vezérlőpaneleket és a vezetékeket
Készítse elő a vezérlőpaneleket és a vezetékeket
Készítse elő a vezérlőpaneleket és a vezetékeket
Készítse elő a vezérlőpaneleket és a vezetékeket

Két PCA9685 16 csatornás PWM illesztőprogramot kell használnia a 28 órás szervók meghajtásához. A szervókat óra- és percszámjegyekre bontottam, minden számpárt egy tábla hajtott. Tehát az egyik táblám vezérli a szervókat a két órás számjegyekhez, a másik pedig a szervókat a két perces számjegyekhez.

A kettő összekapcsolásához össze kell állítania egy 6 vezetékes szalagkábel -csatlakozót, és egy második fejlécet kell forrasztania az első szervokártya másik végére. Meg kell változtatnia az I2C címet is a második táblán, hogy az eltérjen az elsőtől és egyedileg azonosítható legyen.

A három táblát (két szervólapot és az óramodult) az Arduino -hoz csatlakoztatni kell a kábelköteget is. Szükséged lesz 5 V -ra és GND -re minden táblához, valamint az I2C csatlakozásokhoz az Arduino A4 és A5 csapokhoz (I2C az Arduino Uno -n), és az óramodul CLK, DAT & RST csatlakozói az Arduino 6, 7 és 8 -as csapjaihoz illetőleg.

Az Arduino közvetlenül a 12 V -os tápegységről és a szervókról kapja az áramot az 5 V -os 5 A BEC -ről, amelyet ezután a PWM -illesztőprogram tetején lévő két csatlakozóhoz csatlakoztatnak. Csak egy szervo meghajtót kell csatlakoztatnia a tápellátáshoz, és a 6 vezetékes szalagkábel -csatlakozáson keresztül táplálja a másodikat.

3. lépés: Szerelje össze a szervókat

Szerelje össze a szervókat
Szerelje össze a szervókat
Szerelje össze a szervókat
Szerelje össze a szervókat
Szerelje össze a szervókat
Szerelje össze a szervókat

Miután kinyomtatta a szegmenseket, a hátát és az oldalát feketére kell permeteznie, hogy kevésbé láthatók legyenek, amikor 90 fokkal kikapcsolt helyzetben vannak.

Ezután fel kell ragasztania a szegmenseket a szervókarokra forró olvadék ragasztóval. Segít ragasztani őket a szervóra úgy, hogy a kar már a szervón van, így ellenőrizheti, hogy egyenesen és vízszintesen ragasztja -e őket.

Ezenkívül egy távtartó blokkot kell ragasztania minden szervó aljára.

Szerelje össze a pontokat úgy, hogy egy kis dübelt vagy kebabrudat ragaszt a pontok hátuljába, majd az alaptömbökbe. Ezeket a botokat is feketére szórtam, hogy szögből nézve kevésbé láthatóak legyenek.

4. lépés: Beállítás és tesztelés

Beállítás és tesztelés
Beállítás és tesztelés
Beállítás és tesztelés
Beállítás és tesztelés

Az összes szervót megszámoztam, és minden vezetékre felírtam a számot, hogy könnyebb legyen nyomon követni őket. A mértékegység felső szegmensével kezdtem, és a tízes számjegy középső szegmenséig dolgoztam. Ebben a sorrendben csatlakoztattam őket a szervo vezérlőkártyákhoz, emlékezve arra, hogy a táblák azonosítói 0 -tól 13 -ig számítanak, és nem 1 -től 14 -ig.

Ezután felállítottam a szegmenseket egy asztalra, elegendő hely közöttük a teszteléshez, hogy ne mozogjanak az egyikbe és a másikba, miközben beállították az utazási korlátokat és az irányokat. Ha megpróbálja közel egymáshoz állítani őket, akkor valószínűleg egy vagy kettő megpróbál rossz irányba mozogni vagy haladni egy bizonyos szakaszban, és ütni fog egy másikat, ami károsíthatja a szegmenst, a szervókarokat, vagy megfoszthatja a szervó fogaskerekeit.

5. lépés: A kód feltöltése

A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése

A kód első pillantásra bonyolultnak tűnik, de valójában viszonylag egyszerű a két használt könyvtárnak köszönhetően. Ezenkívül sok az ismétlés, mert négy különböző 7 szegmenses kijelzőt kell frissíteni.

Itt található a kód összefoglaló leírása, nézze meg a teljes útmutatót, ahol részletesebb magyarázatot talál, és egy linket a kód letöltéséhez - Mechanikus 7 szegmenses kijelzőóra

Kezdjük két könyvtár importálásával, a virtuabotixRTC.h az óra modulhoz és az Adafruit_PWMServoDriver.h a szervo meghajtókhoz. Az Adafruit könyvtár közvetlenül letölthető és telepíthető az IDE könyvtárkezelőjén keresztül.

Ezután létrehozunk egy objektumot minden vezérlőpulthoz a megfelelő címmel, egyet az óra számjegyekkel és egyet a perc számjegyekkel.

Ezután négy tömbünk van a szervó be- és kikapcsolási pozícióinak tárolására. A következő lépésekben módosítania kell ezeket a számokat, hogy megbizonyosodjon arról, hogy a szervók bekapcsolt helyzetben állnak, kikapcsolt állapotban 90 fokkal elfordulnak, és nem haladnak túl.

Egy számjegy tömb tárolja az egyes szegmensek pozícióit minden megjelenítendő számjegyhez.

Ezután beállítjuk az óra modult, és változókat hozunk létre az aktuális és a múltbeli számjegyek tárolására.

A beállítási funkcióban elindítjuk és beállítjuk a PWM vezérlőpaneleket, valamint szükség esetén frissítjük az órát. Ezután egy cikluson keresztül futunk, hogy a kijelzőt 8 8: 8 8 -ra állítsuk, így tudjuk az összes szervó kiindulási helyzetét. Ezt a szervókat is úgy kell beállítani, hogy mindegyikük felfelé nézzen.

A fő ciklusban megkapjuk a frissített időt az óra modulból, kiszórjuk a négy számjegybe, majd ellenőrizzük, hogy az idő változott -e az utolsó ellenőrzéshez képest. Ha az idő megváltozott, akkor frissítjük a kijelzőt, majd frissítjük az előző számjegyeket.

A frissítési kijelző funkcióban először a középső szegmenseket mozgatjuk. Ezt először azért kell megtenni, mert némi logika szükséges ahhoz, hogy a középső szegmens melletti két felső szegmenst kissé félretolja az útból, mielőtt a középső szegmenst elmozdítaná, különben beleütközik. A középső szegmensek mozgatása után a többi szegmens a megfelelő pozícióba kerül.

6. lépés: Az óra összeszerelése a hátsó táblán

Az óra összeszerelése a hátsó táblán
Az óra összeszerelése a hátsó táblán
Az óra összeszerelése a hátsó táblán
Az óra összeszerelése a hátsó táblán
Az óra összeszerelése a hátsó táblán
Az óra összeszerelése a hátsó táblán

Miután befejeztem a tesztelést, összeszereltem a szervókat a hátsó táblára, a fenti elrendezést útmutatóként.

A fehér terület a tábla teljes mérete, a világosabb szürke az egyes számjegyeket körülvevő terület, ahová a szervoszegmensek beköltöznek, a sötétszürke területen lévő körvonal pedig a külső 6 szegmens középvonala minden számjegy esetén.

Kivágtam a táblát, megjelöltem az elrendezést, majd a számjegyeket a helyükre ragasztottam, hogy kiépítsem az óralapot.

Ezután lyukakat fúrtam minden szervó közelében, és a vezetékeket a tábla hátuljához vezettem, hogy kevésbé láthatóak legyenek.

Kétoldalas szalaggal rögzítettem az elektronikát az óra hátoldalára.

7. lépés: Végső beállítás és kezelés

Végső beállítás és működés
Végső beállítás és működés
Végső beállítás és működés
Végső beállítás és működés
Végső beállítás és működés
Végső beállítás és működés
Végső beállítás és működés
Végső beállítás és működés

Miután a szervók készen voltak, eltávolítottam az összes szervokart a szegmensek helyzetének végső beállításához. Ebben az állapotban be kell kapcsolnia az Arduino-t, hogy a 8 8: 8 8 felirat jelenjen meg, majd húzza ki az áramellátást, ez újra összpontosítja az összes szervóját, hogy a szervókarokat vissza lehessen helyezni úgy, hogy a szegmensek olyan közel legyenek a függőlegeshez amint lehet.

Ezután szekvenciálisan be kell kapcsolnia az Arduino -t, és módosítania kell a szegmens be- és kikapcsolási pozícióit a négy tömbjében, hogy a szervók tökéletesen függőlegesek legyenek bekapcsolt állapotban, és 90 fokos fordulatot kell végezni kikapcsolás nélkül. Ez a lépés meglehetősen időigényes és némi türelmet igényel, de a végeredmény megéri!

Az órát 12 V -os tápegység és 5 V -os BEC csatlakoztatva hagyhatja áram alatt. Ha lemerül az áram, az RTC modul akkumulátora megtartja az időt, így az áramellátás visszaállításakor az óra automatikusan visszaáll a megfelelő időre.

Ha tetszett ez az Instructable, kérjük, szavazzon rá az Óra versenyen, és tudassa velem az esetleges fejlesztéseket vagy javaslatokat az alábbi megjegyzések részben.

Órák verseny
Órák verseny
Órák verseny
Órák verseny

Második díj az Óraversenyben

Ajánlott: