Inhoudsopgave:
- Stap 1: Materialen
- Stap 2: Bedradingsschema
- Stap 3: Maak de zaak
- Stap 4: Sluit de componenten aan op een breadboard om de connectiviteit te controleren (optioneel)
- Stap 5: Download de software naar de Arduino Nano
- Stap 6: Monteer en bedraad het OLED-scherm en de piëzo-luidspreker
- Stap 7: Monteer en bedraad de batterij, batterijlader en schakelaar
- Stap 8: Monteer en bedraad de versnellingsmeter
- Stap 9: Voltooi de elektronica door de Arduino Nano te bedraden
- Stap 10: Kalibratie
- Stap 11: Monteer de Arduino Nano en monteer de behuizing
- Stap 12: Controleer de werking van uw nieuwe digitale waterpas
- Stap 13: Laatste gedachten…
Video: DigiLevel - een digitaal waterpas met twee assen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
De inspiratie voor deze instructable is de doe-het-digitale waterpas die hier door GreatScottLab wordt gevonden. Ik vond dit ontwerp leuk, maar wilde een groter scherm met een meer grafische interface. Ik wilde ook betere montagemogelijkheden voor de elektronica in de koffer. Uiteindelijk heb ik dit project gebruikt om mijn 3D-ontwerpvaardigheden te verbeteren (met Fusion 360) en om nieuwe elektronische componenten te verkennen.
DigiLevel geeft feedback of een oppervlak waterpas is - zowel langs de x-as (horizontaal) als langs de y-as (verticaal). Graden van niveau worden weergegeven, evenals een grafische weergave op een kaart met 2 assen. Bovendien wordt het batterijniveau weergegeven en wordt de huidige temperatuur in Fahrenheit of Celsius weergegeven (zoals gerapporteerd door de versnellingsmeterchip). Dit is minimale hoorbare feedback - een eerste toon om het vermogen te verifiëren en vervolgens een dubbele toon wanneer het niveau wordt verplaatst van een niet-waterpaspositie naar een niveaupositie.
Ik heb gedetailleerde instructies gegeven over hoe je dit digitale waterpas kunt maken, maar voel je vrij om mijn ontwerp uit te breiden en aan te passen, net zoals ik deed op het doe-het-zelf digitale waterpas.
Stap 1: Materialen
Hieronder volgen de materialen die zijn gebruikt bij het samenstellen van dit digitale niveau. De meeste kooplinks zijn voor meerdere stukken, die doorgaans goedkoper zijn dan het kopen van de afzonderlijke componenten. De TP4056-chip wordt bijvoorbeeld geleverd met 10 stuks voor $ 9 (minder dan $ 1/TP4056), of hij kan afzonderlijk worden gekocht voor $ 5.
- TP4056 Li-Po batterijlader (Amazon -
- LSM9DS1 versnellingsmeter (Amazon -
- Arduino Nano (Amazon -
- 128x64 OLED LCD-scherm (Amazon -
- Piëzo-luidspreker (Amazon -
-
3.7V Li-Po-batterij (Amazon -
a.co/d/1v9n7uP)
- M2 zelftappende schroeven met platte kop - 4 M2x4, 6 M2x6 en 6 M2x8 schroeven zijn nodig (eBay -
- Schuifschakelaar (Amazon -
Met uitzondering van de schroeven, brengen de meegeleverde links u naar Amazon. Bijna al deze items kunnen echter met aanzienlijke korting op eBay of rechtstreeks vanuit China worden gekocht. Houd er rekening mee dat bestellen vanuit China kan resulteren in lange levertijden (3-4 weken is niet ongebruikelijk).
Merk ook op dat er alternatieven zijn voor veel van deze componenten. U kunt bijvoorbeeld een andere versnellingsmeter voor de LSM9DS1 (zoals de MPU-9205) vervangen. Je zou de Arduino Nano kunnen vervangen door een Arduino-compatibele processor met de juiste GPIO-pinnen te gebruiken.
In het bijzonder is de LSM9DS1 er een die ik bij Sparkfun in de uitverkoop heb gekocht voor minder dan $ 10, maar hij is normaal gesproken duurder; de MPU-9025 (https://a.co/d/g1yu2r1) biedt vergelijkbare functionaliteit tegen een lagere prijs.
Als u een vervanging maakt, moet u waarschijnlijk de behuizing wijzigen (of in ieder geval hoe u het onderdeel in de behuizing monteert) en moet u waarschijnlijk de software wijzigen om verbinding te maken met het alternatieve onderdeel. Ik heb die wijzigingen niet - u zult onderzoek moeten doen en indien nodig bijwerken.
Stap 2: Bedradingsschema
Het bedradingsschema geeft aan hoe de verschillende elektronische componenten met elkaar zijn verbonden. Rode lijnen vertegenwoordigen positieve spanning, terwijl zwarte lijnen aarde vertegenwoordigen. Gele en groene lijnen worden gebruikt voor datasignalen van de versnellingsmeter en naar het OLED LCD-scherm. U zult in de volgende stappen zien hoe deze componenten met elkaar zijn verbonden.
Stap 3: Maak de zaak
Als je een 3D-printer hebt, kan het hoesje vrij eenvoudig worden geprint. De STL-bestanden in deze Instructable. Als je geen 3D-printer hebt, kun je de STL-bestanden uploaden naar een 3D-printerbureau (zoals dit) en ze voor je laten printen.
Ik heb de mijne afgedrukt zonder rand of vlot (en geen steunen) en 20% vulling, maar je kunt de jouwe afdrukken zoals je gewend bent te printen. Elk stuk moet afzonderlijk worden bedrukt, plat liggend. Mogelijk moet u het 45 graden draaien om het op het printerbed te laten passen. De mijne is bedrukt met een Monoprice Maker Select Plus met een bedmaat van 200 mm x 200 mm - elk stuk kostte ongeveer 12 uur om te printen. Als je een kleiner bed hebt, past het misschien niet. Schalen wordt niet aanbevolen, omdat de houders voor de elektronische componenten dan niet op de juiste manier worden geschaald.
Stap 4: Sluit de componenten aan op een breadboard om de connectiviteit te controleren (optioneel)
Ik raad ten zeerste aan om de primaire componenten op een breadboard aan te sluiten om de connectiviteit te controleren voordat u doorgaat met de montage van de componenten in de behuizing. U kunt de software downloaden naar de Arduino Nano (zie de volgende stap), en om te controleren of het OLED LCD-scherm correct is aangesloten en werkt, en dat de versnellingsmeter correct is aangesloten en dat deze zijn gegevens aan de Arduino Nano rapporteert. Dit kan ook worden gebruikt om de werking van de optionele piëzo-luidspreker te verifiëren.
Ik heb de batterij en oplader in dit stadium niet op het breadboard aangesloten - het aansluiten van de schakelaar om de batterij te bedienen gebeurt nadat u de schakelaar op de behuizing hebt gemonteerd. De laatste foto laat zien hoe dit eruit ziet voorafgaand aan de bedrading.
Stap 5: Download de software naar de Arduino Nano
De software wordt met behulp van de Arduino IDE in de Arduino Nano geladen. Dit kan op elk moment tijdens het bouwen van de DigiLevel worden gedaan, maar kan het beste worden gedaan wanneer de componenten zijn bedraad met een breadboard (zie de vorige stap) om de juiste bedrading en werking van de elektrische componenten te controleren.
De software vereist dat 2 bibliotheken worden geïnstalleerd. De eerste is de U8g2-bibliotheek (door oliver) - u kunt deze installeren door te klikken op 'Sketch -> Include Library -> Manage Libraries…' in de Arduino IDE. Zoek naar U8g2 en klik vervolgens op Installeren. De tweede bibliotheek is de Sparkfun LSM9DS1-bibliotheek. U kunt hier instructies krijgen voor het installeren van die bibliotheek.
Na de bibliotheekspecificaties heeft de software een setup-sectie en een hoofdverwerkingslus. Het setup-gedeelte initialiseert de versnellingsmeter en het OLED LCD-scherm en geeft vervolgens een opstartscherm weer voordat het hoofdscherm wordt weergegeven. Als er een luidspreker is aangesloten, klinkt er één pieptoon op de luidspreker om de ingeschakelde status aan te geven.
De belangrijkste verwerkingslus is verantwoordelijk voor het lezen van de versnellingsmeter, het verkrijgen van de x- en y-hoeken en het vervolgens weergeven van de waarden als een reeks absolute getallen en ook picturaal in een grafiek. De temperatuurmeting van de versnellingsmeter wordt ook weergegeven (in Fahrenheit of Celsius). Als het niveau voorheen niet-waterpas was, zal het twee pieptonen op de luidspreker genereren wanneer het terugkeert naar het niveau (indien aangesloten).
Ten slotte wordt de spanning van de batterij verkregen om het huidige batterijniveau te bepalen en weer te geven. Ik weet niet hoe nauwkeurig deze code is, maar hij is nauwkeurig genoeg om een volle batterij en het geleidelijk afnemen van het batterijniveau tijdens gebruik te laten zien.
Stap 6: Monteer en bedraad het OLED-scherm en de piëzo-luidspreker
Het 1,3-inch OLED-scherm (128x64) wordt op de bovenste helft van de behuizing gemonteerd met behulp van 4 M2x4 zelftappende schroeven met pan-kop. Ik raad u aan uw draden vóór de montage op het scherm aan te sluiten. Dit zorgt ervoor dat u kunt zien hoe de pinnen zijn gelabeld terwijl u de draden aansluit. Als het scherm eenmaal is gemonteerd, kunt u de labels voor de pinnen niet zien. U zult merken dat ik een label aan de achterkant van het scherm heb toegevoegd, zodat ik me de pin-waarden (aangezien ik dit de eerste keer niet deed en het verkeerd bedraad…).
De luidspreker wordt gebruikt om een korte toon te laten horen wanneer de digitale waterpas wordt ingeschakeld om te controleren of de batterij goed is en dat deze werkt. Het zendt ook een dubbele toon uit wanneer het niveau wordt verplaatst van een niet-waterpaspositie naar een waterpaspositie. Dit is om een hoorbare feedback te geven als u het niveau positioneert of waar het niveau ook op staat. Het wordt op de bovenste helft van de behuizing gemonteerd met 2 M2x4 zelftappende zelftappende schroeven. U hebt geen luidspreker nodig - de DigiLevel werkt prima zonder deze, maar u zult geen hoorbare feedback missen.
Stap 7: Monteer en bedraad de batterij, batterijlader en schakelaar
De schakelaar moet op de behuizing worden gemonteerd voordat deze op de batterij wordt aangesloten. Dit komt omdat als je hem eerst bedraden, je de switch niet kunt monteren zonder hem los te koppelen. Monteer dus eerst de schakelaar, monteer vervolgens de voorbedrade TP4056 en Li-Po-batterij en voltooi vervolgens de bedrading naar de schakelaar.
De TP4056 heeft 4 bedradingspads: B+, B-, Out+, Out-. U wilt de batterij aansluiten op de B+ (positieve spanning) en B- (aarde) aansluitingen. De Out-verbinding wordt gebruikt voor de aarde die naar de Arduino Nano gaat, en de Out+ is verbonden met één pin van de schakelaar. De tweede pin van de schakelaar wordt dan aangesloten op het VIN van de Arduino Nano.
Mijn soldeerwerk is niet het beste - ik gebruik graag krimpkous om de soldeerverbinding te bedekken en te isoleren. Je zult merken dat op een van de gesoldeerde verbindingen hier de krimpkous werd beïnvloed door de hitte van het solderen en hij kromp voordat ik hem kon verplaatsen.
Stap 8: Monteer en bedraad de versnellingsmeter
De versnellingsmeter (LSM9DS1) is in het midden van de onderste helft van de behuizing gemonteerd. Er moeten 4 pinnen worden aangesloten: VCC gaat naar de V5-pin op de Arduino Nano; GND gaat naar de grond; SDA gaat naar de A5-pin op de Arduino Nano; en SCL gaat naar de A4-pin op de Arduino Nano.
Ik heb jumperdraden met Dupont-connectoren gebruikt voor de bedrading, maar je kunt de draad desgewenst rechtstreeks op de pinnen solderen. Als u de draden rechtstreeks op de pinnen soldeert, wilt u dit waarschijnlijk doen voordat u de accelerometer-chip monteert om het gemakkelijker te maken.
Stap 9: Voltooi de elektronica door de Arduino Nano te bedraden
De definitieve bedrading wordt gedaan door alle elektrische componenten op de Arduino Nano aan te sluiten. Dit kan het beste worden gedaan voordat de Arduino Nano wordt gemonteerd, zodat de USB-poort toegankelijk is voor kalibratie en andere last-minute softwarewijzigingen.
Begin met het aansluiten van de schakelaar op de Nano. De positieve kabel (rood) gaat van de schakelaar naar de VIN-pin van de Nano. De negatieve kabel (zwart) van de batterij gaat naar de GND-pin op de Nano. Er zijn twee GND-pinnen op de Nano en alle vier de elektrische componenten hebben een aardingsdraad. Ik heb ervoor gekozen om de twee gronden aan de onderkant van de behuizing te combineren in één kabel die is aangesloten op een van de GND-pinnen. De twee gronden vanaf de bovenkant van de behuizing heb ik gecombineerd tot één draad die is aangesloten op de andere GND-pinnen.
De accelerometer (LSM9DS1) kan worden aangesloten op de Nano door de VDD-pin op de accelerometer aan te sluiten op de 3V3-pin op de Nano. Sluit deze NIET aan op de 5V-pin, anders beschadigt u de chip van de accelerometer. Sluit SDA aan op de A4-pin op de Nano en SCL op de A5-pin op de Nano. De GND-pin gaat naar de GND-pin op de Nano (in combinatie met de negatieve kabel van de batterij).
Het OLED LCD-scherm kan vervolgens worden aangesloten op de Nano door de VCC-pin op het scherm aan te sluiten op de 5V-pin op de Nano. Sluit SDA aan op de D2-pin op de Nano en SCL op de D5-pin op de Nano.
Ten slotte kan de luidspreker worden aangesloten door de rode draad (positief) aan te sluiten op de D7-pin op de Nano. De zwarte draad gaat naar GND samen met de GND van het OLED LCD-scherm.
Stap 10: Kalibratie
Nadat de software is gedownload en voordat u de Arduino Nano installeert, moet u mogelijk uw niveau kalibreren. Zorg ervoor dat de accelerometerkaart is gemonteerd. Het monteren met de schroeven zou resulteren in een waterpas bord, maar als het om wat voor reden dan ook een beetje afwijkt, zorgt kalibratie voor een correcte weergave.
Plaats de onderkant van de behuizing op een oppervlak waarvan bekend is dat het waterpas is (met een waterpas of op een andere manier). Lees de weergegeven waarden voor X en Y. Als een van beide niet nul is, moet u de software bijwerken met het kalibratiebedrag. Dit wordt gedaan door de variabele xCalibration of de variabele yCalibration in te stellen op de juiste hoeveelheid (wat wordt weergegeven).
// // Stel deze variabelen in met de beginwaarden zoals van toepassing // bool displayF = true; // waar voor Fahrenheit, onwaar voor Celsius int xCalibration = 0; // kalibratiebedrag voor het nivelleren van de x-as int yCalibration = 0; // kalibratiebedrag voor het egaliseren van de y-as lange irvCalibration = 1457; // kalibratiebedrag voor interne referentiespanning
Op dit moment moet u ook de waarde van displayF instellen op de juiste instelling, afhankelijk van of u de temperatuur wilt weergeven in Fahrenheit of Celsius.
Het opnieuw laden van de software op de Nano zou nu moeten resulteren in een 0/0-waarde op een bekend oppervlak.
Stap 11: Monteer de Arduino Nano en monteer de behuizing
Zodra de kalibratie is voltooid, kunt u de Arduino Nano in de behuizing monteren door hete lijm op de rails aan te brengen en de Arduino Nano op deze rails te plaatsen, met de pinnen naar boven gericht en de USB-poort naar de binnenkant van de behuizing gericht.
De behuizing met alle elektronica kan nu worden gemonteerd door de twee helften in elkaar te zetten en 4 M2x8 zelftappende schroeven met platte kop te gebruiken.
Stap 12: Controleer de werking van uw nieuwe digitale waterpas
Zorg ervoor dat de Li-Po-batterij is opgeladen. Als de case is gemonteerd, kun je de oplaad-LED-indicatoren niet direct zien. Als u het opladen wilt controleren door rechtstreeks naar de oplaadlampjes te kijken, moet u de hoes openen, maar u zou de rode gloed moeten kunnen zien die aangeeft dat wordt opgeladen terwijl de hoes gesloten is.
Eenmaal opgeladen en gemonteerd, zet u de digitale waterpas aan en controleert u de werking ervan. Als het niet werkt, zijn de twee waarschijnlijke probleempunten de bedrading voor het OLED LCD-scherm en de bedrading voor de versnellingsmeter. Als het display niets weergeeft, begin dan met de OLED LCD-bedrading. Als het display werkt, maar de H- en V-labels geven beide 0 aan en de temperatuur is 0 (C) of 32 (F), dan is de versnellingsmeter waarschijnlijk niet correct aangesloten.
Stap 13: Laatste gedachten…
Ik heb dit digitale niveau (en de Instructable) voornamelijk samengesteld als een leerervaring. Het was voor mij minder belangrijk om een functionerend niveau te maken, maar om de verschillende componenten en hun mogelijkheden te verkennen en ze vervolgens samen te voegen op een manier die waarde toevoegt.
Welke verbeteringen zou ik aanbrengen? Er zijn er verschillende die ik overweeg voor een toekomstige update:
- Onthul de USB-poort van de Arduino Nano via de behuizing door de manier waarop deze is gemonteerd aan te passen. Dit zou eenvoudigere updates van de software mogelijk maken (wat in ieder geval zeldzaam zou moeten zijn).
- 3D print de behuizing met behulp van een houtfilament. Ik heb geëxperimenteerd met Hatchbox Wood-filament en ik ben erg blij met de resultaten die ik heb gekregen. Ik denk dat dit de DigiLevel een beter totaalbeeld zou geven.
- Werk het ontwerp bij om de MPU-9250-versnellingsmeter te gebruiken om de kosten te verlagen zonder de functie te beïnvloeden.
Dit is mijn eerste instructable en ik ben blij met feedback. Hoewel ik heb geprobeerd het te vermijden, ben ik er zeker van dat dit nog steeds een meer op de VS gericht perspectief heeft - dus excuses voor degenen buiten de VS.
Als je het interessant vond, stem dan op mij in de First Time Author Contest. Bedankt voor het lezen tot het einde!
Tweede plaats in de eerste keer auteur
Aanbevolen:
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) - Arduino gebaseerd: 15 stappen (met afbeeldingen)
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) | Gebaseerd op Arduino: het automatiseren van modelbaanlay-outs met behulp van Arduino-microcontrollers is een geweldige manier om microcontrollers, programmeren en modelspoorbanen samen te voegen tot één hobby. Er zijn een heleboel projecten beschikbaar over het autonoom laten rijden van een trein op een modelspoorbaan
Digitaal vertragingspedaal: 19 stappen (met afbeeldingen)
Digitaal vertragingspedaal: Gitaarpedalen bouwen is een tijdrovend, vaak frustrerend en duur proces. Als je denkt dat je tijd en geld kunt besparen door je eigen digitale delaypedaal te maken, raad ik je ten zeerste aan om R.G. Keen's pagina over de economie van pedaalbouw
DIY digitale waterpas: 5 stappen (met afbeeldingen)
DIY digitale waterpas: in dit project zullen we accelerometer-IC's nader bekijken en ontdekken hoe we ze kunnen gebruiken met een Arduino. Daarna combineren we zo'n IC met een paar complementaire componenten en een 3D-geprinte behuizing om een digitale
Energieoverdracht met twee Tesla-spoelen: 7 stappen (met afbeeldingen)
Energieoverdracht met twee Tesla-spoelen: Met deze Tesla-spoelen kunt u een led laten branden die is aangesloten op een enkele draad. De energie wordt vanaf de linkerantenne naar rechts overgebracht. De signaalgenerator is aangesloten op de zwarte rechterspoel (rechterantenne). Op de 2 antennes wordt energie overgedragen door inductie
Twee OOBoards met elkaar verbinden met behulp van I2C: 4 stappen
Twee OOBoards met elkaar verbinden met behulp van I2C: dit instructable behandelt hoe u twee OOBoards kunt verbinden met behulp van I2C