Përmbajtje:

Orë Kubi Shumëfunksionale e Pozicionuar: 5 Hapa (me Fotografi)
Orë Kubi Shumëfunksionale e Pozicionuar: 5 Hapa (me Fotografi)

Video: Orë Kubi Shumëfunksionale e Pozicionuar: 5 Hapa (me Fotografi)

Video: Orë Kubi Shumëfunksionale e Pozicionuar: 5 Hapa (me Fotografi)
Video: САМЫЙ ОПАСНЫЙ ПОЛТЕРГЕЙСТ 6 УРОВНЯ В ЗАБРОШЕННОМ ОТЕЛЕ 2024, Korrik
Anonim
Image
Image
Orë Kubi Shumëfunksionale e Pozicionuar
Orë Kubi Shumëfunksionale e Pozicionuar
Orë Kubi Shumëfunksionale e Pozicionuar
Orë Kubi Shumëfunksionale e Pozicionuar

Projektet Fusion 360 »

Kjo është një orë e bazuar në Arduino me një ekran OLED që funksionon si një orë me datën, si një orë për sy gjumë dhe si një dritë nate. "Funksionet" e ndryshme kontrollohen nga një akselerometër dhe zgjidhen duke rrotulluar orën kubike.

Doja një orë të re të komodinës, por nuk doja të shpenzoja para për një orë të zbukuruar që kishte shumë funksione që nuk do t'i përdorja. Për më tepër, unë kisha mbledhur përbërës dhe sensorë që sapo ishin vendosur, kështu që vendosa t'i përdor ato për të bërë orën time!

Kam pasur disa synime për këtë projekt:

  1. Shfaq atë kohë me një opsion për t'u fikur
  2. Përfshini një funksion të dritës së natës
  3. Përfshini një kohëmatës 15 -minutësh të gjumit me alarm
  4. Të jetë në gjendje të shfaqë datën

Furnizimet

  • Arduino Pro Mini 5V
  • ADXL335 Përshpejtues me 3 boshte
  • DS3231 AT24C32 IIC precize Ora në kohë reale
  • Mini Altoparlant
  • OLED Display SSD1306 IIC 0.96in
  • Furnizimi me energji elektrike 5V DC
  • LED x 2
  • Rezistenca 220ohm x 2
  • Prizë fuçi DC
  • Tela
  • Mjetet

    • Prerës/zhveshës telash
    • Saldim/saldim
    • Printer 3D (opsional)
    • Programues FTDI për ndërfaqe midis Pro mini dhe Arduino IDE

Hapi 1: Prototipi dhe Testimi i Qarkut

Prototipi dhe Testimi i Qarkut
Prototipi dhe Testimi i Qarkut
Prototipi dhe Testimi i Qarkut
Prototipi dhe Testimi i Qarkut
Prototipi dhe Testimi i Qarkut
Prototipi dhe Testimi i Qarkut

Lidhni përbërësit me Arduino. Paraqitja ose skema e bordit të bukës janë treguar më sipër. RTC dhe OLED përdorin protokollin I2C për t'u ndërlidhur me Arduino dhe për të përdorur kunjat A4 dhe A5. Përshpejtuesi përdor 3 kunja analoge. Kam përdorur A0, A1, A2. LED dhe Piezo mund të përdorin ndonjë nga kunjat dixhitale, kam përdorur 4 dhe 8 respektivisht.

Ndërfaqja me secilin përbërës. Më duhej të instaloja disa biblioteka Arduino për t'u ndërlidhur me secilin komponent. Ato janë treguar në imazhin e mësipërm.

Kodoni duke përdorur Arduino IDE. Shqyrtova disa skica shembullore të ofruara nga secila bibliotekë për të gjetur sintaksën e duhur për secilin komponent bazuar në atë që doja që ata të bënin. Kam dalë me një skicë për secilin komponent për t'i testuar ato individualisht. Ato janë dhënë më poshtë. Fillova me altoparlantin piezo sepse ishte më e lehtë. Në fakt nuk kishte nevojë për një bibliotekë të veçantë, vetëm një funksion specifik që përcakton frekuencën dhe tingullin. Për të funksionuar LED -të, thjesht kërkohej të tërhiqnit një nga kunjat dixhitale lart e poshtë. Tjetra, u transferova në OLED dhe kjo ishte shumë e thjeshtë për tu konfiguruar gjithashtu. Skica më poshtë është një demonstrim Adafruit që kalon nëpër të gjitha animacionet/tekstet që mund të shfaqen. Pastaj, u përpoqa ta fusja RTC në punë. Skica që kam dhënë ishte pjesë e një shembulli në bibliotekë që merr kohën aktuale dhe e printon atë në monitorin serik. Më në fund, unë përdor shembullin e dhënë për të testuar përshpejtuesin. Daljet e secilit bosht printohen në monitorin serik.

Tani është koha për të bashkuar gjithçka!

Hapi 2: Programi kryesor

Programi kryesor
Programi kryesor
Programi kryesor
Programi kryesor

Tani që e di që gjithçka funksionon individualisht, mund të filloj të dal me një program që bashkon gjithçka. Unë do të diskutoj procesin tim për të shkruar programin më poshtë, por mos ngurroni të shkarkoni vetëm kodin e plotë më poshtë për ta përdorur për projektin tuaj. Unë u përpoqa të lë komente specifike në mënyrë që ju të ecni përmes kodit vetë.

Më duhej të shfaqja kohën dhe datën në OLED e cila ishte mjaft e thjeshtë. Thjesht më duhej të printoja kohën aktuale në ekran në vend të monitorit serik. Kishte disa gjëra të formatimit që duhej të kisha parasysh për ta bërë atë të shfaqte një format 12 -orësh në vend të 24 dhe të shtonte/hiqte 0 -të aty ku ishin të përshtatshme. Data ishte e ngjashme me shtimin e shfaqjes së muajit dhe ditës brenda drejtkëndëshave të vizatuar në ekran. Përdora një lak të futur FOR për të krijuar kohëmatësin dhe fillova piezo -n pas përfundimit të lakut. Vendosa ta bëja ekranin të ndizet ndërsa zilja po fiket, e cila ishte një animacion bazë i marrë nga demonstrimi i Adafruit. Bëra kthimin e kubit në pozicionin e orës, e vetmja mënyrë për të fikur zilen. Më në fund, doja një mënyrë për të fikur ekranin, e cila u arrit duke pastruar ekranin. Tani, më duheshin të gjitha këto funksione për të punuar bazuar në daljet e përshpejtuesit. Kam përdorur skriptin Accel_Test për të përcaktuar koordinatat e boshtit të secilit pozicion që doja që çdo funksion të ekzekutohej. Unë lëviza manualisht çipin e përshpejtuesit dhe regjistrova leximet në monitorin serik. Diagrami i mësipërm jep koordinatat dalëse të secilës pozicion në GRI. Koordinatat në DAR janë kufijtë midis secilës pozicion dhe unë i përdor ato numra për programin tim. Në 4 pozicionet e shfaqjes, nevojiten vetëm koordinatat e boshtit X dhe Y. Pozicioni i pestë për dritën e natës përdor boshtin Z. Kam përdorur deklarata të thjeshta IF për pozicionet e përshpejtuesit para çdo blloku funksioni. Nëse përdorni një akselerometër tjetër, këto koordinata mund të ndryshojnë dhe do të duhet të rregullohen në program.

Hapi 3: Shtypja 3D e Kubit

Shtypja 3D e Kubit
Shtypja 3D e Kubit
Shtypja 3D e Kubit
Shtypja 3D e Kubit
Shtypja 3D e Kubit
Shtypja 3D e Kubit

Mendova se një kub do të ishte modeli më i mirë për të akomoduar mënyrën se si doja që ora të funksiononte. Kam përdorur fusion360 për të bërë modelin. Më duhej një ndërprerje për OLED dhe prizën e fuçisë. Unë gjithashtu doja qasje të lehtë për të zëvendësuar baterinë e qelizës në RTC pasi gjithçka ishte lidhur me tela. Më duhej një vend i caktuar për ta mbajtur Arduino në një orientim që do të ishte i lehtë për tu riprogramuar nëse ishte e nevojshme. Për më tepër, rrethimi duhej të hiqet lehtësisht në mënyrë që të mund të hyj në Arduino. Ju mund të shihni modelin CAD më lart dhe skedarët STL janë më poshtë.

E printova trupin në PLA të zezë me mbushje 20%, rezolucion 0.2mm.

Mbulimi ose mëngë u shtypën në fije elastike Solutech me mbushje 100%, rezolucion 0.3 mm. Kam përdorur këtë material sepse ka një fleksibilitet i cili e bëri të lehtë shtrirjen mbi trup. Gjithashtu ka një ndjenjë më të butë kur rrotullon orën përreth. Së fundmi, unë zgjodha një fije të hollë në mënyrë që LED për dritat e natës të shkëlqejnë.

Hapi 4: Asambleja

Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi

Kam lidhur gjithçka së bashku duke përdorur skemën nga Hapi 1. Kam përdorur një copë të vogël të dërrasës për të lidhur të gjitha telat e zakonshëm në mënyrë që të mos më duhet të lidh tela të shumtë në një kunj në Arduino. Ngjitës i nxehtë u përdor për të siguruar gjithçka në vendin e tij përkatës përveç Arduino. Ajo thjesht u shty në vendin e saj të caktuar. Unë u sigurova që tabela e përshpejtuesit të ishte pingul dhe e barabartë në pjesën e poshtme të trupit, në mënyrë që koordinatat në kod të mos kenë nevojë të ndryshohen.

Hapi 5: Ngarkoni dhe jeni gati

Ngarkoni dhe jeni gati!
Ngarkoni dhe jeni gati!
Ngarkoni dhe jeni gati!
Ngarkoni dhe jeni gati!
Ngarkoni dhe jeni gati!
Ngarkoni dhe jeni gati!
Ngarkoni dhe jeni gati!
Ngarkoni dhe jeni gati!

Tani programi përfundimtar mund të ngarkohet në orë për të vendosur kohën e saktë. Bateria e qelizës duhet të mbajë kohën edhe kur energjia është e shkyçur. Rrëshqitni mëngën e printuar 3D mbi trup për të fshehur të gjithë përbërësit dhe keni një orë të plotë kubike!

Shpresoj që të kënaqeni duke e bërë këtë projekt dhe ta gjeni atë si të dobishëm si unë. Pjesa e bukur e këtij projekti është se është shumë e personalizueshme. Mos ngurroni të shtoni funksionet tuaja të ndryshme si një funksion alarmi, përdorni komponentë të ndryshëm si një OLED më i madh, një marrës radio FM, etj. Gëzuar!

Recommended: