Inhaltsverzeichnis:
- Schritt 1: Höhenmesser
- Schritt 2: Teile
- Schritt 3: Schaltplan und PCB
- Schritt 4: So richten Sie LEDs mit der Eagle PCB Design Software in Sekundenschnelle perfekt in einem Kreis aus
- Schritt 5: Kompasskalibrierungsprozess
- Schritt 6: Kompensieren Sie die magnetische Deklination Ihres Standorts
- Schritt 7: Kompilieren Sie den Code
Video: LED-Kompass und Höhenmesser - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Objekte mit LEDs faszinieren mich immer wieder. Daher dieses Projekt, den beliebten digitalen Kompasssensor HMC5883L mit 48 LEDs zu kombinieren. Wenn Sie die LEDs in einem Kreis platzieren, ist die leuchtende LED die Richtung, in die Sie gehen. Alle 7,5 Grad wird eine neue LED angesteuert, die detaillierte Ergebnisse liefert.
Das GY-86 Board bietet auch einen MS5611 barometrischen Drucksensor. Mit Hilfe dieses Sensors ist es möglich die Höhe zu berechnen. Aufgrund der hohen Auflösung ist es perfekt für Höhenmesser geeignet.
Der MPU6050-Sensor auf der GY-86-Platine verfügt sowohl über einen 3-Achsen-Beschleunigungsmesser als auch über ein 3-Achsen-Gyroskop. Das Gyroskop kann die Geschwindigkeit der Winkelposition über die Zeit messen. Der Beschleunigungsmesser kann die Gravitationsbeschleunigung messen und mit Hilfe der Trigonometrie-Mathematik ist es möglich, den Winkel zu berechnen, in dem der Sensor positioniert ist. Durch die Kombination der Beschleunigungsmesser- und Gyroskopdaten ist es möglich, Informationen über die Sensorausrichtung zu erhalten. Dies kann für die Neigungskompensation für den HMC5883L-Kompass verwendet werden (to do).
Die kurzen Anleitungsvideos in diesem anweisbaren erklären im Detail, wie es funktioniert. Kalibrierverfahren sind automatisiert, so dass der Erfolg garantiert ist. Die Temperatur ist in Celsius (Standard) oder Fahrenheit verfügbar.
Spaß haben !!
Schritt 1: Höhenmesser
Der Höhenmesser verwendet den barometrischen Drucksensor MS5611. Die Höhe kann anhand der Messung des atmosphärischen Drucks bestimmt werden. Je größer die Höhe, desto geringer der Druck. Beim Start verwendet der Höhenmesser den standardmäßigen Meeresspiegeldruck von 1013,25 mbar. Durch Drücken der Taste an Pin 21 wird der Druck an Ihrem Standort als Referenz verwendet. Auf diese Weise ist es möglich, ungefähr zu messen, welche Höhe etwas hat (z. B. beim Bergauffahren mit dem Auto).
In diesem Projekt wird die sogenannte "Hypsometrische Formel" verwendet. Diese Formel verwendet die Temperatur, um die Messung zu kompensieren.
float alt=((powf(source / ((float) P / 100,0), 0,19022256) - 1,0) * ((float) TEMP / 100 + 273.15)) / 0,0065;
Weitere Informationen zur hypsometrischen Formel finden Sie hier:
Hypsometrische Formel
Die Werkskalibrierungsdaten und die Sensortemperatur werden vom MS5611-Sensor gelesen und auf den Code angewendet, um die genauesten Messungen zu erhalten. Während des Tests habe ich festgestellt, dass der MS5611-Sensor empfindlich auf Luftströmungen und Unterschiede in der Lichtintensität reagiert. Es muss möglich sein, bessere Ergebnisse als in diesem Anleitungsvideo zu erzielen.
Schritt 2: Teile
1 x Microchip 18f26k22 Mikrocontroller 28-PIN PDIP
3 x MCP23017 16-Bit I/O Expander 28-pin SPDIP
48 x LEDs 3mm
1 x GY-86-Modul mit MS5611-, HMC5883L- und MPU6050-Sensoren
1 x SH1106 OLED 128x64 I2C
1 x Keramikkondensator 100nF
1 x 100 Ohm Widerstand
Schritt 3: Schaltplan und PCB
Alles passt auf eine einseitige Leiterplatte. Finden Sie hier die Eagle- und Gerber-Dateien, damit Sie sie selbst herstellen können oder fragen Sie einen PCB-Hersteller.
Ich verwende den LED-Kompass und den Höhenmesser in meinem Auto und nutze die OBD2-Schnittstelle als Stromversorgung. Der Mikrocontroller passt perfekt in den Stecker.
Schritt 4: So richten Sie LEDs mit der Eagle PCB Design Software in Sekundenschnelle perfekt in einem Kreis aus
Sie müssen diese wirklich nette Funktion in der Eagle PCB Design Software sehen, die Ihnen stundenlange Arbeit erspart. Mit dieser Eagle-Funktion können Sie LEDs in Sekundenschnelle perfekt im Kreis ausrichten.
Klicken Sie einfach auf die Registerkarte "Datei" und dann auf "ULP ausführen". Klicken Sie hier auf "cmd-draw.ulp". Wählen Sie „Verschieben“, „Gradschritt“und „Kreis“. Tragen Sie den Namen der ersten LED in das Feld "Name" ein. Stellen Sie die Koordinaten des Kreismittelpunkts auf dem Raster in den Feldern "X-Mittelpunktskoordinate" und "Y-Mittelpunktskoordinate" ein. In diesem Projekt sind 48 LEDs, also 360 geteilt durch 48 ergibt 7,5 für das Feld "Winkelschritt". Der Radius dieses Kreises beträgt 1,4 Zoll. Drücken Sie die Eingabetaste und Sie haben einen perfekten Kreis von LEDs.
Schritt 5: Kompasskalibrierungsprozess
Der HMC5883L enthält einen 12-Bit-ADC, der eine Kompasskursgenauigkeit von 1 bis 2 Grad Celsius ermöglicht. Aber bevor es brauchbare Daten liefert, muss es kalibriert werden. Damit dieses Projekt reibungslos läuft, gibt es diese Kalibrierungsmethode, die x- und y-Offset bereitstellt. Es ist nicht die ausgereifteste Methode, aber für dieses Projekt ausreichend. Dieses Verfahren kostet Sie nur wenige Minuten und liefert Ihnen schöne Ergebnisse.
Durch das Laden und Ausführen dieser Software werden Sie durch diesen Kalibrierungsprozess geführt. Das OLED-Display zeigt Ihnen an, wann der Vorgang beginnt und wann er endet. Bei dieser Kalibrierung werden Sie aufgefordert, den Sensor um 360 Grad zu drehen, während Sie ihn absolut flach (horizontal zum Boden) halten. Montieren Sie es auf einem Stativ oder ähnlichem. Dies zu tun, indem Sie es in der Hand halten, funktioniert nicht. Am Ende werden die Offsets auf der OLED dargestellt. Wenn Sie dieses Verfahren mehrmals ausführen, müssen Sie fast gleiche Ergebnisse erzielen.
Optional stehen die gesammelten Daten auch über RS232 über Pin 27 (9600 Baud) zur Verfügung. Verwenden Sie einfach ein Terminalprogramm wie Putty und sammeln Sie alle Daten in der Protokolldatei. Diese Daten können einfach in Excel importiert werden. Von hier aus können Sie besser sehen, wie der Offset Ihres HMC5883L aussieht.
Die Offsets werden im EEPROM des Mikrocontrollers abgelegt. Diese werden beim Start der Kompass- und Höhenmesser-Software geladen, die Sie in Schritt 7 finden.
Schritt 6: Kompensieren Sie die magnetische Deklination Ihres Standorts
Es gibt einen magnetischen Norden und einen geografischen Norden (Nordpol). Ihr Kompass folgt den Magnetfeldlinien der Erde, zeigt also nach dem magnetischen Norden. Der Unterschied zwischen dem magnetischen Norden und dem geografischen Norden wird als magnetische Deklination bezeichnet. An meinem Standort beträgt die Deklination nur 1 Grad und 22 Minuten, daher lohnt es sich nicht, dies zu kompensieren. An anderen Standorten kann diese Deklination bis zu 30 Grad betragen.
Finden Sie die magnetische Deklination an Ihrem Standort
Wenn Sie dies kompensieren möchten (ist optional), können Sie die Deklination (Grad und Minuten) im EEPROM des Mikrocontrollers hinzufügen. An der Stelle 0x20 können Sie die Grade in vorzeichenbehafteter hexadezimaler Form hinzufügen. Es ist signiert, weil es auch eine negative Deklination sein kann. An der Stelle 0x21 können Sie die Minuten auch in hexadezimaler Form hinzufügen.
Schritt 7: Kompilieren Sie den Code
Kompilieren Sie diesen Quellcode und programmieren Sie Ihren Mikrocontroller. Dieser Code wird mit MPLABX IDE v5.20 und XC8-Compiler v2.05 im C99-Modus korrekt kompiliert (beziehen Sie also die C99-Verzeichnisse mit ein). Auch die Hex-Datei ist verfügbar, damit Sie den Kompilierungsvorgang überspringen können. Stellen Sie sicher, dass Sie das Kontrollkästchen "EEPROM-Daten aktiviert" deaktivieren, um zu verhindern, dass Kalibrierdaten (siehe Schritt 5) überschrieben werden. Stellen Sie Ihren Programmierer auf 3,3 Volt ein!
Wenn Sie Pin 27 mit Masse verbinden, erhalten Sie die Temperatur in Fahrenheit.
Danke an Achim Döbler für seine µGUI-Grafikbibliothek
Zweiter im Sensors Contest
Empfohlen:
Video-Tutorials De Tecnologías Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led?: 4 Schritte
Video-Tutorials De Tecnologías Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led?: En este Tutorial vamos a prender como modificar la intensid de la luz de un led con einer potenciómetro sobre una placa Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuen
Arduino Ampel-Controller mit RBG Led - 4-Wege: 3 Schritte
Arduino Ampel-Controller mit RBG Led | 4-Wege: In diesem Beitrag erfahren Sie, wie Sie einen Arduino-Ampelcontroller herstellen. Mit diesem Ampelsteuergerät wird der Verkehrsfluss gesteuert. Diese können in stark frequentierten Bereichen angewendet werden, um Verkehrsblockaden oder Unfälle zu vermeiden
Ein riesiges leuchtendes LED-Schild herstellen – wikiHow
Wie man ein riesiges leuchtendes LED-Schild herstellt: In diesem Projekt zeige ich Ihnen, wie Sie ein riesiges Schild mit einem benutzerdefinierten Schriftzug bauen, der mit Hilfe von RGB-LEDs aufleuchten kann. Das Schild kann aber auch als primäre Lichtquelle in Ihrem Raum verwendet werden, indem warmweiße LED-Streifen verwendet werden. Lass uns st
Nachtsicht-Laserschnabel! (ODER wie man eine Nachtsicht-erhaltende LED Throwie, Transformer Toy Mashup Taschenlampe herstellt!): 5 Schritte
Nachtsicht-Laserschnabel! (ODER Wie man eine Nachtsicht-erhaltende, LED-Throwie, Transformator-Spielzeug-Mashup-Taschenlampe herstellt!): Ein Instructable von einem Noob für den Noob Spielzeug? Ein instructable mit einem wirklich langen Namen! Wir nennen es "Nightvision Laserbeak" zum
Einfacher LED-Farbwechsel "Kerze": 5 Schritte (mit Bildern)
Einfacher LED-Farbwechsel "Kerze": Dies ist ein einfaches Farbwechsellicht, das sich hervorragend für Kinder und Erwachsene eignet. Sieht in einem schwach beleuchteten Raum wunderschön aus, ideal für die Feiertage und macht ein ziemlich cooles Nachtlicht