Innholdsfortegnelse:
- Trinn 1: Materialer
- Trinn 2: Koblingsskjema
- Trinn 3: Lag saken
- Trinn 4: Koble komponentene til et brødbrett for å bekrefte tilkobling (valgfritt)
- Trinn 5: Last ned programvaren til Arduino Nano
- Trinn 6: Monter og koble OLED -skjermen og Piezo -høyttaleren
- Trinn 7: Monter og koble til batteriet, batteriladeren og bryteren
- Trinn 8: Monter og koble akselerometeret
- Trinn 9: Fullfør elektronikken ved å koble Arduino Nano
- Trinn 10: Kalibrering
- Trinn 11: Monter Arduino Nano og sett sammen etuiet
- Trinn 12: Kontroller driften av ditt nye digitale nivå
- Trinn 13: Avsluttende tanker …
Video: DigiLevel - et digitalt nivå med to akser: 13 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Inspirasjonen for dette instruerbare er DIY Digital Water Level som er funnet her av GreatScottLab. Jeg likte dette designet, men ønsket en større skjerm med et mer grafisk grensesnitt. Jeg ønsket også bedre monteringsalternativer for elektronikken i saken. Til syvende og sist brukte jeg dette prosjektet til å forbedre 3D -designferdighetene mine (ved hjelp av Fusion 360) og for å utforske nye elektroniske komponenter.
DigiLevel vil gi tilbakemelding på om en overflate er plan-både langs x-aksen (horisontal) og y-aksen (vertikal). Grader fra nivået vises, samt en grafisk fremstilling på et 2 -akset diagram. I tillegg vises batterinivået, og gjeldende temperatur i Fahrenheit eller Celsius vises (som rapportert av akselerometerbrikken). Dette er minimal hørbar tilbakemelding - en innledende tone for å bekrefte strøm, og deretter en dobbel tone hver gang nivået flyttes fra en ikke -nivåposisjon til en nivåposisjon.
Jeg har gitt detaljerte instruksjoner om hvordan du kan lage dette digitale nivået, men du kan utvide og endre på designet mitt, akkurat som jeg gjorde på DIY Digital Water Level.
Trinn 1: Materialer
Følgende er materialene som brukes for å sette sammen dette digitale nivået. De fleste kjøpslinkene er for flere stykker, som vanligvis er billigere enn å kjøpe de enkelte komponentene. Som et eksempel kommer TP4056 -brikken med 10 stykker for $ 9 (mindre enn $ 1/TP4056), eller den kan kjøpes individuelt for $ 5.
- TP4056 Li -Po batterilader (Amazon -
- LSM9DS1 akselerometer (Amazon -
- Arduino Nano (Amazon -
- 128x64 OLED LCD -skjerm (Amazon -
- Piezo -høyttaler (Amazon -
-
3,7V Li -Po batteri (Amazon -
a.co/d/1v9n7uP)
- Selvskærende skruer i M2 -pannehodet - 4 M2x4, 6 M2x6 og 6 M2x8 skruer er nødvendig (eBay -
- Lysbildebryter (Amazon -
Med unntak av skruene tar koblingene som følger med deg til Amazon. Nesten alle disse elementene kan imidlertid kjøpes på eBay eller direkte fra Kina med en betydelig rabatt. Bare husk at bestilling fra Kina kan føre til lange leveringstider (3-4 uker er ikke uvanlig).
Vær også oppmerksom på at det er alternativer for mange av disse komponentene. For eksempel kan du erstatte et annet akselerometer for LSM9DS1 (for eksempel MPU-9205). Du kan erstatte Arduino Nano ved å bruke en hvilken som helst Arduino-kompatibel prosessor med de riktige GPIO-pinnene.
Spesielt er LSM9DS1 en jeg kjøpte på salg på Sparkfun for mindre enn $ 10, men den er normalt høyere priset; MPU-9025 (https://a.co/d/g1yu2r1) gir lignende funksjonalitet til en lavere pris.
Hvis du foretar en erstatning, må du sannsynligvis endre saken (eller i det minste hvordan du monterer komponenten i saken), og du må sannsynligvis endre programvaren for å koble til den alternative komponenten. Jeg har ikke disse modifikasjonene - du må undersøke og oppdatere etter behov.
Trinn 2: Koblingsskjema
Ledningsskjemaet beskriver hvordan de forskjellige elektroniske komponentene er koblet til hverandre. Røde linjer representerer positiv spenning mens svarte linjer representerer bakken. Gule og grønne linjer brukes for datasignaler fra akselerometeret og til OLED LCD -skjermen. Du vil se hvordan disse komponentene er koblet sammen i de følgende trinnene.
Trinn 3: Lag saken
Hvis du har en 3D -skriver, kan saken skrives ut ganske enkelt. STL -filene som er inkludert i denne instruksjonsboken. Hvis du ikke har en 3D -skriver, kan du laste opp STL -filene til et 3D -skriverbyrå (for eksempel denne) og få dem skrevet ut for deg.
Jeg skrev ut min uten rand eller flåte (og uten støtter) og 20% utfylling, men du kan skrive ut din uansett om du er vant til å skrive ut. Hvert stykke skal skrives ut separat og legges flatt. Du må kanskje rotere den 45 grader for å få den til å passe til skriveren. Mine ble skrevet ut med en Monoprice Maker Select Plus med en sengestørrelse på 200 mm x 200 mm - hvert stykke tok omtrent 12 timer å skrive ut. Hvis du har en mindre seng, passer den kanskje ikke. Skalering anbefales ikke ettersom festene for de elektroniske komponentene da ikke skaleres på riktig måte.
Trinn 4: Koble komponentene til et brødbrett for å bekrefte tilkobling (valgfritt)
Jeg anbefaler på det sterkeste å koble de primære komponentene til et brødbrett for å bekrefte tilkoblingen før du fortsetter med monteringen av komponentene inne i saken. Du kan laste ned programvaren til Arduino Nano (se neste trinn), og for å bekrefte at OLED LCD -skjermen er korrekt kablet og fungerer, og at akselerometeret er korrekt kablet og at det rapporterer dataene til Arduino Nano. Denne kan også brukes til å verifisere driften av den valgfrie piezo -høyttaleren.
Jeg koblet ikke batteriet og laderen til brødbrettet på dette stadiet - tilkoblingen av bryteren for å kontrollere batteriet gjøres etter at du har montert bryteren på saken. Det siste bildet viser hvordan dette ser ut før kabling.
Trinn 5: Last ned programvaren til Arduino Nano
Programvaren lastes til Arduino Nano ved hjelp av Arduino IDE. Dette kan gjøres når som helst under prosessen med å bygge DigiLevel, men gjøres best når komponentene er koblet til ved hjelp av et brødbrett (se forrige trinn) for å verifisere korrekte ledninger og drift av de elektriske komponentene.
Programvaren krever at to biblioteker installeres. Det første er U8g2 -biblioteket (av oliver) -du kan installere dette ved å klikke på 'Sketch -> Include Library -> Manage Libraries …' i Arduino IDE. Søk etter U8g2 og klikk deretter på Installer. Det andre biblioteket er Sparkfun LSM9DS1 -biblioteket. Du kan få instruksjoner om hvordan du installerer det biblioteket her.
Etter bibliotekets spesifikasjoner har programvaren en oppsettseksjon og en hovedbehandlingssløyfe. Oppsettsdelen initialiserer akselerometeret og OLED LCD -skjermen, og viser deretter en oppstartsskjerm før hovedskjermen vises. Hvis en høyttaler er tilkoblet, spiller den ett pip på høyttaleren for å indikere at strømmen er slått på.
Hovedbehandlingssløyfen er ansvarlig for å lese akselerometeret, få x- og y -vinklene og deretter vise verdiene som et sett med absolutte tall og også billedlig på en graf. Temperaturavlesningen fra akselerometeret vises også (i enten Fahrenheit eller Celsius). Hvis nivået tidligere var ikke-nivå, vil det, når det går tilbake til nivået, generere to pip på høyttaleren (hvis den er tilkoblet).
Til slutt oppnås spenningen fra batteriet for å bestemme og vise gjeldende batterinivå. Jeg vet ikke hvor nøyaktig denne koden er, men den er nøyaktig nok til å vise et fullt batteri og gradvis nedtrapping av batterinivået under bruk.
Trinn 6: Monter og koble OLED -skjermen og Piezo -høyttaleren
1,3 OLED-skjermen (128x64) festes til den øvre halvdelen av saken med 4 M2x4 panhodeskruer. Jeg foreslår at du kobler ledningene til skjermen før montering. Dette sikrer at du kan se hvordan pinnene er merket som du kobler ledningene. Når skjermen er montert, vil du ikke kunne se etikettene for pinnene. Du vil legge merke til at jeg la til en etikett på baksiden av skjermen, slik at jeg kunne huske pin -verdier (siden jeg ikke gjorde dette første gangen og jeg koblet det feil …).
Høyttaleren brukes til å avgi en kort tone når det digitale nivået slås på for å bekrefte at batteriet er godt og at det er i drift. Det gir også en dobbel tone når nivået flyttes fra en ikke-nivåposisjon til en nivåposisjon. Dette er for å gi en hørbar tilbakemelding når du plasserer nivået eller hva nivået er på. Den er montert på den øvre halvdelen av saken ved hjelp av 2 M2x4 panhodeskruer. Du trenger ikke en høyttaler - DigiLevel fungerer fint uten den, men du kommer til å mangle noen hørbar tilbakemelding.
Trinn 7: Monter og koble til batteriet, batteriladeren og bryteren
Bryteren må monteres på saken før den kobles til batteriet. Dette er fordi hvis du kobler den først, kan du ikke montere bryteren uten å koble den fra. Så monter bryteren først, deretter monterer du det forhåndskablede TP4056- og Li-Po-batteriet, og fullfører deretter ledningene til bryteren.
TP4056 har 4 ledningsunderlag: B+, B-, Out+, Out-. Du vil koble batteriet til B+ (positiv spenning) og B- (jord) tilkoblinger. Out-tilkoblingen brukes til bakken som skal gå til Arduino Nano, og Out+ er koblet til en pinne på bryteren. Den andre pinnen på bryteren kobles deretter til VIN på Arduino Nano.
Loddejobben min er ikke den beste - jeg liker å bruke varmekrympeslanger for å dekke og isolere loddet skjøt. Du vil legge merke til at på en av de loddede forbindelsene her, ble varmekrympeslangen påvirket av varmen i loddet og den krympet før jeg klarte å flytte den.
Trinn 8: Monter og koble akselerometeret
Akselerometeret (LSM9DS1) er montert i midten av den nedre halvdelen av saken. Det er fire pinner som skal kobles til: VCC går til V5 -pinnen på Arduino Nano; GND går til jorden; SDA går til A5 -pinnen på Arduino Nano; og SCL går til A4 -pinnen på Arduino Nano.
Jeg har brukt jumperwires med Dupont -kontakter for ledninger, men du kan lodde ledningen direkte til pinnene hvis du foretrekker det. Hvis du lodder ledningene direkte til pinnene, vil du sannsynligvis gjøre dette før du monterer akselerometerbrikken for å gjøre det lettere.
Trinn 9: Fullfør elektronikken ved å koble Arduino Nano
Den siste ledningen gjøres ved å koble alle de elektriske komponentene til Arduino Nano. Dette gjøres best før du monterer Arduino Nano slik at USB -porten er tilgjengelig for kalibrering og andre programvareendringer i siste liten.
Start med å koble bryteren til Nano. Den positive ledningen (rød) går fra bryteren til VIN -pinnen på Nano. Den negative ledningen (svart) fra batteriet går til GND -pinnen på Nano. Det er to GND -pinner på Nano, og alle fire elektriske komponenter har en jordledning. Jeg valgte å kombinere de to begrunnelsene i bunnen av saken til en ledning som er koblet til en av GND -pinnene. De to begrunnelsene fra toppen av saken kombinerte jeg til en ledning koblet til de andre GND -pinnene.
Akselerometeret (LSM9DS1) kan kobles til Nano ved å koble VDD -pinnen på akselerometeret til 3V3 -pinnen på Nano. IKKE koble dette til 5V -pinnen, da ødelegger du akselerometerbrikken. Koble SDA til A4 -pinnen på Nano, og SCL til A5 -pinnen på Nano. GND -pinnen går til GND -pinnen på Nano (kombinert med den negative ledningen fra batteriet).
OLED LCD -skjermen kan deretter kobles til Nano ved å koble VCC -pinnen på skjermen til 5V -pinnen på Nano. Koble SDA til D2 -pinnen på Nano, og SCL til D5 -pinnen på Nano.
Til slutt kan høyttaleren kobles til ved å koble den røde ledningen (positiv) til D7 -pinnen på Nano. Den svarte ledningen går til GND sammen med GND på OLED LCD -skjermen.
Trinn 10: Kalibrering
Når programvaren er lastet ned, og før du monterer Arduino Nano, må du kanskje kalibrere nivået ditt. Sørg for at akselerometerbrettet er montert. Montering med skruene bør resultere i et jevnt bord, men hvis det av en eller annen grunn er litt av, vil kalibrering sikre en korrekt visning.
Legg bunnhuset på en overflate som er kjent for å være jevn (ved hjelp av et boblenivå eller andre midler). Les de viste verdiene for X og Y. Hvis begge er ikke-null, må du oppdatere programvaren med kalibreringsmengden. Dette gjøres ved å sette enten xCalibration -variabelen eller yCalibration -variabelen til riktig mengde (det som vises).
// // Angi disse variablene med startverdier som passende // bool displayF = true; // true for Fahrenheit, false for Celsius int xCalibration = 0; // kalibreringsbeløp for utjevning av x-aksen int yCalibration = 0; // kalibreringsbeløp for utjevning av y-aksen lang irvCalibration = 1457; // kalibreringsmengde for intern referansespenning
På dette tidspunktet bør du også sette verdien til displayF til riktig innstilling avhengig av om du vil at temperaturen skal vises i Fahrenheit eller Celsius.
Lasting av programvaren på Nano skal nå resultere i en 0/0 avlesning på en kjent overflate.
Trinn 11: Monter Arduino Nano og sett sammen etuiet
Når kalibreringen er fullført, kan du montere Arduino Nano i etuiet ved å påføre varmt lim på skinnene og plassere Arduino Nano på disse skinnene, med pinnene vendt opp og USB -porten vendt inn mot saken.
Etuiet som inneholder all elektronikken kan nå settes sammen ved å sette de to halvdelene sammen og bruke 4 M2x8 selvhevende skruer.
Trinn 12: Kontroller driften av ditt nye digitale nivå
Sørg for at Li-Po-batteriet er ladet. Hvis saken er satt sammen, vil du ikke kunne se ladeindikatorene for lading direkte. Hvis du vil bekrefte ladeoperasjonen ved å se ladelysene direkte, må du åpne etuiet, men du bør kunne se den røde gløden som indikerer at lading skjer med etuiet lukket.
Når den er ladet og satt sammen, slår du på det digitale nivået og bekrefter at det fungerer. Hvis det ikke fungerer, er de to sannsynlige problemene ledninger for OLED LCD -skjermen og ledninger for akselerometeret. Hvis displayet ikke viser noe, kan du starte med OLED LCD -ledninger. Hvis displayet fungerer, men H- og V -etikettene begge viser 0 og temperaturen er 0 (C) eller 32 (F), er akselerometeret sannsynligvis ikke koblet riktig.
Trinn 13: Avsluttende tanker …
Jeg satte sammen dette digitale nivået (og det instruerbare) først og fremst som en læringsopplevelse. Det var mindre viktig for meg å lage et fungerende nivå som det var å utforske de forskjellige komponentene og deres evner, og deretter sette dem sammen på en måte som tilfører verdi.
Hvilke forbedringer ville jeg gjort? Det er flere jeg vurderer for en fremtidig oppdatering:
- Avslør USB -porten på Arduino Nano gjennom saken ved å endre måten den er montert på. Dette vil muliggjøre enklere oppdateringer av programvaren (som uansett burde være sjelden).
- 3D -utskrift av saken med en trefilament. Jeg har eksperimentert med Hatchbox Wood filament og er veldig fornøyd med resultatene jeg har fått. Jeg tror dette vil gi DigiLevel et bedre helhetlig utseende.
- Oppdater designet for å bruke MPU-9250 akselerometer for å senke kostnaden uten å påvirke funksjonen.
Dette er min første instruks, og jeg tar gjerne imot tilbakemeldinger. Selv om jeg har prøvd å unngå det, er jeg sikker på at dette fremdeles har et mer USA -sentrert perspektiv - så beklager for de utenfor USA.
Hvis du syntes det var interessant, kan du stemme på meg i forfatterens første konkurranse. Takk for at du leste til slutt!
Runner Up in the First Time Author
Anbefalt:
Digitalt nivå med krysslinjelaser: 15 trinn (med bilder)
Digitalt nivå med krysslinjelaser: Hei alle sammen, i dag skal jeg vise deg hvordan du lager et digitalt nivå med valgfri integrert krysslinjelaser. For omtrent et år siden laget jeg et digitalt multiverktøy. Selv om verktøyet har mange forskjellige moduser, er det vanligste og mest nyttige for meg
DIY robotarm 6 akser (med trinnmotorer): 9 trinn (med bilder)
DIY Robot Arm 6 Axis (with Stepper Motors): Etter mer enn et års studier, prototyper og forskjellige feil klarte jeg å bygge en jern / aluminium robot med 6 frihetsgrader kontrollert av trinnmotorer. Den vanskeligste delen var designet fordi Jeg ønsket å oppnå 3 grunnleggende ob
3.7V batteri lav og full nivå indikator krets: 9 trinn (med bilder)
3.7V batteri lav og full nivå indikator krets: Hei venn, I dag skal jeg lage en krets med 3.7V batteri lav og full ladning. La oss komme i gang
HackerBox 0039: Nivå opp: 16 trinn
HackerBox 0039: Level Up: Med HackerBox 0039 benytter HackerBox Hackers rundt om i verden ATX -strømforsyninger for å drive prosjektene sine, lærer hvordan transistorer utgjør logiske porter og utforsker innholdet i mobil -SIM -kort. Denne instruksen inneholder informasjon
LED VU -nivå i 20 cent: 3 trinn
LED VU -nivå i 20 cent: VU -målere ble opprinnelig designet for den analoge verden for å visualisere gjennomsnittlig volum av et signal. Det er riktig, en VU -måler viser gjennomsnittlig volum eller lydstyrke for signalet som sendes gjennom det. VU -måler viser gjennomsnittlig lydstyrke