Aufbau einer digitalen Tachometer - SparkFun Electronics

Schwierigkeitsgrad: Anfänger

Ich bin keine Oma, und ich weiß nicht fahren

wie man auch nicht, aber ein paar Wochen war ich meine Verlobten Auto fahren und bemerkte, dass Menschen, die von mir auf der Autobahn nur flogen. Der Tacho sagte, dass ich ein wenig über die Höchstgeschwindigkeit fahren. Durch Zufall kam ich einen jener Radarfallen Anhänger, dass die Polizei auf der Seite der Straße setzen. Zu meiner Überraschung gibt es eine 10 Stundenmeilen Differenz zwischen der Geschwindigkeit auf der Fall angezeigt und die Geschwindigkeit auf meinem Tacho angezeigt! Ich fragte mich sofort, wie oft war meine Verlobte hupte an. Also tat ich, was jeder gute engiNERD / Freund tun würde; Ich baute ihr einen neuen! In diesem Tutorial werde ich Ihnen zeigen, wie ich 4 verschiedene SparkFun Produkte verwendet, um ein ziemlich cool GPS betriebenen Digitaltachometer zu bauen.







Aufbau einer digitalen Tachometer - SparkFun Electronics

Ich begann mit dem Paket Tracker (weil ich einen Ersatz auf meinem Schreibtisch hatte), aber Sie können eine beliebige GPS-Gerät, das Sie verwenden, um diese eine UART zur Verfügung hat. Der Code in diesem Tutorial wurde für den LPC2148 ARM7 geschrieben, die auf dem Paket Tracker ist, aber es wäre ziemlich einfach sein, es zu ändern, auf jeder Plattform zu arbeiten. Zusammen mit dem Paket Tracker ich ein GPS-Modul benötigt wird; Ich wählte das EM408, weil ich mit ihm vertraut bin. Ich brauchte auch eine microSD-Karte, so dass ich die USB-ARM Bootloader verwenden könnte meinen Code auf das Brett zu laden.

Aufbau einer digitalen Tachometer - SparkFun Electronics

Es gibt vier verschiedene Produkte, die wir dieses Ding bereit für die Programmierung verbinden müssen zu erhalten: das Paket Tracker, den Grafik-LCD, die Serien Graphic Rucksack, und der 5V Step-Up Board. Wie sollte klar sein, Stecker das GPS-Modul direkt in das Paket Tracker und die microSD-Karte auch wird nur in den microSD-Buchse auf der Platine eingesetzt. Erster den LCD-Rucksack auf den LCD ist so einfach wie ein weiblichen Kopf auf einen der Platten Löten und einen männlichen Kopfes auf die anderen, und verstopfen sie.

Aufbau einer digitalen Tachometer - SparkFun Electronics

Da wir nicht die VCC auf dem Header können wir müssen nur die Macht übernehmen direkt von der Batterie an die 5V-Step-up-Board. Ich legte den Step-up-Brett auf einem Steckbrett, so dass es leichter war, mit zu arbeiten, aber man könnte wahrscheinlich einen Weg finden, um ohne es diese Funktion zu erhalten. Sobald wir Energie an die Breakout-Board haben, werden wir nur den 5V-Ausgang an den seriellen Rucksack verbinden und wir sind gut zu gehen!

Aufbau einer digitalen Tachometer - SparkFun Electronics

Das Schreiben des Codes

Der Code für dieses Projekt kann aufgeteilt werden

in zwei allgemeine Teile: die Geschwindigkeitsdaten aus der GPS-Modul erhalten, und die Daten an das LCD gesendet wird. Das erste, was wir tun müssen, obwohl, ist der Tacho ziehen. Der Tacho ist wirklich nur ein Kreis mit einem Bündel von Zahlen in der es platziert. Pete hat einen tollen Job auf der seriellen Grafik Rucksack Firmware und einen Kreis Befehl enthalten, sowie Textbefehle. Alles, was ich tun musste, war, herauszufinden, wie groß ich den Kreis zu sein, und wo platzieren es wollte, zusammen mit, wo ich wollte, den gesamten Text platzieren. Nachdem ich diese Dinge wusste, dass ich nur die seriellen Befehle an den LCD-Rucksack senden. Die seriellen Befehle für die LCD-Rucksack kann hier in der Serien Graphic Rucksack Datenblatt.

