Sisukord:

Mehaaniline seitsme segmendi ekraan: 7 sammu (piltidega)
Mehaaniline seitsme segmendi ekraan: 7 sammu (piltidega)

Video: Mehaaniline seitsme segmendi ekraan: 7 sammu (piltidega)

Video: Mehaaniline seitsme segmendi ekraan: 7 sammu (piltidega)
Video: Tourist Trophy: Closer To The Edge - Полный документальный фильм TT3D (Доступны субтитры !!) 2024, Juuli
Anonim
Mehaaniline seitsme segmendi ekraan
Mehaaniline seitsme segmendi ekraan
Mehaaniline seitsme segmendi ekraan
Mehaaniline seitsme segmendi ekraan

Paar kuud tagasi ehitasin kahekohalise 7 -segmendilise mehaanilise ekraani, millest sai taimer. See tuli üsna hästi välja ja paljud inimesed soovitasid kella tegemiseks ekraanil kahekordistada. Probleem oli selles, et mul hakkas Arduino Mega PWM IO juba otsa saama ja mul ei olnud piisavalt ruumi teise või kolmanda numbri jaoks. Seejärel suunati mind nende PCA9685 16 -kanaliliste PWM -draiverite suunas, mis töötab I2C -liidese kaudu. Need võimaldasid juhtida kõiki 28 vajaminevat servot, kasutades Arduino kahte I2C tihvti. Nii hakkasin ma ehitama kella, mis kasutab nüüd DS1302 reaalajas kella moodulit aja hoidmiseks ja kahte 16 -kanalilist servodraiverit, et juhtida ekraani moodustamiseks kasutatud 28 servot, mis kõik on varustatud Arduino Unoga.

Kui teile see juhendamine meeldib, kaaluge kellade konkursil selle poolt hääletamist

Tarvikud:

Kella ehitamiseks vajate lisaks põhitööriistadele ka järgmisi tarvikuid:

  • Arduino Uno - ostke siit
  • DS1302 kella moodul - ostke siit
  • 2 x PCA9685 16Ch servo draiverit - ostke siit
  • 28 x mikroservot - ostke siit
  • Lintkaabel - ostke siit
  • Meeste tihvtide päise ribad - ostke siit
  • Naiste tihvtide päise ribad - ostke siit
  • 3 mm MDF - ostke siit
  • Must pihustusvärv - ostke siit
  • 5V 5A aku kõrvaldamise ahel - osta siit
  • 12 V toiteallikas - osta siit

Selle projekti jaoks vajate ka mõnda 3D -trükitud osa. Kui teil pole veel 3D -printerit ja teile meeldib seda teha, peaksite kindlasti kaaluma selle ostmist. Siin kasutatav Creality Ender 3 Pro on taskukohane ja toodab oma hinna eest päris hea kvaliteediga väljatrükke.

  • Kasutatud 3D -printer - ostke siit
  • Hõõgniit - ostke siit

Samm: plastkomponentide 3D printimine

3D -printimine plastkomponentidest
3D -printimine plastkomponentidest
3D -printimine plastkomponentidest
3D -printimine plastkomponentidest
3D -printimine plastkomponentidest
3D -printimine plastkomponentidest

Kujundasin 7 segmendi kuvarid võimalikult lihtsaks. Servo on ka tugiklamber selle kohal oleva segmendi hoidmiseks. Iga segmendi jaoks on vaja kahte 3D -trükitud komponenti, vaheplokki servo alumise külje toetamiseks ja kuvarisegment, mis liimib otse servovarre külge.

Laadige alla 3D -prindifailid - mehaanilised 7 -segmendilise ekraaniga 3D -prindifailid

Printige servo segmendid ja punktid erksavärvilise PLA abil. Kasutasin poolläbipaistvat rohelist, kuid ka punane, oranž või kollane peaks hästi toimima. Vaheplokkide ja punkttugede jaoks kasutasin musta PLA -d, nii et need ei oleks nähtavad, kui segmendid on välja lülitatud.

Kui teil pole 3D -printerile juurdepääsu, proovige mõnda veebipõhist printimisteenust. Saadaval on mitmeid taskukohaseid teenuseid, mis prindivad komponendid välja ja toimetavad need mõne päeva jooksul teie ukseni.

Samm: valmistage ette juhtpaneelid ja juhtmestik

Valmistage juhtpaneelid ja juhtmestik ette
Valmistage juhtpaneelid ja juhtmestik ette
Valmistage juhtpaneelid ja juhtmestik ette
Valmistage juhtpaneelid ja juhtmestik ette
Valmistage juhtpaneelid ja juhtmestik ette
Valmistage juhtpaneelid ja juhtmestik ette
Valmistage juhtpaneelid ja juhtmestik ette
Valmistage juhtpaneelid ja juhtmestik ette

28 -tunnise servo juhtimiseks peate kasutama kahte PCA9685 16 -kanalilist PWM -draiverit. Ma eraldasin servod tunni ja minuti numbriteks, kusjuures iga numbripaari juhtis üks tahvel. Nii et mul on üks tahvel, mis kontrollib kahe tunni numbrite servosid ja teine kahe minuti numbrite servosid.

Nende kahe ühendamiseks peate moodustama 6 -juhtmelise lintkaabli pistiku ja jootma teise päisriba esimese servojuhtimisplaadi teise otsa. Peate muutma ka teise tahvli I2C aadressi, et see erineks esimesest ja oleks kordumatult tuvastatav.

Samuti peate valmistama juhtmestiku, et ühendada kolm plaati (kaks servoplaati ja kella moodul) oma Arduinoga. Igale tahvlile on vaja 5 V ja GND -d, samuti I2C -ühendusi oma Arduino tihvtidega A4 ja A5 (I2C Arduino Uno -l) ning kellamooduli tihvte CLK, DAT & RST teie Arduino tihvtidele 6, 7 ja 8 vastavalt.

Toide antakse Arduinole otse 12 V toiteallikast ja servodele, kasutades 5 V 5A BEC -d, mis seejärel ühendatakse PWM -draiveri ülaosas asuvate kahe klemmiga. Toiteallikaks peate ühendama ainult ühe servodraiveri ja see toidab voolu teisele 6 -juhtmelise lintkaabliühenduse kaudu.

Samm: ühendage servod kokku

Pange servod kokku
Pange servod kokku
Pange servod kokku
Pange servod kokku
Pange servod kokku
Pange servod kokku

Kui olete oma segmendid printinud, peate pritsima tagakülje ja küljed mustaks, et need oleksid 90 -kraadise väljalülitatud asendiga vähem nähtavad.

Seejärel peate segmendid oma servovartele kuumliimiliimiga liimima. See aitab neid servole liimida, kui käsi on juba servol, nii saate kontrollida, kas liimite need sirgelt ja tasaselt.

Samuti peate iga servo põhjale liimima vaheploki.

Pange täpid kokku, liimides väikese tüübli või kebabipulga täppide taha ja seejärel alusplokkidesse. Pritsisin ka need pulgad mustaks, et need oleks nurga alt vaadatuna vähem nähtavad.

Samm: seadistamine ja testimine

Seadistamine ja testimine
Seadistamine ja testimine
Seadistamine ja testimine
Seadistamine ja testimine

Ma nummerdasin kõik servod ja kirjutasin numbri igale juhtmele, et oleks lihtsam neid jälgida. Alustasin ühikute arvu ülemise segmendiga ja kümnete numbrite keskmise segmendiga. See on ka järjekord, milles ma ühendasin need servo juhtpaneelidega, pidades meeles, et plaatide identifikaatorid loevad 0 kuni 13 ja mitte 1 kuni 14.

Seejärel sättisin segmendid lauale, kus nende vahel oli piisavalt ruumi testimiseks, et nad ei liiguks ühe ja teise sisse, samal ajal seadistades sõidupiiranguid ja juhiseid. Kui proovite neid üksteise lähedale seada, proovite tõenäoliselt ühel või kahel etapil liikuda vales suunas või üle sõidu ja tabada teist, mis võib kahjustada segmenti, servovart või eemaldada servo käigud.

Samm: koodi üleslaadimine

Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine

Kood tundub esmapilgul keeruline, kuid tegelikult on see suhteliselt lihtne tänu kahele kasutatud raamatukogule. Samuti on palju kordusi, sest uuendamist vajavad neli erinevat 7 segmendi kuva.

Siin on koodi kokkuvõtlik kirjeldus, üksikasjalikuma selgituse ja koodi allalaadimise lingi jaoks vaadake täielikku juhendit - 7 -segmendiline mehaaniline kellakell

Alustuseks impordime kaks raamatukogu, kella mooduli virtabotixRTC.h ja servodraiverite jaoks Adafruit_PWMServoDriver.h. Adafruit raamatukogu saab alla laadida ja installida otse raamatukoguhalduri kaudu IDE -s.

Seejärel loome igale juhtpaneelile objekti vastava aadressiga, ühe tunni ja teise minuti numbrite jaoks.

Seejärel on meil neli massiivi iga servo sisse ja välja lülitamiseks. Järgmistes sammudes peate neid numbreid korrigeerima, et veenduda, et teie servod on sisselülitamisel püstiasendis, väljalülitatud asendis 90 kraadi ja ei rända.

Numbrimassiiv salvestab iga kuvatava numbri jaoks iga segmendi positsioonid.

Seejärel seadistame kella mooduli ja loome muutujad praeguste ja möödunud üksikute numbrite salvestamiseks.

Seadistusfunktsioonis käivitame ja seadistame PWM -juhtpaneelid ning vajadusel värskendame kellaaega. Seejärel jookseme läbi silmuse, et seada ekraan 8 8: 8 8, nii et me teaksime kõigi servode lähtepositsiooni. Seda kasutatakse ka servode seadistamiseks nii, et need kõik oleksid õigesti ülespoole suunatud.

Põhiahelas saame kella moodulist värskendatud aja, valasime selle neljakohaliseks ja seejärel kontrollime, kas aeg on viimasest kontrollist muutunud. Kui aeg on muutunud, värskendame ekraani ja seejärel värskendame eelmisi numbreid.

Värskenduse kuvamise funktsioonis teisaldame kõigepealt keskmised segmendid. Seda tehakse kõigepealt, sest keskmise segmendiga külgnevate kahe ülemise segmendi nihutamiseks enne keskmise segmendi teisaldamist on vaja teatud loogikat, vastasel juhul põrkub see neile vastu. Kui keskmised segmendid on liigutatud, liigutatakse ülejäänud segmendid õigesse asendisse.

6. samm: kella kokkupanek tagaplaadil

Kella kokkupanek tagalaual
Kella kokkupanek tagalaual
Kella kokkupanek tagalaual
Kella kokkupanek tagalaual
Kella kokkupanek tagalaual
Kella kokkupanek tagalaual

Kui olin testimisega lõpetanud, panin servod tagaplaadile kokku, kasutades ülaltoodud paigutust juhendina.

Valge ala on tahvli üldsuurus, heledam hall on iga numbrit ümbritsev ala, kuhu servosegmendid liiguvad, ja tumehalli ala kontuur on iga numbri jaoks välimise 6 segmendi keskjoon.

Lõikasin tahvli, märkisin paigutuse ja liimisin seejärel numbrid paika, et moodustada kell.

Seejärel puurisin iga servo lähedusse augud ja juhtisin juhtmed plaadi taha, nii et need oleksid vähem nähtavad.

Paigaldasin elektroonika kahepoolse teibiga kella taha.

Samm: lõplik seadistamine ja kasutamine

Lõplik seadistamine ja kasutamine
Lõplik seadistamine ja kasutamine
Lõplik seadistamine ja kasutamine
Lõplik seadistamine ja kasutamine
Lõplik seadistamine ja kasutamine
Lõplik seadistamine ja kasutamine
Lõplik seadistamine ja kasutamine
Lõplik seadistamine ja kasutamine

Kui servod olid kõik valmis, eemaldasin segmendi asendite lõplikuks reguleerimiseks kõik servovarred. Peaksite Arduino sellises olekus sisse lülitama, et kuvataks 8 8: 8 8, ja seejärel lülitage toide välja, see tsentreerib kõik teie servod uuesti, et saaksite servovarred tagasi panna nii, et segmendid oleksid vertikaali lähedal kui võimalik.

Seejärel peate oma Arduino järjestikku sisse lülitama ja oma neljas massiivis oma segmendi sisse- ja väljalülituspositsioone kohandama, nii et servod oleksid sisselülitamisel täiesti vertikaalsed ja välja lülitamata, ilma üle sõitmata, 90 kraadi. See samm on üsna aeganõudev ja nõuab natuke kannatlikkust, kuid lõpptulemus on seda väärt!

Kella saab jätta toiteks, kasutades 12 V toiteallikat ja sellega ühendatud 5 V BEC. Kui toide väheneb, hoiab RTC -mooduli aku aega nii, et toite taastamisel lülitub kell automaatselt õigele kellaajale.

Kui teile see Instructable meeldis, palun hääletage selle nimel konkursil Kell ja andke mulle teada kõigist parandustest või ettepanekutest, mida saate allpool olevas kommentaaride osas välja pakkuda.

Kellade võistlus
Kellade võistlus
Kellade võistlus
Kellade võistlus

Kellade konkursi teine auhind

Soovitan: