Përmbajtje:

Ora mekanike e shfaqjes me shtatë segmente: 7 hapa (me fotografi)
Ora mekanike e shfaqjes me shtatë segmente: 7 hapa (me fotografi)

Video: Ora mekanike e shfaqjes me shtatë segmente: 7 hapa (me fotografi)

Video: Ora mekanike e shfaqjes me shtatë segmente: 7 hapa (me fotografi)
Video: Noizy Sherr Live..❌😳 Mos e humbisni 2024, Nëntor
Anonim
Ora mekanike e shfaqjes me shtatë segmente
Ora mekanike e shfaqjes me shtatë segmente
Ora mekanike e shfaqjes me shtatë segmente
Ora mekanike e shfaqjes me shtatë segmente

Nja dy muaj më parë ndërtova një ekran mekanik me dy shifra me 7 segmente, të cilin e ktheva në një kohëmatës. Doli mjaft mirë dhe një numër njerëzish sugjeruan dyfishimin në ekran për të bërë një orë. Problemi ishte se unë tashmë po mbaroja PWM IO në Arduino Mega dhe nuk kisha mjaftueshëm në dispozicion për shifrat e dyta ose të treta. Më pas u drejtova në drejtimin e këtyre drejtuesve PWM 16 kanalësh PCA9685 i cili funksionon mbi një ndërfaqe I2C. Këto bënë të mundur drejtimin e 28 servos që më duheshin të gjithë duke përdorur dy kunjat I2C në një Arduino. Kështu fillova të punoj duke ndërtuar një orë e cila tani përdor një modul të orës në kohë reale DS1302 për të mbajtur kohën dhe dy servo drejtues 16 kanalësh për të kontrolluar 28 servot e përdorura për të përbërë ekranin, të gjithë të mundësuar nga një Arduino Uno.

Nëse ju pëlqen kjo Udhëzues, ju lutemi konsideroni të votoni për të në Konkursin e Orëve

Furnizimet:

Për të ndërtuar orën tuaj, do t'ju duhet furnizimet e mëposhtme përveç disa mjeteve themelore:

  • Arduino Uno - Blini Këtu
  • Moduli i orës DS1302 - Blini këtu
  • 2 x PCA9685 16Ch Servo Drivers - Blini Këtu
  • 28 x Mikro Servos - Blini Këtu
  • Kabllo fjongo - Blini Këtu
  • Shirita me kokë për meshkuj - Blini këtu
  • Shirita me kokë për femra - blini këtu
  • MDF 3mm - Blini Këtu
  • Bojë me llak të zi - Blini këtu
  • Qarku i Eliminimit të Baterisë 5V 5A - Blini Këtu
  • Furnizimi me energji 12V - Blini Këtu

Për këtë projekt do t'ju duhen edhe disa pjesë të printuara 3D. Nëse nuk keni një printer 3D dhe ju pëlqen të bëni gjëra, atëherë patjetër që duhet të konsideroni blerjen e një. Creality Ender 3 Pro i përdorur këtu është i përballueshëm dhe prodhon printime me cilësi mjaft të mirë për çmimin e tij.

  • Printeri 3D i Përdorur - Blini Këtu
  • Filament - Blini Këtu

Hapi 1: Shtypni 3D Komponentët Plastikë

Shtypni 3D Komponentët Plastikë
Shtypni 3D Komponentët Plastikë
Shtypni 3D Komponentët Plastikë
Shtypni 3D Komponentët Plastikë
Shtypni 3D Komponentët Plastikë
Shtypni 3D Komponentët Plastikë

Kam projektuar ekranet me 7 segmente që të jenë sa më të thjeshtë. Servo është gjithashtu kllapa mbështetëse për të mbajtur segmentin mbi të. Janë të nevojshme dy komponentë të printuar 3D për secilin segment, një bllok ndarës për të mbështetur anën e poshtme të servo dhe segmentin e ekranit i cili ngjitet drejtpërdrejt në krahun servo.

Shkarkoni skedarët e printimit 3D - Skedari mekanik 7 i ekranit të orës së printimit të skedarëve 3D

Shtypni segmentet dhe pikat servo duke përdorur një PLA me ngjyra të ndezura. Kam përdorur jeshile të tejdukshme, por e kuqja, portokallia ose e verdha duhet të funksionojnë gjithashtu. Kam përdorur PLA të zezë për blloqet ndarës dhe mbështetëset e pikave në mënyrë që ato të mos jenë të dukshme kur segmentet kthehen në pozicionin e fikur.

Nëse nuk keni qasje në një printer 3D, provoni një nga shërbimet e printimit në internet. Ekzistojnë një numër shërbimesh të përballueshme të cilat do të printojnë komponentët dhe do t'i dorëzojnë në derën tuaj brenda pak ditësh.

Hapi 2: Përgatitni Bordet dhe Instalimet tuaja të Kontrollit

Përgatitni Bordet dhe Instalimet tuaja të Kontrollit
Përgatitni Bordet dhe Instalimet tuaja të Kontrollit
Përgatitni Bordet dhe Instalimet tuaja të Kontrollit
Përgatitni Bordet dhe Instalimet tuaja të Kontrollit
Përgatitni Bordet dhe Instalimet tuaja të Kontrollit
Përgatitni Bordet dhe Instalimet tuaja të Kontrollit
Përgatitni Bordet dhe Instalimet tuaja të Kontrollit
Përgatitni Bordet dhe Instalimet tuaja të Kontrollit

Ju do të duhet të përdorni dy drejtues PWM 16 kanalësh PCA9685 për të drejtuar 28 serviset tuaja të orës. I ndava servot në shifrat e orës dhe minutës, me secilën palë shifra që drejtohen nga një tabelë. Kështu që unë kam një tabelë që kontrollon servot për shifrat dy orëshe dhe të dytën që kontrollon servot për shifrat dy minutëshe.

Për t'i lidhur të dyja së bashku, do t'ju duhet të krijoni një lidhës kabllor me fjongo me 6 tela dhe të lidhni një shirit të dytë të kokës në skajin tjetër të bordit të parë të servo kontrollit. Ju gjithashtu do të duhet të ndryshoni adresën I2C në tabelën e dytë në mënyrë që të jetë e ndryshme nga e para dhe e identifikueshme në mënyrë unike.

Ju gjithashtu do të duhet të krijoni parzmore instalime elektrike për të lidhur tre bordet (dy borde servo dhe modulin e orës) me Arduino tuaj. Ju do të keni nevojë për 5V dhe GND për secilën tabelë, si dhe lidhjet I2C me kunjat tuaja Arduino A4 dhe A5 (I2C në Arduino Uno), dhe kunjat e modulit të orës CLK, DAT & RST në kunjat 6, 7 & 8 në Arduino tuaj. respektivisht

Fuqia furnizohet me Arduino drejtpërdrejt nga furnizimi me energji 12V dhe servos duke përdorur 5V 5A BEC i cili më pas lidhet me dy terminalet në krye të drejtuesit PWM. Ju duhet vetëm të lidhni një drejtues servo me energji elektrike dhe ai do të furnizojë energjinë me të dytin përmes lidhjes së kabllit me shirit 6 telësh.

Hapi 3: Mblidhni Servos

Mblidhni Servos
Mblidhni Servos
Mblidhni Servos
Mblidhni Servos
Mblidhni Servos
Mblidhni Servos

Pasi të keni printuar segmentet tuaja, do t'ju duhet të spërkatni pjesën e pasme dhe anët e zeza në mënyrë që ato të jenë më pak të dukshme kur kthehen 90 gradë në pozicionin e fikur.

Pastaj ju duhet të ngjitni segmentet në krahët tuaj servo me zam të shkrirë të nxehtë. Ndihmon për t'i ngjitur ato në servo me krahun tashmë në servo, në këtë mënyrë ju mund të kontrolloni nëse i ngjitni ato drejt dhe në nivel.

Ju gjithashtu do të duhet të ngjitni një bllok ndarës në pjesën e poshtme të secilit servo.

Mblidhni pikat duke ngjitur një kunj të vogël ose shufër qebapi në pjesën e prapme të pikave dhe më pas në blloqet bazë. Unë i spërkova edhe këto shkopinj me ngjyrë të zezë, në mënyrë që ato të jenë më pak të dukshme nëse shihen nga një kënd.

Hapi 4: Vendosni & Testoni

Konfiguro & Testo
Konfiguro & Testo
Konfiguro & Testo
Konfiguro & Testo

I numërova të gjithë servot dhe shkruaja numrin në secilën plumb në mënyrë që të ishte më e lehtë t'i mbaja shënimet e tyre. Fillova me segmentin e lartë në shifrën e njësive dhe punova në segmentin e mesëm në shifrën e dhjetëra. Ky është gjithashtu rendi në të cilin i futa në bordet e kontrollit të servo, duke kujtuar se identifikuesit në dërrasat llogariten nga 0 në 13 dhe jo nga 1 në 14.

Pastaj i vendosa segmentet në një tryezë me hapësirë të mjaftueshme midis tyre për testim në mënyrë që ata të mos lëviznin në njërën dhe tjetrën gjatë marrjes së kufijve dhe drejtimeve të udhëtimit. Nëse provoni t'i vendosni afër së bashku, ka të ngjarë që një ose dy të përpiqen të lëvizin në drejtim të gabuar ose të udhëtojnë gjatë një faze dhe të godasin një tjetër që mund të dëmtojë segmentin, krahun servo ose të heqë ingranazhet në servo.

Hapi 5: Ngarkimi i Kodit

Ngarkimi i Kodit
Ngarkimi i Kodit
Ngarkimi i Kodit
Ngarkimi i Kodit
Ngarkimi i Kodit
Ngarkimi i Kodit

Kodi duket i komplikuar në shikim të parë, por në fakt është relativisht i thjeshtë falë dy bibliotekave të përdorura. Ka gjithashtu shumë përsëritje sepse ka katër ekrane të ndryshëm me 7 segmente që kanë nevojë të përditësohen.

Këtu keni një përshkrim përmbledhës të kodit, hidhini një sy udhëzuesit të plotë për një shpjegim më të detajuar dhe një lidhje për të shkarkuar kodin - Ora e shfaqjes së segmentit mekanik 7

Fillojmë duke importuar dy biblioteka, virtuabotixRTC.h për modulin e orës dhe Adafruit_PWMServoDriver.h për drejtuesit e shërbimeve. Biblioteka Adafruit mund të shkarkohet dhe instalohet direkt përmes menaxherit të bibliotekës në IDE.

Ne pastaj krijojmë një objekt për secilën tabelë kontrolli me adresën përkatëse, një për shifrat e orës dhe një për shifrat e minutës.

Ne pastaj kemi katër grupe për të ruajtur pozicionet e ndezjes dhe fikjes për secilin servo. Ju do të keni nevojë të bëni rregullime në këta numra në hapat e ardhshëm për t'u siguruar që servot tuaj të jenë të drejtë kur janë të ndezur, të kthyer 90 gradë kur janë të fikur dhe të mos udhëtojnë gjatë.

Një grup shifror ruan pozicionet e secilit segment për secilën shifër që do të shfaqet.

Ne pastaj vendosim modulin e orës dhe krijojmë variabla për të ruajtur shifrat individuale aktuale dhe të kaluara.

Në funksionin e konfigurimit ne fillojmë dhe vendosim bordet e kontrollit PWM si dhe përditësojmë kohën e orës nëse kërkohet. Ne pastaj kalojmë nëpër një lak për të vendosur ekranin në 8 8: 8 8 në mënyrë që të dimë pozicionin fillestar të të gjithë servos. Kjo përdoret gjithashtu për të vendosur servot në mënyrë që ata të jenë të gjithë përballë saktë.

Në lakin kryesor marrim kohën e azhurnuar nga moduli i orës, e derdhim atë në katër shifra dhe pastaj kontrollojmë nëse koha ka ndryshuar nga kontrolli i fundit. Nëse koha ka ndryshuar atëherë ne përditësojmë ekranin dhe pastaj përditësojmë shifrat e mëparshme.

Në funksionin e shfaqjes së azhurnimit, ne së pari lëvizim segmentet e mesme. Kjo bëhet së pari sepse kërkohet një logjikë për të lëvizur dy segmentet e sipërme ngjitur me segmentin e mesëm pak nga rruga para se të lëvizni segmentin e mesëm, përndryshe do të përplaset me to. Pasi të zhvendosen segmentet e mesme atëherë segmentet e mbetura zhvendosen në pozicionet e sakta.

Hapi 6: Montimi i orës në tabelën e pasme

Montimi i orës në tabelën e pasme
Montimi i orës në tabelën e pasme
Montimi i orës në tabelën e pasme
Montimi i orës në tabelën e pasme
Montimi i orës në tabelën e pasme
Montimi i orës në tabelën e pasme

Pasi mbarova me testimin, i mblodha servot në tabelën e pasme duke përdorur paraqitjen e mësipërme si udhëzues.

Zona e bardhë është madhësia e përgjithshme e tabelës, gri më e çelët është zona që rrethon çdo shifër ku lëvizin segmentet servo dhe skica në zonën gri të errët është vija qendrore për 6 segmentet e jashtme për çdo shifër.

E preva tabelën, shënova paraqitjen dhe pastaj ngjita shifrat në vend për të përbërë faqen e orës.

Pastaj shpova vrima pranë secilit servo dhe i futja telat në pjesën e pasme të tabelës në mënyrë që ato të ishin më pak të dukshme.

I montova pajisjet elektronike në pjesën e pasme të orës me shirit të dyanshëm.

Hapi 7: Konfigurimi dhe funksionimi përfundimtar

Konfigurimi dhe funksionimi përfundimtar
Konfigurimi dhe funksionimi përfundimtar
Konfigurimi dhe funksionimi përfundimtar
Konfigurimi dhe funksionimi përfundimtar
Konfigurimi dhe funksionimi përfundimtar
Konfigurimi dhe funksionimi përfundimtar
Konfigurimi dhe funksionimi përfundimtar
Konfigurimi dhe funksionimi përfundimtar

Pasi servot ishin të gjitha gati, unë hoqa të gjitha krahët servo për rregullimet përfundimtare në pozicionet e segmenteve. Ju duhet ta aktivizoni Arduino-n në këtë gjendje në mënyrë që të shfaqet 8 8: 8 8 dhe më pas të shkëputeni fuqinë, kjo ri-qendërzon të gjithë servot tuaj në mënyrë që të mund t'i vendosni krahët servo përsëri me segmentet përballë vertikalit sa të jetë e mundur.

Atëherë do t'ju duhet të aktivizoni në mënyrë sekuenciale Arduino -n tuaj dhe të bëni rregullime në segmentin tuaj në pozicionet e ndezjes dhe fikjes në katër vargjet tuaja në mënyrë që servot të jenë krejtësisht vertikale kur ndizen dhe të kthehen në 90 gradë kur fikni pa udhëtime të tepërta. Ky hap kërkon shumë kohë dhe kërkon pak durim, por rezultati përfundimtar ia vlen!

Ora mund të lihet e ndezur duke përdorur furnizimin me energji 12V dhe 5V BEC të lidhur me të. Nëse energjia bie, bateria në modulin RTC do të mbajë kohën në mënyrë që kur të rikthehet energjia, ora të rivendoset automatikisht në kohën e duhur.

Nëse ju pëlqeu ky udhëzues, ju lutemi votoni për të në konkursin e orës dhe më tregoni për çdo përmirësim ose sugjerim që mund të dilni në seksionin e komenteve më poshtë.

Konkursi i orëve
Konkursi i orëve
Konkursi i orëve
Konkursi i orëve

Çmimi i dytë në Konkursin e Orëve

Recommended: