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, Studeni
Anonim
Mehanički sat sa sedam segmenata
Mehanički sat sa sedam segmenata
Mehanički sat sa sedam segmenata
Mehanički sat sa sedam segmenata

Prije nekoliko mjeseci napravio sam dvoznamenkasti mehanički 7 -segmentni zaslon koji sam pretvorio u mjerač vremena. Ispalo je prilično dobro i mnogi su ljudi predložili udvostručenje na zaslonu 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 potrebnih servo pogona pomoću dva I2C pina na Arduinu. Tako sam krenuo s izgradnjom 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 zaslona, a sve pokreće Arduino Uno.

Ako vam se sviđa ovaj Instructable, razmislite o glasovanju za njega u natjecanju Satovi

Pribor:

Za izradu sata, uz neke osnovne alate, trebat će vam i sljedeće zalihe:

  • Arduino Uno - Kupite ovdje
  • Modul sata DS1302 - Kupite ovdje
  • 2 x PCA9685 16Ch servo upravljački programi - kupite ovdje
  • 28 x mikro servo servisi - 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 - Kupite ovdje
  • Krug za uklanjanje baterije 5V 5A - Kupite ovdje
  • Napajanje od 12V - Kupite ovdje

Za ovaj projekt trebat će vam i neki 3D ispisani dijelovi. Ako već nemate 3D pisač i uživate u izradi stvari, svakako razmislite o kupnji. Ovdje se koristi Creality Ender 3 Pro pristupačne je cijene i proizvodi otiske prilično dobre kvalitete za svoju cijenu.

  • Korišteni 3D pisač - 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 također nosač za držanje segmenta iznad njega. Za svaki segment potrebne su dvije 3D ispisane komponente, odstojni blok koji podržava donju stranu serva i segment zaslona koji se lijepi izravno na servo krak.

Preuzmite datoteke za 3D ispis - Mehanički 7 -segmentni zaslon sa satom 3D datoteke za ispis

Ispišite servo segmente i točke pomoću PLA svijetle boje. Koristio sam prozirnu zelenu, ali bi i crvena, narančasta ili žuta trebala dobro djelovati. Koristio sam crni PLA za blokove razmaka i nosače točaka tako da nisu vidljivi kada se segmenti okrenu u položaj isključeno.

Ako nemate pristup 3D pisaču, isprobajte neku od mrežnih usluga ispisa. Dostupni su brojni pristupačni servisi koji će ispisati komponente i isporučiti ih na vaša vrata u 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 svojih 28 servo servera. Podijelio sam servosisteme na znamenke sata i minute, pri čemu svaki par znamenki pokreće jedna ploča. Tako da jedna ploča kontrolira servo za dvosatne znamenke, a druga kontrolira servo za dvominutne znamenke.

Da biste spojili njih dvoje, morat ćete sastaviti 6 -žični konektor s vrpčanim 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 modul 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 odnosno.

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 morate spojiti samo jedan servo upravljački program, a on će napajati drugi putem 6 -žilnog vrpčanog kabela.

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 krakove vrućim 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čke lijepljenjem male štapića ili štapića za kebab u stražnju stranu točkica, a zatim u temeljne blokove. I ove sam štapiće poprskao crnom bojom kako bi bili manje vidljivi ako se gledaju iz kuta.

Korak 4: Postavljanje i testiranje

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

Numerirao sam sve servomotore i zapisao broj na svaku žicu tako da ih je bilo lakše pratiti. Počeo sam s gornjim segmentom na znamenci jedinica i radio do srednjeg segmenta s znamenkom desetke. 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 se postavljala ograničenja putovanja i upute. Ako ih pokušate postaviti blizu jedan do drugog, vjerojatno ćete imati jedan ili dva pokušaja kretanja u pogrešnom smjeru ili prekoračenja u nekoj fazi i udariti u drugu koja može oštetiti segment, servo krak ili skinuti zupčanike na servo pogonu.

Korak 5: Prijenos 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, no zapravo je relativno jednostavan zahvaljujući dvije korištene knjižnice. Također se ima mnogo ponavljanja jer postoje četiri različita zaslona sa 7 segmenata koje je potrebno ažurirati.

Evo sažetog opisa koda, pogledajte cjeloviti vodič za detaljnije objašnjenje i vezu za preuzimanje koda - Mehanički 7 -segmentni sat za prikaz

Započinjemo uvozom dvije knjižnice, virtuabotixRTC.h za satni modul i Adafruit_PWMServoDriver.h za servo upravljačke programe. Knjižnica Adafruit može se preuzeti i instalirati izravno putem upravitelja knjižnice u IDE -u.

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

Zatim imamo četiri niza za spremanje položaja uključivanja i isključivanja za svaki servo. U sljedećim 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 prekomjerno putujete.

Niz znamenki sprema pozicije svakog segmenta za svaku znamenku koja se prikazuje.

Zatim smo postavili modul sata i stvorili 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 sata. Zatim prolazimo kroz petlju kako bismo postavili zaslon na 8 8: 8 8 tako da znamo početni položaj svih servomotora. Ovo se također koristi za postavljanje servo uređaja tako da svi budu ispravno okrenuti prema gore.

U glavnoj petlji dobivamo ažurirano vrijeme iz modula sata, razlijevamo ga na četiri znamenke, a zatim provjeravamo je li se vrijeme promijenilo od zadnje 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 za pomak dva gornja segmenta u blizini srednjeg segmenta malo s pomaka prije pomicanja srednjeg segmenta, inače će naletjeti na njih. Nakon pomicanja srednjih segmenata, preostali segmenti se pomiču u ispravne položaje.

Korak 6: Sastavljanje sata na stražnjoj ploči

Sastavljanje sata na stražnjoj ploči
Sastavljanje sata na stražnjoj ploči
Sastavljanje sata na stražnjoj ploči
Sastavljanje sata na stražnjoj ploči
Sastavljanje sata na stražnjoj ploči
Sastavljanje sata na stražnjoj ploči

Nakon što 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 pomiču segmenti serva, a obris na tamno sivoj površini je središnja linija za vanjskih 6 segmenata za svaku znamenku.

Izrezao sam ploču, označio izgled, a zatim zalijepio znamenke 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 budu manje vidljive.

Elektroniku sam pričvrstio dvostranom trakom na stražnju stranu sata.

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čnih prilagodbi položaja segmenata. Trebali biste uključiti Arduino u ovom stanju tako da se prikaže 8 8: 8 8, a zatim isključite napajanje, ovo ponovno centrira sve vaše servomotore tako da možete vratiti servo krakove sa segmentima okrenutim što bliže okomito koliko je moguće.

Zatim ćete morati uzastopno uključivati svoj Arduino i prilagođavati položaje uključivanja i isključivanja vašeg 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, kad se napajanje vrati, sat automatski vraća na točno vrijeme.

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

Natjecanje satova
Natjecanje satova
Natjecanje satova
Natjecanje satova

Druga nagrada na natjecanju satova

Preporučeni: