Sisällysluettelo:

Mekaaninen seitsemän segmentin näyttökello: 7 vaihetta (kuvien kanssa)
Mekaaninen seitsemän segmentin näyttökello: 7 vaihetta (kuvien kanssa)

Video: Mekaaninen seitsemän segmentin näyttökello: 7 vaihetta (kuvien kanssa)

Video: Mekaaninen seitsemän segmentin näyttökello: 7 vaihetta (kuvien kanssa)
Video: MITEN TYTÖT KÄY SALILLA | SKETSI 2024, Marraskuu
Anonim
Mekaaninen seitsemän segmentin näyttökello
Mekaaninen seitsemän segmentin näyttökello
Mekaaninen seitsemän segmentin näyttökello
Mekaaninen seitsemän segmentin näyttökello

Pari kuukautta sitten rakensin kaksinumeroisen mekaanisen 7 -segmenttinäytön, josta muutin ajastimen. Se tuli melko hyvin, ja monet ihmiset ehdottivat tuplaamista näytölle kellon tekemiseksi. Ongelmana oli, että PWM IO oli jo loppumassa Arduino Megasta, eikä minulla ollut tarpeeksi tilaa toiselle tai kolmannelle numerolle. Sitten minut osoitettiin näiden PCA9685 16 -kanavaisten PWM -ohjainten suuntaan, jotka toimivat I2C -liitännän kautta. Nämä mahdollistivat tarvittavien 28 servon ajamisen käyttämällä kaikkia Arduinon kahta I2C -nastaa. Joten ryhdyin rakentamaan kelloa, joka käyttää nyt DS1302 -reaaliaikaista kellomoduulia pitämään aikaa ja kahta 16 -kanavaista servo -ohjainta ohjaamaan näytön muodostamiseen käytettyjä 28 servoa, jotka kaikki toimivat Arduino Unolla.

Jos pidät tästä ohjeesta, harkitse sitä äänestämistä kellokilpailussa

Tarvikkeet:

Kellosi rakentamiseen tarvitset joitain perustyökalujen lisäksi seuraavia tarvikkeita:

  • Arduino Uno - Osta täältä
  • DS1302 kellomoduuli - Osta täältä
  • 2 x PCA9685 16Ch servo -ohjaimet - Osta täältä
  • 28 x Micro Servot - Osta täältä
  • Nauhakaapeli - Osta täältä
  • Urostapin otsikkoliuskat - Osta täältä
  • Naarasliittimen otsanauhat - Osta täältä
  • 3 mm MDF - Osta täältä
  • Musta ruiskumaali - Osta täältä
  • 5V 5A akun poistopiiri - Osta täältä
  • 12V virtalähde - Osta täältä

Tätä projektia varten tarvitset myös joitain 3D -painettuja osia. Jos sinulla ei vielä ole 3D -tulostinta ja nautit tekemisestä, sinun kannattaa ehdottomasti harkita sellaisen ostamista. Tässä käytetty Creality Ender 3 Pro on edullinen ja tuottaa melko laadukkaita tulosteita hintaan nähden.

  • Käytetty 3D -tulostin - Osta täältä
  • Filamentti - Osta täältä

Vaihe 1: Tulosta muoviosat 3D -muodossa

3D -tulostus muoviosista
3D -tulostus muoviosista
3D -tulostus muoviosista
3D -tulostus muoviosista
3D -tulostus muoviosista
3D -tulostus muoviosista

Suunnittelin 7 segmentin näytöt mahdollisimman yksinkertaisiksi. Servo on myös tukikiinnike, joka ylläpitää sen yläpuolella olevaa segmenttiä. Jokaista segmenttiä varten tarvitaan kaksi 3D -tulostettua komponenttia, välikappale, joka tukee servon alaosaa, ja näyttöosa, joka liimataan suoraan servovarteen.

Lataa 3D -tulostustiedostot - mekaaninen 7 -segmenttinen näyttökello 3D -tulostustiedostot

Tulosta servosegmentit ja pisteet kirkkaanvärisellä PLA: lla. Käytin läpikuultavaa vihreää, mutta myös punaisen, oranssin tai keltaisen pitäisi toimia hyvin. Käytin mustaa PLA: ta välikappaleissa ja pistetukissa, jotta ne eivät näy, kun segmentit käännetään pois päältä.

Jos sinulla ei ole pääsyä 3D -tulostimeen, kokeile jotain online -tulostuspalveluista. Saatavilla on useita edullisia palveluita, jotka tulostavat komponentit ja toimittavat ne kotiovellesi muutamassa päivässä.

Vaihe 2: Valmistele ohjauspaneelit ja johdot

Valmistele ohjauspaneelit ja johdot
Valmistele ohjauspaneelit ja johdot
Valmistele ohjauspaneelit ja johdot
Valmistele ohjauspaneelit ja johdot
Valmistele ohjauspaneelit ja johdot
Valmistele ohjauspaneelit ja johdot
Valmistele ohjauspaneelit ja johdot
Valmistele ohjauspaneelit ja johdot

Sinun on käytettävä kahta PCA9685 16 -kanavaista PWM -ohjainta 28 -kelloservojesi ajamiseen. Erotin servot tunnin ja minuutin numeroiksi, ja jokaista numeroparia ohjaa yksi lauta. Joten minulla on yksi levy, joka ohjaa servoja kahden tunnin numeroille ja toinen ohjaa servoja kahden minuutin numeroille.

Ketjuttaaksesi ne yhteen, sinun on muodostettava 6 -johtiminen nauhakaapelin liitin ja juotettava toinen otsanauha ensimmäisen servokortin toiseen päähän. Sinun on myös muutettava toisen taulun I2C -osoite niin, että se eroaa ensimmäisestä ja yksilöllisesti tunnistettavasta.

Sinun on myös valmisteltava johtosarja, jotta voit liittää kolme levyä (kaksi servokorttia ja kellomoduuli) Arduinoosi. Tarvitset 5 V. vastaavasti.

Virta syötetään Arduinolle suoraan 12 V: n virtalähteestä ja servoille käyttämällä 5 V 5A BEC: tä, joka on sitten kytketty kahteen liittimeen PWM -ohjaimen päällä. Sinun tarvitsee vain kytkeä yksi servo -ohjain virtalähteeseen ja se syöttää virtaa toiseen 6 -johtimisen nauhakaapeliliitännän kautta.

Vaihe 3: Kokoa servot

Kokoa servot
Kokoa servot
Kokoa servot
Kokoa servot
Kokoa servot
Kokoa servot

Kun olet tulostanut segmentit, sinun on suihkutettava takaosa ja sivut mustiksi, jotta ne näkyvät vähemmän, kun ne käännetään 90 astetta pois päältä.

Tämän jälkeen sinun on liimautettava segmentit servovarsillesi kuumaliimalla. Se auttaa liimaamaan ne servolle siten, että varsi on jo servossa, joten voit tarkistaa, että liimaat ne suoraan ja vaakasuoraan.

Sinun on myös liimata välikappale jokaisen servon pohjaan.

Kokoa pisteet liimaamalla pieni tappi tai kebab -tikku pisteiden taakse ja sitten pohjalohkoihin. Ruiskutin nämä sauvat myös mustiksi, jotta ne eivät näy paremmin kulmasta katsottuna.

Vaihe 4: Asennus ja testaus

Asennus ja testaus
Asennus ja testaus
Asennus ja testaus
Asennus ja testaus

Numeroin kaikki servot ja kirjoitin numeron jokaiseen lyijyyn, jotta oli helpompi seurata niitä. Aloitin ylemmällä segmentillä yksikkönumerolla ja työskentelin kymmenen numeron keskisegmentin ympärillä. Tämä on myös järjestys, jossa liitin ne servo -ohjainkortteihin muistaen, että levyjen tunnisteet lasketaan 0-13 eikä 1-14.

Asetin sitten segmentit pöydälle, jonka välissä oli riittävästi tilaa testausta varten, jotta ne eivät siirtyneet yhteen ja toisiin samalla kun määritettiin matkarajoitukset ja reittiohjeet. Jos yrität asettaa ne lähelle toisiaan, sinulla on todennäköisesti yksi tai kaksi yrittää liikkua väärään suuntaan tai yli matkan jossain vaiheessa ja osua toiseen, mikä voi vahingoittaa segmenttiä, servovartta tai irrottaa servon hammaspyörät.

Vaihe 5: Lataa koodi

Koodin lataaminen
Koodin lataaminen
Koodin lataaminen
Koodin lataaminen
Koodin lataaminen
Koodin lataaminen

Koodi näyttää ensi silmäyksellä monimutkaiselta, mutta se on itse asiassa suhteellisen yksinkertainen kahden käytetyn kirjaston ansiosta. Toistoja on myös paljon, koska on neljä erilaista 7 segmentin näyttöä, jotka on päivitettävä.

Tässä on koodin tiivistelmäkuvaus, tarkemmat selitykset ja linkki koodin lataamiseen - katso täydellinen opas - Mekaaninen 7 -segmenttinen näyttökello

Aloitamme tuomalla kaksi kirjastoa: virtabotixRTC.h kellomoduulille ja Adafruit_PWMServoDriver.h servo -ohjaimille. Adafruit -kirjasto voidaan ladata ja asentaa suoraan IDE: n kirjastonhallinnan kautta.

Luomme sitten kullekin ohjauspaneelille objektin, jolla on asianmukainen osoite, yksi tunnin numeroille ja yksi minuutin numeroille.

Meillä on sitten neljä matriisia jokaisen servon päälle- ja pois -asentojen tallentamiseen. Sinun on tehtävä muutoksia näihin numeroihin tulevissa vaiheissa varmistaaksesi, että servosi ovat pystyasennossa, kun ne ovat päällä, kääntyneet 90 astetta pois päältä eivätkä aja yli.

Numerotaulukko tallentaa kunkin segmentin sijainnit kullekin näytettävälle numerolle.

Asetamme sitten kellomoduulin ja luomme muuttujia nykyisten ja menneiden yksittäisten numeroiden tallentamiseksi.

Asetustoiminnossa aloitamme ja asennamme PWM -ohjauskortit sekä päivitämme kellonajan tarvittaessa. Suoritamme sitten silmukan läpi asettaaksemme näytön 8 8: 8 8 niin, että tiedämme kaikkien servojen lähtöasennon. Tätä käytetään myös servojen asettamiseen siten, että ne ovat kaikki ylöspäin oikein.

Pääsilmukassa saamme päivitetyn ajan kellomoduulista, kaatoimme sen neljään numeroon ja tarkistamme sitten, onko aika muuttunut viimeisestä tarkistuksesta. Jos aika on muuttunut, päivitämme näytön ja päivitämme sitten edelliset numerot.

Päivitä näyttötoiminnossa ensin siirrämme keskisegmenttejä. Tämä tehdään ensin, koska tarvitaan tiettyä logiikkaa siirtää kaksi keskisegmentin vieressä olevaa yläsegmenttiä hieman tieltä ennen keskimmäisen segmentin siirtämistä, muuten se törmää niihin. Kun keskisegmentit on siirretty, loput segmentit siirretään oikeisiin paikkoihin.

Vaihe 6: Kellon kokoaminen takalevylle

Kellon kokoaminen takalevylle
Kellon kokoaminen takalevylle
Kellon kokoaminen takalevylle
Kellon kokoaminen takalevylle
Kellon kokoaminen takalevylle
Kellon kokoaminen takalevylle

Kun olin saanut testin valmiiksi, koosin servot takalevylle käyttämällä yllä olevaa asettelua oppaana.

Valkoinen alue on levyn koko, vaaleampi harmaa on jokaista numeroa ympäröivä alue, johon servosegmentit siirtyvät, ja ääriviiva tummanharmaalla alueella on keskiviiva ulomman 6 segmentin kullekin numerolle.

Leikkasin levyn, merkitsin asettelun ja liimasin sitten numerot paikoilleen kellotaulun muodostamiseksi.

Porasin sitten reikiä jokaisen servon lähelle ja syötin johdot levyn taakse niin, että ne olivat vähemmän näkyvissä.

Asensin elektroniikan kellon taakse kaksipuolisella teipillä.

Vaihe 7: Lopullinen asennus ja käyttö

Lopullinen asennus ja käyttö
Lopullinen asennus ja käyttö
Lopullinen asennus ja käyttö
Lopullinen asennus ja käyttö
Lopullinen asennus ja käyttö
Lopullinen asennus ja käyttö
Lopullinen asennus ja käyttö
Lopullinen asennus ja käyttö

Kun servot olivat kaikki valmiita, poistin kaikki servovarret segmenttien asentojen lopullista säätöä varten. Käynnistä Arduino tässä tilassa niin, että 8 8: 8 8 näkyy näytöllä ja katkaise sitten virta, jolloin kaikki servot keskitetään uudelleen, jotta voit laittaa servovarret takaisin paikalleen niin, että segmentit ovat mahdollisimman lähellä pystysuoraa mahdollisimman.

Sinun on sitten käynnistettävä Arduinosi peräkkäin ja tehtävä muutoksia segmenttisi päälle- ja pois -asentoihin neljässä ryhmässäsi niin, että servot ovat täysin pystysuorassa, kun ne ovat päällä, ja kääntyvät 90 astetta pois päältä ilman ylimääräistä matkaa. Tämä vaihe on melko aikaa vievä ja vaatii hieman kärsivällisyyttä, mutta lopputulos on sen arvoista!

Kellon voi jättää käyttämättä 12 V: n virtalähdettä ja 5 V: n BEC -liitäntää. Jos virta katkeaa, RTC -moduulin akku pitää ajan niin, että kun virta palautuu, kello nollautuu automaattisesti oikeaan aikaan.

Jos pidit tästä Instructable -ohjelmasta, äänestä sitä Kello -kilpailussa ja kerro minulle mahdollisista parannuksista tai ehdotuksista alla olevissa kommenttiosioissa.

Kellokilpailu
Kellokilpailu
Kellokilpailu
Kellokilpailu

Toinen palkinto kellokilpailussa

Suositeltava: