Talaan ng mga Nilalaman:

DigiLevel - isang Antas ng Digital na May Dalawang Axes: 13 Hakbang (na may Mga Larawan)
DigiLevel - isang Antas ng Digital na May Dalawang Axes: 13 Hakbang (na may Mga Larawan)

Video: DigiLevel - isang Antas ng Digital na May Dalawang Axes: 13 Hakbang (na may Mga Larawan)

Video: DigiLevel - isang Antas ng Digital na May Dalawang Axes: 13 Hakbang (na may Mga Larawan)
Video: DIGI LEVEL 2 EPISODE 2 - Featuring Dominik Diamond and Nostalgia Nerd 2024, Nobyembre
Anonim
DigiLevel - isang Antas ng Digital na May Dalawang Axes
DigiLevel - isang Antas ng Digital na May Dalawang Axes
DigiLevel - isang Antas ng Digital na May Dalawang Axes
DigiLevel - isang Antas ng Digital na May Dalawang Axes

Ang inspirasyon para sa itinuro na ito ay ang DIY Digital Spirit Level na matatagpuan dito ng GreatScottLab. Nagustuhan ko ang disenyo na ito, ngunit nais ang isang mas malaking display na may isang mas graphic na interface. Nais ko rin ng mas mahusay na mga pagpipilian sa pag-mount para sa electronics sa kaso. Sa huli, ginamit ko ang proyektong ito upang mapabuti ang aking kasanayan sa disenyo ng 3D (gamit ang Fusion 360) at upang tuklasin ang bagong elektronikong sangkap.

Magbibigay ang DigiLevel ng puna sa kung ang isang ibabaw ay antas - kapwa kasama ang x-axis (pahalang) at y-axis (patayo). Ang mga degree mula sa antas ay ipinapakita, pati na rin ang isang graphic na representasyon sa isang tsart ng 2 axes. Bilang karagdagan, ipinapakita ang antas ng baterya, at ang kasalukuyang temperatura sa Fahrenheit o Celsius ay ipinapakita (tulad ng iniulat ng accelerometer chip). Ito ay minimal na naririnig na puna - isang paunang tono upang mapatunayan ang lakas, at pagkatapos ay isang dobleng tono anumang oras ang antas ay inilipat mula sa isang hindi antas na posisyon sa isang posisyon sa antas.

Nagbigay ako ng detalyadong mga tagubilin sa kung paano mo magagawa ang antas ng digital na ito, ngunit huwag mag-atubiling pahabain at baguhin ang aking disenyo, tulad ng ginawa ko sa DIY Digital Spirit Level.

Hakbang 1: Mga Kagamitan

Mga Kagamitan
Mga Kagamitan

