Warum wird es gebraucht?
Kürzlich schrieb ich einen Artikel über einen hausgemachten Bluetooth-Fahrradcomputer . Es gab eine lebhafte Diskussion. Einer der Vorschläge zur Modernisierung war die Idee, eine Anzeige oder einen LCD-Bildschirm hinzuzufügen. Die Idee hat mir gefallen. Und ich beschloss darüber nachzudenken, wie ich es zum Leben erwecken könnte.
Da Fahrradcomputer bereits hergestellt worden waren, war das Gehäuse fast vollständig besetzt, die Option mit einem LCD-Bildschirm fiel weg. Wir brauchten eine Größe von 40 x 30 mm unter Berücksichtigung aller Kabel und Drähte und eine Dicke von nicht mehr als 2-3 mm. Es gibt auch wenige freie Schlussfolgerungen. Verschiedene LED-Anzeigen (dreistellig, Skala) passten nicht. Dann kam mir ein sehr guter Gedanke - eine selbstgemachte Anzeige aus SMD-LEDs zu machen. Nehmen Sie einen dünnen einseitigen Textolithen, platzieren Sie die richtige Anzahl von LEDs in der richtigen Reihenfolge darauf und Sie erhalten eine hervorragende Anzeige. Nachdem ich mir vorgestellt hatte, dass Kabel zu allen LEDs geführt werden sollten, entschied ich, dass ein billiger Mikrocontroller, der alle LEDs selbst steuert, auf die Platine passt und der Haupt-MK des Fahrradcomputers die Anzeige über ein Kabel steuert.
Das Ergebnis ist eine sehr kompakte (nur 3 mm dicke) Anzeige. Management auf einem Draht und 2 weitere auf Essen. Wenn Sie vorgefertigte Geräte haben oder ein Gerät herstellen möchten und einen Indikator benötigen, ist ein hausgemachter Indikator die beste Option. Schauen wir uns genauer an, wie es funktioniert.
20 LEDs an 10 Pins - ganz einfach!
MK Ich habe mich für das teuerste entschieden - SMT8S003, genau wie beim Fahrradcomputer. Er hat nur 20 Beine. Wenn Sie die Beine der Kraft und Kontrolle entfernen, bleiben 14 Beine übrig. Die erste Aufgabe, die gelöst werden musste, bestand darin, diese Beine mit so vielen LEDs wie möglich zu steuern.
Mir fiel sofort ein, dass 2 LEDs an einem Bein aufgehängt werden konnten, mit einem Pin am GND und dem anderen am VDD. Für jede LED einen Widerstand. Nach diesem Schema.

Es ist einfach zu verwalten. Wir speisen an Pin 0, eine LED leuchtet, Feed 1 - die zweite LED leuchtet. Wir übersetzen in den dritten Zustand (Eingabe), nicht einer brennt. Bei 14 Schlussfolgerungen können Sie 28 LEDs aufhängen. Sehr nicht schlecht.
Der Sohn zeichnete den Indikator selbst. Für einen Fahrradcomputer ist die nützlichste Art der Anzeige nach den Zahlen eine Skala. Die Anzeige besteht aus 2 Skalen mit 8 LEDs und 4 weiteren verschiedenen Status-LEDs. Insgesamt 20 LEDs. Ich skizzierte schnell die Platine, ätzte, löte und begann zu testen.
Ich schalte den MK ein, alle Schlussfolgerungen sind im dritten Zustand, nichts sollte brennen. Und ... LEDs leuchten. Natürlich haben sie genug Spannung von 5 Volt, um schwach zu leuchten. Es wird nicht funktionieren, wir ändern das Schema ...
Weitere LEDs
Nach einigem Nachdenken kam eine andere Idee. Verbinden Sie die LEDs nicht mit Strom und Masse, sondern mit zwei weiteren Schlussfolgerungen des MK. Dann können Sie definitiv alles ausschalten. Wir versuchen, es funktioniert super. Aufgrund der dynamischen Anzeige blinkt alles wunderschön. Sie können jede LED steuern.
Infolgedessen stellte sich das folgende Schema für die Zukunft heraus:

Wir unterscheiden verschiedene Kontrollschlussfolgerungen und Arbeiter. Wir setzen die Widerstände nur auf die Steuerung upr1 upr2. Somit werden die Schaltung und die Spur der Platine stark vereinfacht. Bis zu 96 LEDs können an 14 Pins platziert werden. 6 Manager und 8 Mitarbeiter sowie jeweils 2 LEDs. Mehr als genug wird der Lötarm müde.
Wie sich herausstellte, können Sie mehr tun. Charlie Allen ging noch weiter, indem er mehrere LEDs zwischen den Steuerstiften platzierte. Somit können bis zu 16 * 15 LEDs an 16 Pins platziert werden. In seiner Schaltung werden jedoch viele Widerstände hinzugefügt, und es ist auch erforderlich, dass alle LEDs dieselbe Farbe haben. Im Allgemeinen gibt es kleine Probleme. Fazit - 96 LEDs sind mehr als genug.
Wir steuern jede LED einzeln
Zur Steuerung jeder LED wird die dynamische Anzeigemethode verwendet. Zu einem bestimmten Zeitpunkt kann eine LED pro Steuerausgang leuchten. Als nächstes müssen Sie alle Paare sortieren. Dies sind die Anzeigezustände usw. in einem Kreis. Da die Karte bereits hergestellt wurde, habe ich sie in einen Steuerstift und einen Widerstand umgewandelt. Es stellte sich heraus, 20 LEDs an einem Ausgang und 10 funktionierende Schlussfolgerungen. Insgesamt 20 Staaten.

Um den Energieverbrauch zu senken, arbeitet MK mit einer Frequenz von 2 MHz. Um 20 Zustände mit einer Frequenz von mindestens 50 Hz zu sortieren, benötigen Sie einen Timer mit einer Frequenz von 1000 Hz. Außerdem wollte ich auch die Helligkeit steuern. Es stellt sich jedoch heraus, dass Sie eine Timerfrequenz von 10.000 Hz und das 100-fache der 100.000 Hz benötigen, um den Faktor 10 zu senken. In diesem Fall müssen Sie im Interrupt-Handler alle Optionen sortieren und die gewünschte LED aufleuchten lassen. Im Allgemeinen konnte MK nicht damit umgehen. Ich musste auf die Option mit PWM-Modulation umsteigen.
Wir steuern die Helligkeit mit einem PWM-Timer
Das Ergebnis ist ein einfaches Programm. Wir verwenden einen Timer - TIM2, mit der Möglichkeit der PWM-Erzeugung. Wir stellen die Timerfrequenz auf 1000 Hz ein und der Maximalwert des Timers 125 ist die PWM-Breite, die die Helligkeitsabstufung bestimmt. Infolgedessen können Sie einen beliebigen Helligkeitswert von 0 bis 125 einstellen. Schalten Sie zum Zeitpunkt des zweiten Timer-Interrupts im Vergleich zum Befüllen der PWM alle LEDs aus.
Das Ergebnis ist ein guter Indikator. Aufgrund der Helligkeitsregelung liegt der Verbrauch in der aktiven Phase zwischen 1 mA und 4 mA.
Wir schließen einen Fahrradcomputer an
Die Anzeige selbst ist fertig, im Fall vom Fahrradcomputer sieht es so aus:

Um die Anzeige zu steuern, habe ich das 1-Draht-Protokoll gewählt. Ich werde es nicht beschreiben. Ich kann nur sagen, dass ich mich selbst quälen musste, um den Interrupt zu bewältigen und den notwendigen Timings standzuhalten, aber am Ende hat es funktioniert. Der Fahrradcomputer ist wie ein Meister und die Anzeige ist wie ein Sklave. Zur Steuerung müssen 4 Bytes übertragen werden. Das erste Byte ist der Befehl, die Helligkeit und ein Bit, um in den Ruhemodus zu wechseln. Die restlichen 3 Bytes sind LEDs, ein Bit für LED.
Das erste, was mir auf den Indikator fiel, war Geschwindigkeit und Personal. Service-LEDs sollten für den Bluetooth-Status, Verstöße gegen die Geschwindigkeits- und Trittfrequenzsteuerung und eine andere - Entfernungssteuerung - belassen werden.
Nach den experimentellen Tests habe ich die Möglichkeit hinzugefügt, den verbleibenden Abstand zum Set oder die verbleibenden Kalorien vom Set anzuzeigen. Es stellte sich als sehr praktisch heraus. Sie haben einen Plan aufgestellt - um 2000 Cal für einen Spaziergang auszugeben, gehen Sie und sehen sofort, es sind noch die Hälfte übrig. Schlussfolgerung - eine Indikation ist eine nützliche Sache.
Meinem Sohn hat es sehr gut gefallen, er hatte die Idee, einen Schlüsselbund herzustellen - einen Indikator mit einer Batterie aus Epoxid. Ich ging zum Nachdenken.
Welche anderen Indikatoren können getan werden?
Uhr - LEDs in zwei Kreisen - Stunden und Minuten.
Kardinalpunkte - für den elektronischen Kompass.
Skala für Inkremental-Drehgeber.
Mehrere Skalen in einem Indikator.
Herz für eine Musikkarte.
8x8 Matrix zur Anzeige von Bildern.
Dünne Sieben-Segment-Anzeige für eine Ziffer von 11 LEDs.
Im Allgemeinen gibt es viele Ideen, wie dies verwendet werden kann.
Auf github wie gewohnt eine Karte , ein Programm, die Implementierung des 1-Draht-Protokolls und eine dynamische Anzeige. Wer es braucht, kann es in Ihren Projekten verwenden.