Um ehrlich zu sein, fand ich die Größe und Lage des Kreises und Zahlen durch Versuch und Irrtum mit (. Eine Menge Fehler, lassen Sie mich Ihnen sagen, dass!). Sie können alle Zahlen in der drawSpeedometerOutline Funktion der Speedometer.c-Datei und die Speedometer.h Datei, aber ich kann Ihnen schnell sagen, dass ich einen Kreis mit einem Radius von 34 Pixeln in der X zentrierten verwendet, Y-Koordinaten 34, 26. Scheint es seltsam, dass die Mitte des Kreises in einer Höhe von 26 Pixeln, aber der Radius des Kreises ist 34? Es sollte scheinen, als ob der Kreis würde den unteren Rand des LCD ablaufen. Und es tut! Aber das war genau der Blick, den ich für vorging.







Aufbau einer digitalen Tachometer - SparkFun Electronics

Nun, da ich die Umrisse meines Tacho habe ich brauche nur eine? Nadel? die aktuelle Geschwindigkeit anzuzeigen. Ich dachte, den einfachste Weg, dies zu tun wäre, um den LINE-Befehl auf dem seriellen Rucksack zu verwenden, aber ich würde immer noch die Koordinaten für die Linie wissen müssen, die auf dem Tachometer zu jedem Tick entsprechen. Leider nannte dies für ein wenig Trigonometrie! Ich nehme an, ich mit meinem Versuch und Irrtum-Methode haben stecken bleiben konnte, aber ich wollte irgendwann in diesem Jahrhundert beenden; so kaputt ich den Rechner aus (na ja, eigentlich kaputt ich aus Excel, aber Sie bekommen das Bild). Werfen Sie einen Blick auf diese Figur und die Gleichungen, um zu sehen, wie ich in der Lage war die Linienkoordinaten zu erhalten.

Aufbau einer digitalen Tachometer - SparkFun Electronics

Wir wissen, dass ein Satz von Koordinaten für die Nadel wird das Zentrum des Kreises; die Länge der Nadel ist an Ihnen. Ich entschied mich für meine Nadel 20 Pixel lang zu sein, weil es wie die Nadel schien um den Tacho den ganzen Weg gehen konnte, ohne in den Kreis über die Zahlen zu laufen. erlauben würde, diese beiden Dinge zu wissen, mir den zweiten Satz von X zu finden, Y-Koordinaten auf dem Tacho für jeden MPH. Das erste, was ich tat, war die Grade des Kreises auf eine Geschwindigkeit beziehen. Ich möchte der Tacho bis 100 Meilen pro Stunde angezeigt werden (obwohl es gibt keine Möglichkeit, dass Auto jemals diese Geschwindigkeit getroffen). Also, wenn ich davon aus, dass, wenn ich den ganzen Kreis für die Geschwindigkeit verwendet wird, würde ich 133 Stundenmeilen hat. Mit dieser Nummer fand ich, dass (1 MPH) gleich (2,7 Grad) auf dem Kreis. Jetzt kann ich einfache trigonometrische Funktionen verwenden, um alle meine Koordinaten zu finden. Um die X-Koordinate finden ich die Gleichung verwenden:

X Länge = sin (MPH * 2.7) * 20

Und die Y-Koordinate finden ich die Gleichung verwenden:

Y Länge = cos (MPH * 2.7) * 20

Ich müsste diese Gleichung auf dem Tachometer für jede MPH Einheit auszuführen alle der X zu erhalten, Y-Koordinaten; aber eine einfache Tabelle kann dies in einem Flash für mich auszuführen. Sie können die Tabelle sehe ich in dieser Datei verwendet. Nach der Berechnung läuft ich nur alle Koordinaten in ein Array in meinem Code kopiert.

Puh! Das ist auf jeden Fall genug Mathe für einen Tag. einige Tests mit meinem neuen Koordinaten nach dem Laufen hatte ich eine gute Nachricht und eine schlechte Nachricht. Die gute Nachricht ist, dass die Gleichungen gearbeitet und die Tachonadel schienen auf dem richtigen Weg zu sein. Die schlechte Nachricht war, dass der LINE-Befehl wurde nicht schnell genug gehen, um in dem System zu verwenden. Das war nicht zu viel Aufwand, nahm ich den Code für den Rucksack LCD und hat einen neuen Befehl namens SPEED; im Grunde dauert es nur eine Eingangsdrehzahl und zieht eine Linie.

Aufbau einer digitalen Tachometer - SparkFun Electronics

Sobald ich die Geschwindigkeit vom GPS-Modul haben, ich brauche nur an die LCD schreiben von meinem SPEED Befehl senden. Allerdings nur mein GPS-Modul aktualisiert einmal pro Sekunde. Dies bedeutet, dass meine Geschwindigkeit Wert um springen. Ich will nicht die Nadel auf meinem Tacho herumspringen! Ich mag die Nadel aus seiner aktuellen Position zu erhöhen, um es zu einem Zeitpunkt pro Stunde neue Position 1 Meile ist. Dies ist sehr einfach durch Verwendung von zwei verschiedenen Variablen für Geschwindigkeit zu tun: eine der Variablen verfolgt die GPS-Geschwindigkeit und die andere Variable verhält sich wie ein Chaser? dass versucht immer, die GPS-Geschwindigkeit zu fangen. So könnte die GPS-Geschwindigkeit von 0 bis 5 MPH in einer Lesung gehen; aber das? Chaser? Wert hat es die Geschwindigkeit zu erhöhen, um von 0 auf 1 geht, 1 bis 2 und so weiter. Dann anstelle der GPS-Geschwindigkeit direkt auf den LCD zu senden, senden wir das? Chaser? Geschwindigkeit auf dem LCD, so erhalten wir eine realistischere visuelle auf dem LCD.


Wo es jetzt weitergeht

Sie wissen, dass Sie nicht op mit einer Datentabelle Kegel haben im Arduino-Code direkt zu benutzen? Arduino ist in der Lage Trigonometrie mit der math.h Bibliothek wirklich effizient an Bord zu tun. Hast du dieses Recht wissen? oder zumindest herausgefunden, nachdem dieses Projekt zu tun.

Das ist toll! Ich werde diesen Code für meinen Senioren Design verwenden. Ich mache allerdings einige Fragen haben.
Haben Sie den seriellen LCD Rucksack Firmware tatsächlich ändern? Ich habe bemerkt, dass Sie gesagt haben Sie einen SPEED-Befehl gemacht, weil der LINE-Befehl zu langsam ist. Bedeutet das, dass ich auf Probleme stoßen, wenn ich diesen LINE-Befehl verwenden? Ich verstehe nicht, wie es sowieso zu langsam ist ....
Außerdem bin ich richtig zu sagen, dass Sie den LCD-Tacho-Code-Koordinaten in der Firmware setzen. Kann ich durch nicht verwirren mit dem Firmware-Code überhaupt und immer noch macht diesen Tacho bekommen?

Ich habe das obige Verfahren versucht und verwende Trigonometrie und Formel oben, aber meine Nadel ist ganz über den Platz.
Ich habe versucht, auch nur geben sie manuell Werte, aber die Nadel beginnen somehwere und springt hier und tehre jedes Mal, wenn ein neuer Wert eingegeben wird!
Was mache ich falsch?

Hallo,
Vielen Dank für Ihr Projekt zu teilen.
Ich dachte über die Verwendung der Auto
Bordcomputer Tachometer zu erhalten
Informationen aber ich denke, das GPS
auf jeden Fall würde es unabhängig
alle Kfz-Elektronik.
Ich denke, dass man dieses Projekt ändern
ein Automobil-Geräuschhersteller zu sein,
Elektro- und Hybridfahrzeuge, die
zur Zeit so still, dass man leicht bekommen kann
laufen, indem sie über.
David

Gute Idee Hungriger. Leider habe ich einen Buick, die ich vor neue 20 Jahren gekauft und Teile schwer zu finden bekommen. Ich bin auf dem dritten VSS, die geborgen wurde gekauft, und es ist intermittierend als das Display selbst ist.
Ein GPS-Tacho wäre eine relativ schnelle Lösung und etwas interessante zu entwerfen und auch zu bauen. Etwas, das ich aus meiner Liste der Dinge, zerkratzen könnte zu befürchten :-)

ich liebe den aus dem Kasten heraus denken, aber hätte ein Signal von dem Fahrzeuggeschwindigkeitssensor (auf der Übertragung) Ich weiß nicht, vorgeschlagen, was die honda Spannungen sind aber mein Ausweichen ist 5V. Also dann könnte man es gegen das GPS überprüfen sig herauszufinden, was der Unterschied dann Korrekturen an das Signal von dem VSS machen wurde (die an der Börse Speedo langsam lesen)
Ich bin ein Autonuß und bin jeden Tag viel mehr über mein kompliziertes Auto zu lernen. Ich hoffe, dazu beitragen, was ich über Autos im Austausch für einige EE Lernen kennen!







In Verbindung stehende Artikel