Ang sumusunod ay ang mga materyal na ginamit sa pagsasama-sama sa Digital Level na ito. Karamihan sa mga link sa pagbili ay para sa maraming piraso, na karaniwang mas mura kaysa sa pagbili ng mga indibidwal na bahagi. Bilang isang halimbawa, ang TP4056 chip ay mayroong 10 piraso para sa $ 9 (mas mababa sa $ 1 / TP4056), o maaari itong mabili nang isa-isa sa $ 5.

  • TP4056 Li-Po charger ng baterya (Amazon -
  • LSM9DS1 accelerometer (Amazon -
  • Arduino Nano (Amazon -
  • 128x64 OLED LCD Display (Amazon -
  • Piezo speaker (Amazon -
  • 3.7V Li-Po na baterya (Amazon -

    a.co/d/1v9n7uP)

  • M2 pan head self-tapping screws - 4 M2x4, 6 M2x6, at 6 M2x8 screws ang kinakailangan (eBay -
  • Slide switch (Amazon -

Maliban sa mga tornilyo, dadalhin ka ng mga link na ibinigay sa Amazon. Gayunpaman, halos lahat ng mga item na ito ay maaaring mabili sa eBay o direkta mula sa Tsina sa isang makabuluhang diskwento. Tandaan lamang na ang pag-order mula sa Tsina ay maaaring magresulta sa mahabang oras ng tingga (3-4 na linggo ay hindi karaniwan).

Tandaan din na may mga kahalili para sa marami sa mga sangkap na ito. Halimbawa, maaari mong palitan ang isang iba't ibang accelerometer para sa LSM9DS1 (tulad ng MPU-9205). Maaari mong palitan ang Arduino Nano sa pamamagitan ng paggamit ng anumang processor na katugmang Arduino gamit ang tamang mga GPIO pin.

Sa partikular, ang LSM9DS1 ay isang binili ko sa pagbebenta sa Sparkfun nang mas mababa sa $ 10, ngunit ito ay karaniwang mas mataas ang presyo; ang MPU-9025 (https://a.co/d/g1yu2r1) ay nagbibigay ng katulad na pag-andar sa isang mas mababang presyo.

Kung gumawa ka ng isang kahalili, malamang na kailangan mong baguhin ang kaso (o hindi bababa sa kung paano mo mai-mount ang bahagi sa kaso) at malamang na kailangan mong baguhin ang software upang kumonekta sa alternatibong sangkap. Wala akong mga pagbabago na iyon - kakailanganin mong magsaliksik at mag-update kung naaangkop.

Hakbang 2: Diagram ng Mga Kable

Diagram ng Kable
Diagram ng Kable

Ang mga kable iskematikong detalye kung paano ang iba't ibang mga elektronikong sangkap ay wired sa bawat isa. Ang mga pulang linya ay kumakatawan sa positibong boltahe habang ang mga itim na linya ay kumakatawan sa lupa. Ginagamit ang mga dilaw at berdeng linya para sa mga signal ng data mula sa accelerometer at sa pagpapakita ng OLED LCD. Makikita mo kung paano ang mga sangkap na ito ay magkakabit sa mga sumusunod na hakbang.

Hakbang 3: Gawin ang Kaso

Gawin ang Kaso
Gawin ang Kaso
Gawin ang Kaso
Gawin ang Kaso

Kung mayroon kang isang 3D printer, ang kaso ay maaaring mai-print nang medyo madali. Ang mga file ng STL na kasama sa Instructable na ito. Kung wala kang isang 3D printer, maaari mong i-upload ang mga STL file sa isang 3D printer bureau (tulad ng isang ito) at ipi-print ang mga ito para sa iyo.

Nai-print ko ang minahan nang walang labi o balsa (at walang mga suporta) at 20% na infill, ngunit maaari mong mai-print ang iyo subalit nasanay ka sa pag-print. Ang bawat piraso ay dapat na naka-print nang magkahiwalay, inilatag flat. Maaaring kailanganin mong paikutin ito ng 45 degree upang makuha ito upang magkasya sa kama ng printer. Ang minahan ay naka-print gamit ang isang Monoprice Maker Select Plus na may laki ng kama na 200 mm x 200 mm - ang bawat piraso ay tumagal ng humigit-kumulang na 12 oras upang mai-print. Kung mayroon kang isang mas maliit na kama, maaaring hindi ito magkasya. Hindi inirerekomenda ang pag-scale dahil ang mga pag-mount para sa mga elektronikong sangkap ay hindi mai-scale nang naaangkop.

Hakbang 4: I-wire ang Mga Component sa isang Breadboard upang Patunayan ang Pagkakonekta (opsyonal)

I-wire ang Mga Component sa isang Breadboard upang Patunayan ang Pagkakonekta (opsyonal)
I-wire ang Mga Component sa isang Breadboard upang Patunayan ang Pagkakonekta (opsyonal)
I-wire ang Mga Component sa isang Breadboard upang Patunayan ang Pagkakonekta (opsyonal)
I-wire ang Mga Component sa isang Breadboard upang Patunayan ang Pagkakonekta (opsyonal)
I-wire ang Mga Component sa isang Breadboard upang Patunayan ang Pagkakonekta (opsyonal)
I-wire ang Mga Component sa isang Breadboard upang Patunayan ang Pagkakonekta (opsyonal)

Masidhi kong inirerekumenda ang mga kable ng pangunahing mga sangkap sa isang breadboard upang mapatunayan ang pagkakakonekta bago magpatuloy sa pag-mount ng mga bahagi sa loob ng kaso. Maaari mong i-download ang software sa Arduino Nano (tingnan ang susunod na hakbang), at upang mapatunayan na ang display na OLED LCD ay wastong naka-wire at gumagana, at na ang accelerometer ay wastong na-wire at iniuulat nito ang data nito sa Arduino Nano. Gayundin, maaari itong magamit upang mapatunayan ang pagpapatakbo ng opsyonal na piezo speaker.

Hindi ko nakakonekta ang baterya at charger sa breadboard sa yugtong ito - tapos na ang pagkonekta sa switch upang makontrol ang baterya pagkatapos mong mai-mount ang switch sa kaso. Ipinapakita ng huling larawan kung paano ito nakikita bago ang mga kable.

Hakbang 5: I-download ang Software sa Arduino Nano

Ang software ay na-load sa Arduino Nano gamit ang Arduino IDE. Maaari itong magawa anumang oras sa panahon ng proseso ng pagbuo ng DigiLevel, ngunit pinakamahusay na ginagawa kapag ang mga sangkap ay na-wire na gamit ang isang breadboard (tingnan ang nakaraang hakbang) upang mapatunayan ang wastong mga kable at pagpapatakbo ng mga de-koryenteng sangkap.

Kinakailangan ng software na mai-install ang 2 mga aklatan. Ang una ay ang U8g2 library (ni oliver) - maaari mo itong mai-install sa pamamagitan ng pag-click sa 'Sketch -> Isama ang Library -> Pamahalaan ang Mga Aklatan …' sa Arduino IDE. Maghanap para sa U8g2 at pagkatapos ay mag-click sa I-install. Ang pangalawang silid aklatan ay ang Sparkfun LSM9DS1 library. Maaari kang makakuha ng mga tagubilin sa kung paano i-install ang librong iyon dito.

Matapos ang mga pagtutukoy ng library, ang software ay may isang seksyon ng pag-setup at isang pangunahing loop ng pagproseso. Pinasimulan ng seksyon ng pag-setup ang accelerometer at ang display na OLED LCD, at pagkatapos ay nagpapakita ng isang startup screen bago ipakita ang pangunahing display. Kung ang isang nagsasalita ay konektado, maglalaro ito ng isang beep sa nagsasalita upang ipahiwatig ang kapangyarihan sa katayuan.

Ang pangunahing loop ng pagproseso ay responsable para sa pagbabasa ng accelerometer, pagkuha ng mga anggulo ng x at y at pagkatapos ay ipakita ang mga halaga bilang isang hanay ng mga ganap na numero at nakalarawan din sa isang grap. Ang pagbabasa ng temperatura mula sa accelerometer ay ipinakita rin (sa alinman sa Fahrenheit o Celsius). Kung ang antas ay dati nang hindi antas, kapag bumalik ito sa antas ay bubuo ito ng dalawang beep sa nagsasalita (kung nakakonekta).

Sa wakas, ang boltahe mula sa baterya ay nakuha upang matukoy at ipakita ang kasalukuyang antas ng baterya. Hindi ko alam kung gaano katumpak ang code na ito, ngunit sapat itong tumpak upang maipakita ang isang buong baterya at ang unti-unting pagguhit ng antas ng baterya habang ginagamit.

Hakbang 6: I-mount at Wire ang OLED Display at Piezo Speaker

I-mount at Wire ang OLED Display at Piezo Speaker
I-mount at Wire ang OLED Display at Piezo Speaker
I-mount at Wire ang OLED Display at Piezo Speaker
I-mount at Wire ang OLED Display at Piezo Speaker

Ang 1.3 OLED display (128x64) ay naka-mount sa tuktok na kalahati ng kaso gamit ang 4 M2x4 pan head self-tapping screws. Iminumungkahi kong ikonekta mo ang iyong mga wire sa display bago ang pag-mount. Tinitiyak nito na makikita mo kung paano ang mga pin na may label habang kumokonekta ka sa mga wire. Kapag naka-mount ang display, hindi mo makikita ang mga label para sa mga pin. Mapapansin mong nagdagdag ako ng isang label sa likurang bahagi ng display upang maalala ko ang mga halagang pin (dahil hindi ko ito nagawa sa unang pagkakataon at mali ang pag-wire nito …).

Ginagamit ang nagsasalita upang maglabas ng isang maikling tono kapag ang Digital Level ay nakabukas upang mapatunayan na ang baterya ay mabuti at ito ay pagpapatakbo. Naglalabas din ito ng isang dobleng tono tuwing ang antas ay inilipat mula sa isang hindi antas na posisyon patungo sa isang posisyon sa antas. Ito ay upang magbigay ng isang naririnig na puna habang pinuposisyon mo ang antas o kung anuman ang antas. Naka-mount ito sa tuktok na kalahati ng kaso gamit ang 2 M2x4 pan head na self-tapping screws. Hindi mo kailangan ng isang tagapagsalita - gagana ang DigiLevel nang maayos nang wala ito, subalit mawawala sa iyo ang anumang naririnig na puna.

Hakbang 7: I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat

I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat
I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat
I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat
I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat
I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat
I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat
I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat
I-mount at Wire ang Baterya, Charger ng Baterya, at Lumipat

Ang switch ay kailangang mai-mount sa kaso bago ito ikonekta sa baterya. Ito ay sapagkat kung ikaw ang unang nag-wire, hindi mo mai-mount ang switch nang hindi mo idididiskonekta ito. Kaya i-mount muna ang switch, pagkatapos ay i-mount ang pre-wired na TP4056 at Li-Po na baterya, pagkatapos kumpletuhin ang mga kable sa switch.

Ang TP4056 ay may 4 na mga pad ng kable: B +, B-, Out +, Out-. Gusto mong i-wire ang baterya sa mga koneksyon ng B + (positibong boltahe) at B- (ground). Ang Koneksyon sa labas ay ginagamit para sa lupa na pupunta sa Arduino Nano, at ang Out + ay konektado sa isang pin ng switch. Ang pangalawang pin ng switch pagkatapos ay naka-wire sa VIN ng Arduino Nano.

Ang aking trabaho sa paghihinang ay hindi pinakamahusay - gusto kong gumamit ng heat-shrink tubing upang masakop at ma-insulate ang soldered joint. Mapapansin mo na sa isa sa mga solder na koneksyon dito, ang heat-shrink tubing ay naapektuhan ng init ng paghihinang at ito ay nabawasan bago ko ito mailipat.

Hakbang 8: I-mount at Wire ang Accelerometer

I-mount at Wire ang Accelerometer
I-mount at Wire ang Accelerometer
I-mount at Wire ang Accelerometer
I-mount at Wire ang Accelerometer

Ang accelerometer (LSM9DS1) ay naka-mount sa gitna ng ibabang kalahati ng kaso. Mayroong 4 na mga pin na mai-wire: Ang VCC ay pupunta sa V5 pin sa Arduino Nano; Ang GND ay pumupunta sa lupa; Ang SDA ay papunta sa pin ng A5 sa Arduino Nano; at ang SCL ay papunta sa A4 pin sa Arduino Nano.

Gumamit ako ng mga wire ng jumper na may mga konektor ng Dupont para sa mga kable, subalit maaari mong direktang maghinang ang kawad sa mga pin kung gusto mo. Kung maghinang ka nang direkta sa mga wire sa mga pin, malamang na gugustuhin mong gawin ito bago i-mount ang accelerometer chip upang gawing mas madali ito.

Hakbang 9: Kumpletuhin ang Electronics sa pamamagitan ng Pag-wire sa Arduino Nano

Kumpletuhin ang Elektronika sa pamamagitan ng Pag-kable ng Arduino Nano
Kumpletuhin ang Elektronika sa pamamagitan ng Pag-kable ng Arduino Nano
Kumpletuhin ang Elektronika sa pamamagitan ng Pag-kable ng Arduino Nano
Kumpletuhin ang Elektronika sa pamamagitan ng Pag-kable ng Arduino Nano
Kumpletuhin ang Elektronika sa pamamagitan ng Pag-kable ng Arduino Nano
Kumpletuhin ang Elektronika sa pamamagitan ng Pag-kable ng Arduino Nano

Ang pangwakas na mga kable ay ginagawa sa pamamagitan ng pagkonekta sa lahat ng mga de-koryenteng sangkap sa Arduino Nano. Ito ay pinakamahusay na ginagawa bago ang pag-mount ng Arduino Nano upang ang USB port ay ma-access para sa pagkakalibrate at anumang iba pang mga huling minutong pagbabago ng software.

Magsimula sa pamamagitan ng pagkonekta sa switch sa Nano. Ang positibong tingga (pula) ay pupunta mula sa paglipat sa VIN pin ng Nano. Ang negatibong tingga (itim) mula sa baterya ay pupunta sa pin ng GND sa Nano. Mayroong dalawang mga pin ng GND sa Nano at lahat ng apat na mga de-koryenteng sangkap ay may ground wire. Pinili kong pagsamahin ang dalawang bakuran sa ilalim ng kaso sa isang tingga na naka-wire sa isa sa mga pin ng GND. Ang dalawang bakuran mula sa tuktok ng kaso ay pinagsama ko sa isang tingga na naka-wire sa iba pang mga pin ng GND.

Ang accelerometer (LSM9DS1) ay maaaring konektado sa Nano sa pamamagitan ng pagkonekta ng VDD pin sa accelerometer sa 3V3 pin sa Nano. HUWAG mong ikonekta ito sa 5V pin o masisira mo ang chip ng accelerometer. Ikonekta ang SDA sa A4 pin sa Nano, at SCL sa A5 pin sa Nano. Ang pin ng GND ay pupunta sa pin ng GND sa Nano (na sinamahan ng negatibong tingga mula sa baterya).

Ang OLED LCD display ay maaaring susunod na konektado sa Nano sa pamamagitan ng pagkonekta sa VCC pin sa display sa 5V pin sa Nano. Ikonekta ang SDA sa D2 pin sa Nano, at SCL sa D5 pin sa Nano.

Sa wakas, ang speaker ay maaaring konektado sa pamamagitan ng ikonekta ang pulang wire (positibo) sa D7 pin sa Nano. Ang itim na kawad ay papunta sa GND kasama ang GND ng OLED LCD display.

Hakbang 10: Pagkakalibrate

Kapag na-download ang software, at bago i-mount ang Arduino Nano, maaaring kailanganin mong i-calibrate ang iyong antas. Tiyaking naka-mount ang board ng accelerometer. Ang pag-mount nito sa mga tornilyo ay dapat magresulta sa isang antas na board, subalit kung ito ay bahagyang naka-off para sa anumang kadahilanan, masisiguro ng pagkakalibrate ang isang tamang pagpapakita.

Ilagay ang ilalim na kaso sa isang ibabaw na alam na antas (gamit ang isang antas ng bubble o ilang iba pang mga paraan). Basahin ang ipinakitang mga halaga para sa X at Y. Kung ang alinman ay hindi zero, kakailanganin mong i-update ang software sa halagang pagkakalibrate. Ginagawa ito sa pamamagitan ng pagtatakda ng alinman sa variable ng xCalibration o variable ng yCalibration sa naaangkop na halaga (kung ano ang ipinakita).

// // Itakda ang mga variable na ito sa mga paunang halaga bilang naaangkop // bool displayF = totoo; // true for Fahrenheit, false for Celsius int xCalibration = 0; // halaga ng pagkakalibrate para sa leveling ng x-axis int yCalibration = 0; // halaga ng pagkakalibrate para sa leveling ng y-axis mahabang irvCalibration = 1457; // halaga ng pagkakalibrate para sa panloob na boltahe ng sanggunian

Sa oras na ito, dapat mo ring itakda ang halaga ng displayF sa naaangkop na setting depende sa kung nais mo ang temperatura na ipinakita sa Fahrenheit o Celsius.

Ang pag-load muli ng software sa Nano ay dapat na magresulta sa 0/0 na pagbabasa sa isang kilalang antas sa ibabaw.

Hakbang 11: I-mount ang Arduino Nano at Tipunin ang Kaso

I-mount ang Arduino Nano at Tipunin ang Kaso
I-mount ang Arduino Nano at Tipunin ang Kaso

Kapag nakumpleto ang pagkakalibrate, maaari mong mai-mount ang Arduino Nano sa kaso sa pamamagitan ng paglalapat ng mainit na pandikit sa daang-bakal at ilagay ang Arduino Nano sa mga riles na ito, na nakaharap ang mga pin at ang USB port na nakaharap sa loob ng kaso.

Ang kaso na naglalaman ng lahat ng electronics ay maaari na tipunin sa pamamagitan ng pagsasama-sama ng dalawang halves at paggamit ng 4 M2x8 pan head na self-tapping screws.

Hakbang 12: Patunayan ang Pagpapatakbo ng Iyong Bagong Antas ng Digital

Patunayan ang Pagpapatakbo ng Iyong Bagong Antas ng Digital
Patunayan ang Pagpapatakbo ng Iyong Bagong Antas ng Digital

Tiyaking singilin ang baterya ng Li-Po. Kung ang kaso ay binuo, hindi mo makikita nang direkta ang mga tagapagpahiwatig ng pagsingil ng LED. Kung nais mong i-verify ang pagpapatakbo ng pagsingil sa pamamagitan ng pagtingin nang direkta sa mga ilaw ng pagsingil kailangan mong buksan ang kaso, gayunpaman dapat mong makita ang pulang glow na nagpapahiwatig na ang pagsingil ay nangyayari na sarado ang kaso.

Kapag nasingil at natipon, i-on ang Digital Level at i-verify ang pagpapatakbo nito. Kung hindi ito gumagana, ang dalawang posibilidad na mga puntos ng kaguluhan ay ang mga kable para sa display na OLED LCD at ang mga kable para sa accelerometer. Kung ang display ay hindi nagpapakita ng anumang bagay, pagkatapos ay magsimula sa mga kable ng OLED LCD. Kung gumagana ang display, ngunit ang mga label na H at V ay parehong nagpapakita ng 0 at ang temperatura ay 0 (C) o 32 (F), kung gayon ang accelerometer ay maaaring hindi na-wire nang tama.

Hakbang 13: Huling Mga Saloobin…

Pinagsama ko ang antas na digital na ito (at ang Maituturo) pangunahin bilang isang karanasan sa pag-aaral. Hindi gaanong mahalaga sa akin na gumawa ng isang antas ng paggana tulad nito upang tuklasin ang iba't ibang mga bahagi at kanilang mga kakayahan, at pagkatapos ay pagsamahin ito sa isang paraan na nagdaragdag ng halaga.

Ano ang mga pagpapabuti na gagawin ko? Maraming isinasaalang-alang ko para sa isang pag-update sa hinaharap:

  • Ilantad ang USB port ng Arduino Nano sa pamamagitan ng kaso sa pamamagitan ng pagbabago ng paraan ng pag-mount nito. Papayagan nito ang mas madaling pag-update sa software (na sa anumang kaso ay dapat maging bihirang).
  • 3D print ang kaso gamit ang isang filament ng kahoy. Nag-eksperimento ako sa Hatchbox Wood filament at labis akong nasiyahan sa mga resulta na nakuha ko. Sa palagay ko ay magbibigay ito ng isang mas mahusay na pangkalahatang pagtingin sa DigiLevel.
  • I-update ang disenyo upang magamit ang MPU-9250 accelerometer upang babaan ang gastos habang hindi nakakaapekto sa pagpapaandar.

Ito ang aking unang itinuturo at tinatanggap ko ang puna. Habang sinubukan kong iwasan ito, sigurado akong mayroon pa itong mas pananaw na naka-centric sa US - kaya humihingi kami ng paumanhin para sa mga nasa labas ng US.

Kung nakita mo itong kawili-wili, mangyaring bumoto para sa akin sa First Time na Paligsahan ng May-akda. Salamat sa pagbabasa hanggang sa wakas!

May-akda ng First Time
May-akda ng First Time
May-akda ng First Time
May-akda ng First Time

Runner Up sa May-akdang First Time

Inirerekumendang: