Turinys:
- 1 žingsnis: 3D spausdinkite plastikinius komponentus
- 2 žingsnis: Paruoškite valdymo plokštes ir laidus
- 3 žingsnis: Surinkite servos
- 4 veiksmas: nustatymas ir bandymas
- 5 veiksmas: įkelkite kodą
- 6 veiksmas: laikrodžio surinkimas ant galinės plokštės
- 7 žingsnis: Galutinė sąranka ir valdymas
Video: Mechaninis septynių segmentų ekrano laikrodis: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Prieš porą mėnesių sukūriau dviejų skaitmenų mechaninį 7 segmentų ekraną, kurį pavertiau atgalinės atskaitos laikmačiu. Tai pasirodė gana gerai, ir daugelis žmonių pasiūlė padvigubinti ekraną, kad padarytų laikrodį. Problema buvo ta, kad „Arduino Mega“jau baigėsi „PWM IO“ir neturėjau pakankamai vietos antrajam ar trečiajam skaitmeniui. Tada buvau nukreiptas šių PCA9685 16 kanalų PWM tvarkyklių, veikiančių per I2C sąsają, kryptimi. Tai leido vairuoti 28 man reikalingas servo sistemas naudojant du „I2C“kaiščius „Arduino“. Taigi aš pradėjau kurti laikrodį, kuris dabar naudoja DS1302 realaus laiko laikrodžio modulį, kad išlaikytų laiką, ir du 16 kanalų servo tvarkykles, kad valdyčiau 28 servo, naudojamus ekranui, kuriuos maitina „Arduino Uno“.
Jei jums patinka ši instrukcija, apsvarstykite galimybę balsuoti už ją laikrodžių konkurse
Priedai:
Norėdami sukurti laikrodį, be kai kurių pagrindinių įrankių jums reikės šių priedų:
- „Arduino Uno“- pirkite čia
- DS1302 laikrodžio modulis - pirkite čia
- 2 x PCA9685 16Ch servo tvarkyklės - pirkite čia
- 28 x „Micro Servos“- pirkite čia
- Juostos kabelis - pirkite čia
- Vyrų kaiščio antraštės - pirkite čia
- Moteriškos kaiščio antraštės - pirkite čia
- 3 mm MDF - pirkite čia
- Juodi purškiami dažai - pirkite čia
- 5V 5A akumuliatoriaus pašalinimo grandinė - pirkite čia
- 12 V maitinimo šaltinis - pirkite čia
Šiam projektui jums taip pat reikės 3D spausdintų dalių. Jei dar neturite 3D spausdintuvo ir jums patinka tai daryti, tikrai turėtumėte apsvarstyti galimybę jį nusipirkti. Čia naudojamas „Creality Ender 3 Pro“yra prieinamas ir už savo kainą gamina gana geros kokybės spaudinius.
- Naudotas 3D spausdintuvas - pirkite čia
- Filamentas - pirkite čia
1 žingsnis: 3D spausdinkite plastikinius komponentus
Sukūriau 7 segmentų ekranus, kad jie būtų kuo paprastesni. Servo taip pat yra atraminis laikiklis, skirtas išlaikyti segmentą virš jo. Kiekvienam segmentui reikalingi du 3D spausdinti komponentai: tarpinis blokas, palaikantis apatinę servo pusę, ir ekrano segmentas, kuris klijuojamas tiesiai ant servo svirties.
Atsisiųskite 3D spausdinimo failus - mechaninius 7 segmentų ekrano laikrodžio 3D spausdinimo failus
Spausdinkite servo segmentus ir taškus naudodami ryškios spalvos PLA. Aš naudojau permatomą žalią, bet raudona, oranžinė arba geltona taip pat turėtų gerai veikti. Aš naudoju juodą PLA tarpiniams blokams ir taškinėms atramoms, kad jie nebūtų matomi, kai segmentai pasukami į išjungtą padėtį.
Jei neturite prieigos prie 3D spausdintuvo, išbandykite vieną iš internetinių spausdinimo paslaugų. Yra daug prieinamų paslaugų, kurios išspausdins komponentus ir per kelias dienas pristatys juos iki jūsų durų.
2 žingsnis: Paruoškite valdymo plokštes ir laidus
Norėdami valdyti 28 laikrodžių servo, turėsite naudoti dvi PCA9685 16 kanalų PWM tvarkykles. Servus suskirstiau į valandos ir minutės skaitmenis, o kiekvieną skaitmenų porą valdė viena lenta. Taigi aš turiu vieną plokštę, valdančią dviejų valandų skaitmenų servo, o antroji - dviejų minučių skaitmenis.
Norėdami sujungti abi grandines, turėsite sudaryti 6 laidų juostos kabelio jungtį ir lituoti antrą antraštės juostą ant kito pirmosios servo valdymo plokštės galo. Taip pat turėsite pakeisti I2C adresą antroje lentoje, kad jis skirtųsi nuo pirmosios ir būtų unikaliai atpažįstamas.
Taip pat turėsite paruošti laidus, kad prijungtumėte tris plokštes (dvi servo plokštes ir laikrodžio modulį) prie „Arduino“. Jums reikės 5 V ir GND prie kiekvienos plokštės, taip pat I2C jungčių prie jūsų „Arduino“kaiščių A4 ir A5 („I2C“naudojant „Arduino Uno“), o laikrodžio modulio kaiščiai CLK, DAT ir RST prie 6, 7 ir 8 „Arduino“kaiščių atitinkamai.
Maitinimas į „Arduino“tiekiamas tiesiai iš 12 V maitinimo šaltinio ir į servoservisus naudojant 5 V 5A BEC, kuris tada prijungiamas prie dviejų terminalų, esančių PWM tvarkyklės viršuje. Prie maitinimo reikia prijungti tik vieną servo tvarkyklę, o ji maitins antrąją per 6 laidų juostos kabelio jungtį.
3 žingsnis: Surinkite servos
Atspausdinę segmentus turėsite purkšti nugarą ir šonus juodai, kad jie būtų mažiau matomi, kai jie pasukami 90 laipsnių kampu į išjungimo padėtį.
Tada jums reikia klijuoti segmentus ant servo rankenų karšto lydalo klijais. Tai padeda juos klijuoti ant servo, kai ranka jau yra ant servo, tokiu būdu galite patikrinti, ar klijuojate juos tiesiai ir lygiai.
Taip pat turėsite klijuoti tarpiklio bloką ant kiekvienos servo apačios.
Surinkite taškus, įklijuodami mažą kaištį ar kebabo lazdelę į taškų užpakalinę dalį, o tada į pagrindinius blokus. Aš taip pat purškiau šias lazdeles, kad jos būtų mažiau matomos žiūrint iš kampo.
4 veiksmas: nustatymas ir bandymas
Suskaičiavau visus servus ir užrašiau numerį ant kiekvieno laido, kad būtų lengviau juos sekti. Pradėjau nuo viršutinio vienetų skaičiaus segmento ir iki vidurinio dešimties skaitmenų segmento. Taip pat tokia tvarka aš prijungiau juos prie servo valdymo plokščių, prisimindamas, kad plokščių identifikatoriai skaičiuojami nuo 0 iki 13, o ne nuo 1 iki 14.
Tada aš nustatiau segmentus ant stalo, kad tarp jų būtų pakankamai erdvės bandymams, kad jie nebūtų perkelti į vieną ir kitą, nustatant kelionės apribojimus ir nurodymus. Jei bandysite juos pastatyti arti vienas kito, greičiausiai turėsite vieną ar du bandymus pasukti neteisinga kryptimi arba pervažiuoti tam tikru etapu ir pataikyti į kitą, kuris gali sugadinti segmentą, servo svirtį arba nuimti servo pavarą.
5 veiksmas: įkelkite kodą
Iš pirmo žvilgsnio kodas atrodo sudėtingas, tačiau iš tikrųjų jis yra gana paprastas dėl dviejų naudojamų bibliotekų. Taip pat daug kartojama, nes reikia atnaujinti keturis skirtingus 7 segmentų ekranus.
Čia pateikiamas apibendrintas kodo aprašymas, išsamesnį paaiškinimą ir kodo atsisiuntimo nuorodą rasite išsamiame vadove - mechaninis 7 segmentų ekrano laikrodis
Pradedame importuodami dvi bibliotekas - „virtuabotixRTC.h“laikrodžio moduliui ir „Adafruit_PWMServoDriver.h“- servo tvarkyklėms. „Adafruit“biblioteką galima atsisiųsti ir įdiegti tiesiogiai per bibliotekos valdytoją IDE.
Tada kiekvienai valdymo plokštei sukuriame objektą su atitinkamu adresu, vieną - valandos ir vieną - minutės skaitmenims.
Tada mes turime keturis masyvus, kad išsaugotume kiekvieno servo įjungimo ir išjungimo pozicijas. Ateinančiais veiksmais turėsite pakoreguoti šiuos skaičius, kad įsitikintumėte, jog jūsų servo įjungtas stačias stalas, išjungtas - 90 laipsnių kampu ir neperkeliauja.
Skaitmenų masyvas saugo kiekvieno segmento pozicijas kiekvienam rodomam skaitmeniui.
Tada mes nustatome laikrodžio modulį ir sukuriame kintamuosius, kad išsaugotume esamus ir buvusius atskirus skaitmenis.
Sąrankos funkcijoje pradedame ir nustatome PWM valdymo plokštes, taip pat, jei reikia, atnaujiname laikrodžio laiką. Tada mes einame per kilpą, kad ekranas būtų 8 8: 8 8, kad žinotume visų servo pradinę padėtį. Tai taip pat naudojama servo nustatymui, kad jie visi būtų tinkamai nukreipti į viršų.
Pagrindinėje kilpoje mes gauname atnaujintą laiką iš laikrodžio modulio, išpilstome jį į keturis skaitmenis ir tada patikriname, ar laikas nepasikeitė nuo paskutinio patikrinimo. Jei laikas pasikeitė, mes atnaujiname ekraną ir tada atnaujiname ankstesnius skaitmenis.
Atnaujinimo ekrano funkcijoje pirmiausia perkeliame vidurinius segmentus. Tai daroma pirmiausia, nes reikia tam tikros logikos, kad prieš perkeldami vidurinį segmentą du viršutinius segmentus, esančius greta vidurinio segmento, šiek tiek atitrauktumėte nuo kelio, kitaip jis į juos atsitrenks. Perkėlus vidurinius segmentus, likę segmentai perkeliami į teisingą padėtį.
6 veiksmas: laikrodžio surinkimas ant galinės plokštės
Baigęs testavimą, surinkiau servo ant galinės plokštės, naudodamas aukščiau pateiktą išdėstymą.
Baltoji sritis yra bendras plokštės dydis, šviesiai pilka yra sritis, supanti kiekvieną skaitmenį, į kurią patenka servo segmentai, o kontūras tamsiai pilkoje srityje yra išorinė 6 kiekvieno segmento linija.
Iškirpau lentą, pažymėjau maketą ir tada priklijavau skaitmenis, kad sudarytų laikrodžio rodyklę.
Tada aš išgręžiau skyles prie kiekvieno servo ir padaviau laidus iki plokštės galo, kad jie būtų mažiau matomi.
Aš pritvirtinau elektroniką ant laikrodžio galinės pusės dvipuse juosta.
7 žingsnis: Galutinė sąranka ir valdymas
Kai servo dalys buvo paruoštos, pašalinau visas servo svirtis, kad galutinai sureguliuotumėte segmentų padėtį. Turėtumėte įjungti „Arduino“šioje būsenoje, kad būtų rodomas 8 8: 8 8, ir tada atjunkite maitinimą, o tai iš naujo sutelkia visas jūsų servo sistemas, kad galėtumėte vėl uždėti servo rankas taip, kad segmentai būtų kuo arčiau vertikalios kaip įmanoma.
Tada turėsite nuosekliai įjungti „Arduino“ir pakoreguoti savo segmento įjungimo ir išjungimo pozicijas keturiose masyvuose, kad įjungus servoservisas būtų visiškai vertikalus, o išjungus pasukite 90 laipsnių kampu. Šis žingsnis užima daug laiko ir reikalauja šiek tiek kantrybės, tačiau galutinis rezultatas to vertas!
Laikrodį galima palikti maitinti naudojant 12 V maitinimo šaltinį ir prie jo prijungtą 5 V BEC. Jei maitinimas sumažėja, RTC modulio akumuliatorius laiko laiką, kad atgavus maitinimą, laikrodis automatiškai atstatytų teisingą laiką.
Jei jums patiko šis „Instructable“, balsuokite už jį laikrodžio konkurse ir praneškite man apie visus patobulinimus ar pasiūlymus, kuriuos galite pateikti toliau pateiktame komentarų skyriuje.
Antrasis prizas laikrodžių konkurse
Rekomenduojamas:
Septynių segmentų ekrano valdymas naudojant „Arduino“ir 74HC595 pamainų registrą: 6 žingsniai
Septynių segmentų ekrano valdymas naudojant „Arduino“ir 74HC595 pamainų registrą: Ei, kas vyksta, vaikinai! Akarsh čia iš „CETech“. Septynių segmentų ekranai yra gerai pažvelgti ir visada yra patogus įrankis duomenims rodyti skaitmenimis, tačiau juose yra trūkumas, kai mes realiai valdome septynių segmentų ekraną
„Pasidaryk pats“septynių segmentų ekrano laikrodis: 9 žingsniai
„Pasidaryk pats“septynių segmentų ekrano laikrodis: šioje pamokoje aš parodysiu, kaip sukurti septynių segmentų laikrodį
Septynių segmentų IR imtuvo namų signalizacijos sistema: 6 žingsniai
Septynių segmentų IR imtuvo namų signalizacijos sistema: tai puikus projektas pradėti, jei norite išmokti naudotis 4 skaitmenų 7 segmentų ekranu ir sukurti kažką įdomaus, kurį iš tikrųjų galima įgyvendinti aplink jūsų namus. Jums nereikia naudoti 4 skaitmenų 7 segmentų ekrano, kurį galite nustatyti
Perdirbtas septynių segmentų PVC ekranas: 5 žingsniai (su nuotraukomis)
Perdirbtas septynių segmentų PVC ekranas: jau kurį laiką planavau sukurti skaitmeninį laikrodį, kurį galiu pakabinti ant savo sienos, bet vis jį dėjau, nes tiesiog nenorėjau pirkti akrilo, todėl panaudojau likusius PVC kabelių kanalus ir Turiu pasakyti, kad rezultatai yra ne ta lova, todėl
Motociklų pavarų padėtis su septynių segmentų ekranu: 4 žingsniai
Motociklo pavaros padėtis su septynių segmentų ekranu: Šis projektas apima daugelio įėjimų (šiuo atveju 7) iššifravimą, kad būtų rodomi kaip skaitinės vertės septynių segmentų ekrane (SSD), naudojant vadinamąjį dvejetainį koduotą dešimtainį skaičių (BCD), diodinę matricą ir mikroschema, vadinama BCD4511 (arba CD4511). Turėjau