Sadržaj:

Mehanički sat sa sedam segmenata za prikaz: 7 koraka (sa slikama)
Mehanički sat sa sedam segmenata za prikaz: 7 koraka (sa slikama)

Video: Mehanički sat sa sedam segmenata za prikaz: 7 koraka (sa slikama)

Video: Mehanički sat sa sedam segmenata za prikaz: 7 koraka (sa slikama)
Video: Putin pitao devetogodišnjeg dečaka "Gde se završavaju Ruske granice?" #balkan #srbija #putin 2024, Novembar
Anonim
Mehanički sedmo segmentni sat za prikaz
Mehanički sedmo segmentni sat za prikaz
Mehanički sedmo segmentni sat za prikaz
Mehanički sedmo segmentni sat za prikaz

Prije par mjeseci napravio sam dvocifreni mehanički 7 -segmentni ekran koji sam pretvorio u odbrojavač. Ispalo je prilično dobro i mnogi su ljudi predložili udvostručavanje ekrana kako bi napravili sat. Problem je bio u tome što mi je već ponestalo PWM IO -a na mom Arduino Mega -u i nisam imao dovoljno dostupnog za drugu ili treću znamenku. Zatim sam bio usmjeren u smjeru ovih PCA9685 16 -kanalnih PWM upravljačkih programa koji rade preko I2C sučelja. To je omogućilo vožnju sa 28 servo -a koji su mi bili potrebni koristeći dva I2C pina na Arduinu. Pa sam počeo raditi na izgradnji sata koji sada koristi DS1302 modul sata u stvarnom vremenu za čuvanje vremena i dva 16 -kanalna servo upravljačka programa za kontrolu 28 servo -a koji se koriste za sastavljanje ekrana, a sve pokreće Arduino Uno.

Ako vam se sviđa ovaj Instructable, razmislite o tome da glasate za njega na takmičenju Satovi

Potrošni materijal:

Da biste izgradili sat, uz neke osnovne alate trebat će vam i sljedeće potrepštine:

  • Arduino Uno - Kupite ovdje
  • Modul sata DS1302 - Kupite ovdje
  • 2 x PCA9685 16Ch servo upravljački programi - kupite ovdje
  • 28 x mikro servo servera - kupite ovdje
  • Vrpčasti kabel - kupite ovdje
  • Muške zaglavlje zaglavlja - Kupite ovdje
  • Ženske trake sa zaglavljem - Kupite ovdje
  • 3 mm MDF - Kupite ovdje
  • Crna boja u spreju - Kupi ovdje
  • Krug za uklanjanje baterije 5V 5A - Kupite ovdje
  • Napajanje od 12V - Kupite ovdje

Za ovaj projekt trebat će vam i neki 3D štampani dijelovi. Ako već nemate 3D štampač i uživate u izradi stvari, svakako razmislite o kupovini. Creality Ender 3 Pro koji se ovdje koristi pristupačan je i proizvodi otiske prilično dobre kvalitete za svoju cijenu.

  • Korišteni 3D štampač - Kupite ovdje
  • Filament - Kupite ovdje

Korak 1: 3D ispis plastičnih komponenti

3D ispis plastičnih komponenti
3D ispis plastičnih komponenti
3D ispis plastičnih komponenti
3D ispis plastičnih komponenti
3D ispis plastičnih komponenti
3D ispis plastičnih komponenti

Dizajnirao sam 7 segmentne zaslone da budu što jednostavniji. Servo je i nosač za držanje segmenta iznad njega. Za svaki segment potrebne su dvije 3D štampane komponente, odstojni blok koji podržava donju stranu serva i segment ekrana koji se lijepi direktno na servo krak.

Preuzmite datoteke za 3D štampanje - Mehaničke datoteke za 7 -segmentni prikaz sa 3D prikazom

Odštampajte servo segmente i tačke koristeći PLA svetle boje. Koristio sam prozirnu zelenu, ali bi i crvena, narančasta ili žuta trebala dobro funkcionirati. Koristio sam crni PLA za odstojnike i nosače tačaka tako da nisu vidljivi kada su segmenti okrenuti u položaj isključeno.

Ako nemate pristup 3D štampaču, isprobajte neku od usluga štampanja na mreži. Dostupni su brojni pristupačni servisi koji će odštampati komponente i isporučiti ih do vaših vrata za nekoliko dana.

Korak 2: Pripremite upravljačke ploče i ožičenje

Pripremite upravljačke ploče i ožičenje
Pripremite upravljačke ploče i ožičenje
Pripremite upravljačke ploče i ožičenje
Pripremite upravljačke ploče i ožičenje
Pripremite upravljačke ploče i ožičenje
Pripremite upravljačke ploče i ožičenje
Pripremite upravljačke ploče i ožičenje
Pripremite upravljačke ploče i ožičenje

Morat ćete koristiti dva PCA9685 16 -kanalna PWM upravljačka programa za pogon vaših 28 servo servera. Podijelio sam servosisteme u sate i minute, pri čemu svaki par cifara pokreće jedna ploča. Tako da jedna ploča kontrolira servosisteme za dvosatne znamenke, a druga kontrolira servo za dvominutne znamenke.

Da biste spojili njih dvoje, morat ćete sastaviti 6 -žični konektor s vrpčnim kabelom i lemiti drugu traku zaglavlja na drugi kraj prve servo upravljačke ploče. Također ćete morati promijeniti I2C adresu na drugoj ploči tako da se razlikuje od prve i da se može jedinstveno identificirati.

Također ćete morati sastaviti kabelski svežanj za spajanje tri ploče (dvije servo ploče i modula sata) na vaš Arduino. Za svaku ploču trebat će vam 5V i GND, kao i I2C veze s vašim Arduino pinovima A4 i A5 (I2C na Arduino Uno), a pinovi modula sata CLK, DAT & RST na pinove 6, 7 i 8 na vašem Arduinu respektivno.

Napajanje se napaja na Arduino izravno iz 12V napajanja i na servo upravljače pomoću 5V 5A BEC koji je zatim spojen na dva terminala na vrhu PWM upravljačkog programa. Na napajanje trebate priključiti samo jedan servo upravljački program, a on će napajati drugi putem 6 -žičnog kabela s vrpcom.

Korak 3: Sastavite servomotore

Sastavite servomotore
Sastavite servomotore
Sastavite servomotore
Sastavite servomotore
Sastavite servomotore
Sastavite servomotore

Nakon što odštampate segmente, morat ćete poprskati stražnju stranu i bočne strane tako da budu manje vidljivi kada se okrenu za 90 stupnjeva u položaj isključeno.

Zatim morate zalijepiti segmente na vaše servo ruke topljivim ljepilom. Pomaže pri lijepljenju na servo sa rukom koja je već na servo, na ovaj način možete provjeriti lijepite li ih ravno i ravno.

Također ćete morati zalijepiti odstojni blok na dno svakog serva.

Sastavite točkice lijepljenjem male štapića ili štapića za ćevape na stražnju stranu točkica, a zatim u temeljne blokove. I ove sam štapiće poprskao crnom bojom, tako da su manje vidljivi ako se gledaju iz kuta.

Korak 4: Postavite i testirajte

Postavljanje i testiranje
Postavljanje i testiranje
Postavljanje i testiranje
Postavljanje i testiranje

Numerisao sam sve servomotore i zapisao broj na svaku elektrodu tako da ih je bilo lakše pratiti. Počeo sam sa gornjim segmentom na cifri jedinica i prešao na srednji segment sa cifrom desetica. Ovo je također redoslijed kojim sam ih priključio na servo upravljačke ploče, sjećajući se da se identifikatori na pločama broje od 0 do 13, a ne od 1 do 14.

Zatim sam postavio segmente na stol s dovoljno prostora između njih za testiranje kako se ne bi premjestili u jedno i drugo dok su postavljana ograničenja putovanja i upute. Ako ih pokušate postaviti blizu jedno do drugog, vjerojatno ćete imati jedan ili dva pokušaja kretanja u pogrešnom smjeru ili prelaska u određenoj fazi i udariti u drugu koja može oštetiti segment, servo krak ili skinuti zupčanike na servu.

Korak 5: Učitavanje koda

Učitavanje koda
Učitavanje koda
Učitavanje koda
Učitavanje koda
Učitavanje koda
Učitavanje koda

Kod na prvi pogled izgleda komplicirano, ali je zapravo relativno jednostavan zahvaljujući dvije korištene biblioteke. Također se ima mnogo ponavljanja jer postoje četiri različita ekrana sa 7 segmenata koje je potrebno ažurirati.

Evo sažetog opisa koda, pogledajte potpuni vodič za detaljnije objašnjenje i vezu za preuzimanje koda - Mehanički sat sa 7 segmenata prikaza

Počinjemo uvozom dvije biblioteke, virtuabotixRTC.h za satni modul i Adafruit_PWMServoDriver.h za servo upravljačke programe. Biblioteka Adafruit može se preuzeti i instalirati direktno preko upravitelja biblioteke u IDE -u.

Zatim za svaku upravljačku ploču stvaramo objekt s odgovarajućom adresom, jedan za znamenke sati i jedan za minute.

Zatim imamo četiri niza za spremanje položaja uključivanja i isključivanja za svaki servo. U narednim koracima morat ćete prilagoditi ove brojeve kako biste bili sigurni da su vaši servo upravljači uspravni kada su uključeni, okrenuti za 90 stupnjeva kada su isključeni i da ne preteruju.

Niz cifara pohranjuje pozicije svakog segmenta za svaku cifru koja se prikazuje.

Zatim postavljamo modul sata i stvaramo varijable za pohranu trenutnih i prošlih pojedinačnih znamenki.

U funkciji postavljanja pokrećemo i postavljamo PWM upravljačke ploče, te po potrebi ažuriramo vrijeme na satu. Zatim prolazimo kroz petlju kako bismo postavili zaslon na 8 8: 8 8 tako da znamo početnu poziciju svih servomotora. Ovo se također koristi za postavljanje servo pogona tako da svi budu ispravno okrenuti prema gore.

U glavnoj petlji dobivamo ažurirano vrijeme iz modula sata, rasipamo ga na četiri znamenke, a zatim provjeravamo je li se vrijeme promijenilo od posljednje provjere. Ako se vrijeme promijenilo, ažuriramo zaslon, a zatim ažuriramo prethodne znamenke.

U funkciji prikaza ažuriranja prvo pomičemo srednje segmente. To se prvo radi jer je potrebna neka logika da se dva gornja segmenta u blizini srednjeg segmenta pomaknu malo s mjesta prije pomicanja srednjeg segmenta, u protivnom će naletjeti na njih. Nakon pomicanja srednjih segmenata, preostali segmenti se pomiču u ispravne položaje.

Korak 6: Sastavljanje sata na zadnjoj ploči

Sastavljanje sata na zadnjoj ploči
Sastavljanje sata na zadnjoj ploči
Sastavljanje sata na zadnjoj ploči
Sastavljanje sata na zadnjoj ploči
Sastavljanje sata na zadnjoj ploči
Sastavljanje sata na zadnjoj ploči

Kad sam završio s testiranjem, sastavio sam servo pogone na stražnju ploču koristeći gornji izgled kao vodič.

Bijelo područje je ukupna veličina ploče, svjetlije sivo je područje koje okružuje svaku znamenku u koju se servo segmenti kreću, a obris na tamno sivoj površini je središnja linija za vanjskih 6 segmenata za svaku znamenku.

Prerezao sam ploču, označio izgled, a zatim zalijepio cifre na mjestu kako bih napravio sat.

Zatim sam izbušio rupe u blizini svakog servo -a i provukao žice do stražnje strane ploče tako da su manje vidljive.

Elektroniku sam montirao na stražnju stranu sata dvostranom trakom.

Korak 7: Konačno postavljanje i rad

Konačno postavljanje i rad
Konačno postavljanje i rad
Konačno postavljanje i rad
Konačno postavljanje i rad
Konačno postavljanje i rad
Konačno postavljanje i rad
Konačno postavljanje i rad
Konačno postavljanje i rad

Nakon što su servomotori bili spremni, uklonio sam sve servo krakove radi konačnog prilagođavanja položaja segmenata. Trebali biste uključiti Arduino u ovom stanju tako da se prikaže 8 8: 8 8, a zatim isključiti napajanje, ovo će ponovno centrirati sve vaše servo pogone tako da možete vratiti servo ruke sa segmentima okrenutim što bliže okomito što je moguće.

Tada ćete morati sekvencijalno uključivati svoj Arduino i prilagođavati položaje uključivanja i isključivanja segmenta u četiri polja, tako da su servo upravljači savršeno okomiti kada su uključeni i okrenuti se za 90 stupnjeva kada su isključeni, a da ne putujete previše. Ovaj korak oduzima dosta vremena i zahtijeva malo strpljenja, ali krajnji rezultat se itekako isplati!

Sat se može ostaviti napajanim pomoću 12V napajanja i 5V BEC spojenog na njega. Ako se napajanje smanji, baterija na RTC modulu će zadržati vrijeme tako da se, kada se napajanje vrati, sat automatski vraća na točno vrijeme.

Ako vam se svidio ovaj Instructable, glasajte za njega na natjecanju Sat i obavijestite me o svim poboljšanjima ili prijedlozima do kojih možete doći u odjeljku komentara ispod.

Takmičenje u satovima
Takmičenje u satovima
Takmičenje u satovima
Takmičenje u satovima

Druga nagrada na takmičenju Satovi

Preporučuje se: