LED-Girlandenschaltung auf einem Mikrocontroller. LED-Girlande für MK Attiny13. Anschließen einer Taste an einen Mikrocontroller

Möglichkeiten zum Dekorieren Weihnachtsbaum Es gibt viele, hier ist einer davon.

Abbildung 1 zeigt das Diagramm Neujahrsgirlande. Es enthält vier Kanäle, an die in Reihe geschaltete LEDs angeschlossen sind, wie in Abbildung 2 dargestellt.

Das Herzstück der Schaltung ist der Mikrocontroller PIC16F628A. Der Mikrocontroller arbeitet nach dem in Abbildung 3 dargestellten Algorithmus. Der Programmcode ist in Assemblersprache geschrieben, siehe Auflistung Garland\16F628ATEMP.ASM.

Der gesamte Zyklus der In-Circuit-Programmierung und des Debuggens des PIC16F628A-Mikrocontrollers wurde mit dem Compiler MPASM v5.22 (in MPLAB IDE v8.15 enthalten) (integrierte Entwicklungsumgebung) und MPLAB ICD 2 (In-Circuit-Debugger – „) durchgeführt. Debugger“). Wer nicht über die oben aufgeführten Tools, aber über ein eigenes Programm zum Arbeiten mit HEX-Dateien und einen anderen Programmierer verfügt, findet im entsprechenden Projekt die Datei 16F628ATEMP.HEX. Die technischen Spezifikationen des Mikrocontrollers finden Sie auf der Website und.

Der Mikrocontroller DD1 verfügt über Funktionsausgänge RB4 – RB7, an die verstärkende MOSFET-Feldeffekttransistoren VT1 – VT4 angeschlossen sind. Technische Spezifikationen für Transistoren finden Sie auf der Website. Die Drains der Transistoren sind mit den Push-In-Anschlüssen X2 – X5 verbunden. Die Lastversorgungsspannung wird durch die Schaltungsstromversorgung eingestellt, die an den Stecker X1 angeschlossen wird. Der maximal geschaltete Strom pro Kanal beträgt 0,5 A. Der Mikrocontroller DD1 verfügt über keine Zwangsreset-Funktion; der Reset-Pin ist über den Widerstand R1 mit dem positiven Versorgungspotential verbunden. Zur Erzeugung der Taktfrequenz nutzt der Mikrocontroller einen On-Chip-Taktgenerator. Das Gerät kann im Temperaturbereich von – 40 °C bis +85 °C betrieben werden.

Die Stromversorgung des Geräts erfolgt über eine Wechsel- oder Gleichspannungsquelle, die an den Anschluss X1 angeschlossen ist. Nennspannung Netzteil 12 V. Der Nennstrom des Netzteils ist lastabhängig und beträgt 0,5 - 2 A. Zur Stabilisierung des Netzteils wird eine konventionelle Schaltung verwendet: Diodenbrücke VD1, Linearstabilisator DA1, Filterkondensatoren C1 - C4.

Der Mikrocontroller ist mit 3 Lichteffekten programmiert, basierend auf dem „Lauflicht“-Effekt.
1) Die Girlanden leuchten abwechselnd auf und gehen in eine Richtung aus und wiederholen sich auf die gleiche Weise in die andere Richtung.
2) Die Girlanden leuchten eine nach der anderen auf und wenn alle vier Girlanden angezündet sind, beginnen sie, eine nach der anderen in die gleiche Richtung zu erlöschen, und das Gleiche wird in umgekehrter Reihenfolge wiederholt.
3) 1 und 2, 3 und 4 Girlanden zwinkern sich abwechselnd zu. Der Mikrocontroller ist so programmiert, dass er eine vorgegebene Anzahl von Wiederholungen des Lichteffekts durchführt. Es ist erwähnenswert, dass sich das Zeitintervall zwischen dem Anzünden der Girlanden ändert (zunimmt, einen Höhepunkt erreicht und dann abfällt), d. h. der Effekt eines „vorübergehenden Schwungs“ ist sichtbar. Um die Lichteffekte besser zu veranschaulichen, sollten die Girlanden (wie sie im Diagramm nummeriert sind) der Reihe nach in derselben Ebene platziert werden. IN in diesem Fall Dekoration der Fichte von den Wurzeln bis zur Spitze (vertikal, Unterteilung der Fichte in vier Sektoren für Girlanden), jeweils 1 bis 4 Girlanden.

Die Stromversorgung der Girlanden erfolgt über die am Stecker X1 angeschlossene Stromquelle, daher ist es notwendig, die in Reihe geschalteten Leuchtelemente (LEDs, Glühlampen) zu berechnen. Die Gesamtversorgungsspannung ergibt sich aus der Summe der Spannungen der in Reihe geschalteten Leuchtelemente. In einer Girlande befinden sich beispielsweise 6 in Reihe geschaltete helle LEDs, die für eine Spannung von 2 - 2,5 V ausgelegt sind. Da LEDs 20 mA verbrauchen, ist dies möglich parallele Verbindung in Reihe geschaltete LEDs.

Der Einbau der Teile erfolgt einseitig. Die Lochgrößen reichen von 0,7 mm bis 3 mm. Dateien zur Herstellung einer Leiterplatte finden Sie im Ordner.

Die Leiterplatte ist in Abbildung 4 dargestellt. Die Lage der Teile ist in Abbildung 5 dargestellt.

Die folgenden Teile können in diesem Gerät ausgetauscht werden. Mikrocontroller DD1 der PIC16F628A-I/P-xxx-Serie mit einer Betriebstaktfrequenz von 20 MHz im DIP18-Gehäuse. Spannungsstabilisator DA1 für den Hausgebrauch KR142EN5A (5 V, 1,5 A). MOSFET-Feldeffekttransistoren und VT1 - VT4 (N-Kanal) in einem I-Pak-Gehäuse (TO-251AA), Analoga der im Diagramm angegebenen Nennwerte sind geeignet. Diodenbrücke VD1 für eine Betriebsspannung von mindestens 25 V und einen Strom von mindestens 2 A. Der Stromanschluss X1 entspricht dem im Diagramm angegebenen mit einem zentralen Kontakt d = 2,1 mm. Unpolare Kondensatoren C1 und C2 mit einem Nennwert von 0,01 – 0,47 µF x 50 V. Die Elektrolytkondensatoren C3 und C4 haben die gleiche kapazitive Nennleistung und die Spannung ist nicht niedriger als im Diagramm angegeben. Mehrfarbige LEDs VD1 – VD6 für Spannung 2 – 2,5 V.

Liste der Radioelemente

Bezeichnung Typ Konfession Menge NotizGeschäftMein Notizblock
DD1 MK PIC 8-Bit

PIC16F628A

1 Zum Notizblock
DA1 Linearregler

L7805AB

1 KR142EN5A Zum Notizblock
VT1-VT4 MOSFET-Transistor

IRLU024N

4 Zum Notizblock
VD1 Diodenbrücke2W10M1 Zum Notizblock
C1 Kondensator0,1 µF1 Zum Notizblock
C2 Kondensator0,1 µF1 Zum Notizblock
C3 100uF 10V1 Zum Notizblock
C4 Elektrolytkondensator220uF 25V1

Bis zum neuen Jahr ist nur noch sehr wenig übrig, und in Geschäften und Märkten gibt es eine große Auswahl an chinesischen Girlanden aller Art. Das ist alles gut, aber ich habe beschlossen, mit einem Mikrocontroller selbst eine Neujahrsgirlande für den Weihnachtsbaum zu basteln.

Erstens wollte ich einfach nur Kreativität, und zweitens leuchtet meine selbstgemachte Girlande irgendwie fröhlicher und fröhlicher als gekaufte.
Die Girlande ist auf einem ATmega8-Mikrocontroller montiert und besteht aus 42 LEDs.
Der Autor dieses Projekts ist Dmitry Bazlov (Dima9350) und er hat den Code für den Mikrocontroller geschrieben, der 11 Effekte (Programme) zur Implementierung des Geräts enthält, davon 8 Programme für blaue, rote und gelbe LEDs (gemäß dem Diagramm in der oberen Zeile). ) und 3 Effekte (Programme ) für weiße LEDs (untere LED-Reihe), darunter der Effekt einer fallenden Schneeflocke.
Die Versorgungsspannung der Girlande beträgt 7 bis 15 Volt (bis zu 24 Volt sind möglich, wenn Sie einen kleinen Strahler auf den Stabilisator stellen), oder wenn kein Spannungsregler L7805 vorhanden ist, dann 5 Volt, zum Beispiel: USB-Anschluss eines Computers . Die Länge der Girlande betrug in der Version des Autors einen Meter. Unten sehen Sie ein Video der Girlande des Autors, die über einen USB-Anschluss mit Strom versorgt wird.

Der Gerätekreis besteht aus:
- ATmega8-Mikrocontroller;
- Chipwiderstände für LEDs 300-330 Ohm - 21 Stück;
- Chip L293:
- 2 Kondensatoren 16 Volt 10uF;
- 5-Volt-Stabilisator - 7805.
Die Sicherungsbits des Mikrocontrollers werden vom internen Oszillator auf 8 MHz eingestellt.

Bild 1.
Girlandendiagramm.

Leiterplatte der Girlande.

Figur 2.
Leiterplatte der Girlande.

Aussehen gesammelte Girlande auf Leiterplatte von der Detailseite.

Figur 3.
Aussehen der montierten Girlande auf einer Leiterplatte von der Teileseite.

Aussehen der montierten Girlande auf einer Leiterplatte von der Montageseite.

Figur 4.
Aussehen der montierten Girlande auf einer Leiterplatte von der Montageseite.

Die Girlande enthält also wie in der Autorenversion der Schaltung eine L293-Mikroschaltung (4-Kanal-LED-Steuertreiber), die preislich mit einem Mikrocontroller vergleichbar ist und wahrscheinlich nicht überall erhältlich ist, die Schaltung wurde leicht verändert, und die Der Treiber wurde durch zwei Transistoren unterschiedlicher Leitfähigkeit (KT814, KT815 und ein 1-kOhm-Widerstand) ersetzt, die ihre Aufgabe recht gut erfüllen.
Das aktualisierte Girlandendiagramm ist in der folgenden Abbildung dargestellt.

Abbildung 5.
Girlandendiagramm.

Die unterste LED-Reihe im Diagramm sind LEDs Weiß Glühen, obere Reihe – abwechselnde LEDs nach Farbe: blau, gelb, rot und so weiter.
Die Farben können nach Ihrem Ermessen gestaltet werden. Es empfiehlt sich der Einsatz von LEDs mit erhöhter Helligkeit.
Der Anfang der Girlande (oder ihr Ende, je nach Wunsch) verläuft von rechts nach links. „Schneeflocken“ fallen ausgehend von der weißen LED HL2 bis zur LED HL42, d. h. die LEDs HL1 und HL2 sollten sich ganz oben befinden (mit ihnen endet bzw. beginnt die Girlande).
Als Treiber kommen hier zwei Transistoren unterschiedlicher Struktur zum Einsatz. Wie oben erwähnt wurden die Transistoren KT814 und KT815 verwendet. Auch die Transistoren KT315 und KT361 funktionieren in dieser Schaltung recht gut, ich habe aber noch nicht versucht, sie einzubauen.

In der Version des Autors sind weiße LEDs auf der gleichen Ebene wie farbige installiert, da sie parallel zu ihnen geschaltet sind, jedoch in unterschiedlicher Polarität. Der Abstand zwischen den LEDs beträgt 4-5 cm, die Länge der Girlande betrug also einen Meter.
Ich habe weiße und farbige LEDs getrennt voneinander und in einem Abstand von 5-6 cm platziert. Die Länge der Girlande beträgt in meiner Version etwas mehr als zwei Meter, was für einen mittelgroßen Weihnachtsbaum durchaus geeignet ist. Außerdem habe ich die Platine innerhalb einer halben Stunde gelötet, musste allerdings ein wenig an der Girlande basteln. Für den Anschluss von LEDs empfiehlt es sich, dünne Litzendrähte zu verwenden. Ich habe verbundene Litzendrähte mit einem Durchmesser von 0,5-0,6 mm verwendet. (zusammen mit Isolierung) und Schnurgirlanden in der Nähe des Bretts, es stellte sich heraus, dass es nicht dick war.

Sehen Sie sich ein Demonstrationsvideo der Neujahrsgirlande in Aktion an.

Die ATtiny2313-Girlande ist sehr einfach zu montieren. In diesem einfachen Artikel basteln wir eine Mini-Girlande aus 4 LEDs.

Sind Sie, unser Knopf, gedrückt oder losgelassen?“ – genau diese Frage haben wir im letzten Artikel gestellt. Und je nach Zustand der Taste haben wir einen Effekt aus 4 LEDs erzeugt. In diesem Artikel werden wir eine ähnliche Situation analysieren. So lass uns gehen!

Erinnern Sie sich an die chinesische Girlande für 100 Rubel?

Wir drücken den Knopf und der Blinkeffekt wird ganz anders;-) Genau das werden wir in diesem Artikel tun;-)

Wir werden keine chinesische Girlande mit N Glühbirnen herstellen, sondern ein vereinfachtes Diagramm einer solchen Girlande mit einem AVR Tiny2313 MK und vier LEDs erstellen. Mit der Taste ändern wir den Blinkeffekt.

Unsere Aufgabe klingt also im wahrsten Sinne des Wortes so:

Erstellen Sie auf dem AVR Tiny2313-Mikrocontroller eine Girlande aus vier LEDs und einem selbstrückstellenden Knopf (ein Knopf, der gedrückt wird und sich selbst freigibt). Wir drücken die Taste einmal – der erste Blinkeffekt der Taste erscheint, drücken die Taste ein zweites Mal – der zweite Blinkeffekt erscheint und so weiter. Wir werden insgesamt sieben Effekte haben. Voraussetzung ist, dass unser MK nicht auf die Taste reagiert, während die LEDs blinken. Das heißt, bis der Effekt vorüber ist, wirkt sich das Drücken der Taste in keiner Weise auf den Effekt aus. Die Wirkung wird NICHT unterbrochen. Erst wenn der Effekt endet, verarbeitet der MK den Tastendruck.

Die Aufgabe scheint klar. Lassen Sie uns zunächst eine einfache Schaltung in Proteus erstellen. Das Diagramm sieht in etwa so aus (zum Vergrößern anklicken, öffnet sich in einem neuen Fenster):


Alle? Überhaupt nicht! Jetzt nähen wir unseren MK mit einer HEX-Feile. Wo kann ich das bekommen? Von Atmel Studio 6. Aber um es zu erstellen, müssen wir zunächst ein Programm schreiben, das unser MK verwenden wird. Wie das alles geht, erfahren Sie in diesem Artikel.

Nachfolgend der Text mit Kommentaren:



Achten Sie auch auf die Codezeile:

(_delay_ms(50); // eine Verzögerung von 50 Millisekunden für Anti-Bounce aktivieren

Das Proteus-Programm würde ohne diese Codezeile funktionieren. Warum haben wir es dann eingebaut? Der Punkt ist, dass die tatsächliche Lage etwas schlimmer ist. Der Sündenbock wird in diesem Fall der harmloseste Knopf sein, den wir in den Stromkreis zum Schalten der Girlanden einbauen und auf einem Steckbrett zusammenbauen.

Was macht der Taster in der Schaltung nach dem MK-Schaltungsdesign? Es liefert eine logische Null oder Eins an den MK-Pin. Also? Also. Aber in einem realen Stromkreis wird der Stromkreis nicht sofort geschlossen und geöffnet. Beim Schließen oder Öffnen des Knopfes haben wir keine eindeutige Umschaltung der Signalpegel von logisch Eins auf Null und umgekehrt. Das Umschalten per Taste sieht etwa so aus:

Von der logischen Eins bis zur Null etwa so:


Von Null auf Eins etwa so:


All diese Anzeige beim Umschalten einer Taste wird als Kontaktabsprung bezeichnet und stört die Entwickler logische Geräte. Tatsache ist, dass der MK diese chaotischen Impulse entweder als logische Eins oder als Null zählen kann. Dieses Missverständnis wurde nun mit einer einfachen Codezeile behoben.

Ich füge SIshnik, HEX und die Proteus-Datei dem Projekt bei.

Wir alle kennen Christbaumgirlanden, die aus bunten Glühbirnen bestehen. In letzter Zeit erfreuen sich jedoch Produkte auf LED-Basis großer Beliebtheit.

Wie sie aufgebaut sind, was für einen Anschlussplan sie haben und was zu tun ist, wenn die Girlande nicht mehr leuchtet, erfahren Sie in diesem Artikel ausführlich.

Woraus besteht eine Weihnachtsbaumgirlande?

Was ist eine LED-Girlande? Ist sie schlechter oder besser als eine normale?

Äußerlich ist es fast das gleiche Produkt wie zuvor – Kabel, Glühbirnen (LED), Steuergerät.

Am meisten Hauptelement— Das ist natürlich eine Steuereinheit. Eine kleine Kunststoffbox, auf der verschiedene Betriebsarten der Hintergrundbeleuchtung angegeben sind.

Sie können einfach per Knopfdruck geändert werden. Das Gerät selbst kann mit dem Feuchtigkeits- und Staubschutz IP44 recht gut geschützt werden.

Was ist da drin? Um es zu öffnen, hebeln Sie mit der scharfen Spitze eines Messers oder eines dünnen Schraubendrehers die Riegel von unten auf und entfernen Sie die Schutzhülle.

Übrigens wird es manchmal geklebt und sitzt nicht nur auf den Riegeln.

Im Inneren sehen Sie zunächst an die Platine angelötete Drähte. Der dickere Draht ist normalerweise der Netzwerkdraht, der eine Spannung von 220 V liefert.

Auf der Platine gelötet:

  • Der Controller, der alle Lichteffekte erzeugt
  • Thyristoren, jeder von ihnen geht zu einem separaten Kanal der Girlande
  • Widerstände
  • Kondensator
  • und Diodenbrücken

Die Anzahl der Tafelelemente richtet sich in erster Linie nach der Anzahl der Lichtkanäle der Girlande. Teurere Modelle verfügen möglicherweise über eine Sicherung.

LED-Girlandendiagramm

Netzwerk Wechselstrom Spannungüber Widerstände und eine Diodenbrücke, bereits gleichgerichtet und durch einen Kondensator geglättet, wird es dem Versorgungsregler zugeführt.

In diesem Fall wird diese Spannung über den im Normalzustand geöffneten Taster zugeführt. Wenn Sie es schließen, wechseln die Controller-Modi.

Der Controller wiederum steuert die Thyristoren. Ihre Anzahl hängt von der Anzahl der Hintergrundbeleuchtungskanäle ab. Und nach den Thyristoren gelangt die Ausgangsleistung direkt zu den LEDs in der Girlande.

Je mehr solche Ausgaben vorhanden sind, desto vielfältiger können die Farben des Produkts sein. Wenn nur zwei davon vorhanden sind, bedeutet dies, dass nur zwei Teile (oder Hälften) der Girlande in unterschiedlichen Modi funktionieren – einige Glühbirnen gehen aus, andere leuchten usw.

Tatsächlich werden diese beiden Diodenzeilen auf zwei Kanälen in Reihe geschaltet. Sie werden am Endpunkt miteinander verbunden – der letzten LED.

Wenn Sie das Blinken der Girlande aus irgendeinem Grund stört und Sie möchten, dass sie nur in einer Farbe gleichmäßig leuchtet, reicht es aus, die Kathode und Anode des Thyristors auf der Rückseite der Platine durch Löten kurzzuschließen.

Je teurer die Girlande ist, desto mehr ausgehende Kanäle und Kabel verlassen die Steuerplatine.

Gleichzeitig wird, wenn man den Spuren der Platine folgt, immer einer der Netzspannungsausgänge direkt an die letzte LED der Girlande geliefert, wobei alle Elemente des Stromkreises umgangen werden.

Ursachen für Fehlfunktionen

Situationen mit Girlandenstörungen sind sehr vielfältig.

Denken Sie gleichzeitig daran, dass das wichtigste Element – ​​der Mikroschaltkreis auf der Platine – sehr, sehr selten „brennt“.

In etwa 5-10 % aller Fälle.

  • Schlechter Kontakt an den Drähten
  • LED in einer der Glühbirnen
  • Kondensator
  • Widerstand
  • Eine der Dioden
  • Einer der Thyristoren
  • Controller-Chip

Schlechtes Löten

Wenn Ihre Hintergrundbeleuchtung plötzlich nicht mehr funktioniert, überprüfen Sie zunächst immer die Lötung der Versorgungs- und Ausgangskabel. Es ist durchaus möglich, dass der gesamte Kontakt nur durch Heißkleber gehalten wurde.

Es lohnt sich, die Verkabelung und Kontakte wie gewohnt zu verlegen.

Das häufigste Problem bei chinesischen Girlanden ist die Verwendung sehr dünner Drähte, die an den Lötstellen auf der Platine einfach abbrechen.

Um dies zu verhindern, müssen alle Kontakte nach dem Löten mit einer dicken Schicht Schmelzkleber abgedeckt werden.

Und beim Entfernen solcher Adern empfiehlt es sich, kein Messer, sondern ein Feuerzeug zu verwenden. Anstatt die Isolierung mit einer Klinge abzuschneiden, erhitzen Sie sie leicht und schmelzen Sie sie mit einem Feuerzeug.

Danach entfernen Sie einfach die äußere Schicht mit Ihren Nägeln, ohne die Venen selbst zu beschädigen.

LED-Schaden

Wenn die Drahtkontakte in Ordnung sind und Sie an einer der Dioden sündigen, wie können Sie dann überprüfen, ob sie fehlerhaft ist? Und vor allem: Wie findet man sie in der gesamten Glühbirnenserie?

Ziehen Sie zunächst den Stecker der Girlande aus der Steckdose. Beginnen Sie mit der letzten Diode. Das Stromkabel kommt direkt von der Steuereinheit dorthin.

Am gleichen Bein ist ein Abgangsleiter angelötet. Er geht zum nächsten Zweig des Lichtkanals. Sie müssen auch die Diode zwischen den beiden Stromkabeln (Eingang-Ausgang) testen.

Sie benötigen ein Multimeter und seine etwas modernisierten Sonden.

Dünne Nadeln werden mit einem Faden fest an den Spitzen der Prüfspitzen befestigt, sodass ihre Spitzen maximal 5-8 mm herausragen.

Wickeln Sie alles oben mit einer dicken Schicht Isolierband um.

Da die LEDs verlötet sind, können Sie sie nicht wie bei herkömmlichen Girlanden einfach aus der Glühbirne herausziehen.

Daher müssen Sie die Isolierung der Leiter durchbohren, um an die Kupferleiter der Verkabelung zu gelangen. Schalten Sie das Multimeter in den Diodentestmodus.

Und Sie beginnen nacheinander, die Versorgungskabel in der Nähe jeder verdächtigen Diode zu durchbohren.

Wenn Sie eine Girlande nicht 220V, sondern 12V oder 24V haben, die an dieses Netzteil angeschlossen wird:

dann sollte die Arbeits-LED der Multimeter-Batterie aufleuchten.

Wenn es sich um eine 220-V-Hintergrundbeleuchtung handelt, überprüfen Sie die Messwerte des Multimeters.

Bei funktionierenden Elementen sind sie ungefähr gleich, bei dem fehlerhaften Element ist jedoch ein Bruch zu erkennen.

Die Methode ist natürlich barbarisch und beschädigt die Isolierung, funktioniert aber ganz gut. Nach solchen Einstichen ist es zwar besser, keine Outdoor-Girlanden im Freien zu verwenden.

Chaotisches Blinzeln

Es kommt vor, dass man eine Girlande einschaltet und sie beginnt chaotisch zu blinken, mal heller, mal schwächer. Es sortiert die Kanäle selbstständig.

Im Allgemeinen hat man den Eindruck, dass es sich hierbei nicht um einen Fabrikeffekt handelt, sondern als ob die Girlande „verrückt“ geworden wäre.

Am häufigsten ist hier der Elektrolytkondensator das Problem. Es kann ein wenig anschwellen und anschwellen, was auch mit bloßem Auge deutlich sichtbar ist.

Alles kann durch Ersetzen gelöst werden. Der Nennwert ist auf dem Gehäuse angegeben, sodass Sie in Radioteilegeschäften problemlos ein ähnliches Modell kaufen und auswählen können.

Wenn Sie den Kondensator ausgetauscht haben, dieser aber keine Wirkung zeigt, wo müssen Sie als nächstes suchen? Höchstwahrscheinlich ist einer der Widerstände durchgebrannt (kaputt). Es ist ziemlich problematisch, den Zusammenbruch visuell zu bestimmen. Sie benötigen einen Tester.

Sie nehmen Widerstandsmessungen vor, nachdem Sie zuvor anhand der Markierungen den Nennwert (Normalwert) ermittelt haben. Wenn es nicht übereinstimmt, ändern Sie es.

Ein Teil der Girlande leuchtet nicht

Wenn einer der Kanäle der Girlande nicht vollständig funktioniert, kann das zwei Gründe haben.

Zum Beispiel ein Ausfall eines der dafür verantwortlichen Thyristoren oder Dioden.
Um dies sicherzustellen, lösen Sie einfach die Verkabelung dieses Kanals auf der Platine von ihrem Platz und schließen Sie dort den benachbarten Kanal an, der bekanntermaßen funktioniert.

Und wenn gleichzeitig auch ein anderer Kanal nicht mehr funktioniert, liegt das Problem nicht in der Girlande selbst, sondern in den Komponenten ihrer Platine – einem Thyristor oder einer Diode.

Sie überprüfen sie mit einem Multimeter, finden diejenigen, die den Parametern entsprechen, und ändern sie.

Die Girlande leuchtet schwach

Es gibt auch nicht ganz offensichtliche Unfälle, wenn die LEDs eines einzelnen Kanals scheinbar leuchten, im Vergleich zu den anderen jedoch eher schwach.

Was bedeutet das? Die Steuerschaltung funktioniert einwandfrei. Wenn Sie die Taste drücken, werden alle Modi umgeschaltet.

Auch die Prüfung der Parameter der Diodenbrücke und des Widerstands mit einem Tester zeigt keine Probleme. In diesem Fall sind nur noch die Kabel schuld. Sie sind schon ziemlich gebrechlich, aber mit so einem Riss Litzendraht sein Querschnitt nimmt noch mehr ab.

Dadurch ist die Girlande einfach nicht in der Lage, die LEDs im Nennhelligkeitsmodus zu starten, da diese einfach nicht über genügend Spannung verfügen. Wie findet man diese gerissene Ader in einer langen Girlande?

Dazu müssen Sie mit den Händen die gesamte Linie entlanggehen. Schalten Sie die Girlande ein und beginnen Sie, die Drähte in der Nähe jeder LED zu bewegen, bis die gesamte Hintergrundbeleuchtung mit voller Stärke aufleuchtet.

Laut Murphys Gesetz ist dies möglicherweise das allerletzte Stück Girlande, also haben Sie etwas Geduld.

Sobald Sie diesen Bereich gefunden haben, nehmen Sie einen Lötkolben zur Hand und zerlegen Sie die Drähte an der LED. Reinigen Sie diese mit einem Feuerzeug und löten Sie alles erneut.

Anschließend den Lötbereich mit Schrumpfschlauch isolieren.

Wir haben es bereits früher gelernt, aber es ist viel interessanter, diesen Vorgang über Knöpfe zu steuern, und die LED-Girlande wird als gutes visuelles Beispiel dienen.

Anschließen einer Taste an einen Mikrocontroller

Das Girlandendiagramm ist unten dargestellt.

Wenn eine Taste (Taste) an einen Mikrocontroller angeschlossen wird, muss der entsprechende MK-Pin als Eingang konfiguriert werden. In diesem Fall liest der Mikrocontroller ständig den Zustand bzw. den Potentialpegel an diesem Pin. Daher kann der Programmalgorithmus so aufgebaut sein, dass, wenn an einem bestimmten Pin des MK das Potenzial von High nach Low oder umgekehrt wechselt, eine bestimmte Aktion ausgeführt wird, beispielsweise eine LED aufleuchtet.

Um bestimmte Pins des MK als Eingang zu konfigurieren, sollten Nullen in die entsprechenden Bits des DDR-Registers geschrieben werden. Wenn die MK-Pins übrigens nicht verwendet werden, empfiehlt es sich auch, diese für den Eingang zu konfigurieren. Da wir Tasten nur an Port B anschließen werden, schreiben wir mit dem folgenden Befehl alle Nullen in das DDRB-Register:

DDRB = 0b00000000;

Wenn ein Mikrocontroller-Pin als Eingang konfiguriert ist, kann er sich zunächst in zwei Zuständen befinden, die über das PORT-Register eingestellt werden.

Wenn das PORT-Registerbit auf Null gesetzt ist, hat der Pin eine hohe Eingangsimpedanz.

Wenn das Bit auf Eins gesetzt ist, wird ein Pull-up-Widerstand mit dem MK-Pin verbunden. Der Widerstand wird so genannt, weil durch ihn ein hohes Potential (+ 5 V) an den entsprechenden Punkt „hochgezogen“ wird Stromkreis; in diesem Fall - an den Pin des Mikrocontrollers.

Überprüfen des Status des MK-Ausgangs mit PINx

Um jederzeit zu wissen, welches Potenzial am Pin anliegt, sollten Sie das entsprechende Bit im PIN-Register prüfen (auslesen).

Analog kann dieses Register mit einem Sensor verglichen werden. Sie können daraus nur Informationen lesen. Man kann nichts dazu schreiben. PIN ist das Gegenteil des PORT-Registers, das Daten nur schreibt, aber nicht liest.

Es ist besser, das PORT-Register auf eins zu setzen, d. h. Verwendung des internen Pull-up-Widerstands MK. Diese Option verfügt über eine erhebliche Störfestigkeit, da der Ausgang direkt mit Masse oder einem gemeinsamen Kabel verbunden werden muss, um das hohe Potenzial in ein niedriges Potenzial umzuwandeln.

Wenn der Pin mit einem hohen Eingangswiderstand versehen ist, kann jede mehr oder weniger starke elektromagnetische Interferenz ein bestimmtes Potenzial induzieren, das einen bestimmten Wert überschreitet, und der Mikrocontroller nimmt die Interferenz als einen Wechsel von niedrigem zu hohem Potenzial wahr. Daher verwenden wir in unserem Programm einen internen Pull-Up-Widerstand.

Wir verbinden einen Kontakt des Schlüssels mit Masse (gemeinsames Kabel) und den zweiten mit dem Pin des Mikrocontrollers. Bei geöffneter Taste liegt am Ausgang ein hohes Potential (+ 5 V), das durch den internen Widerstand des MK hochgezogen wird. In diesem Fall wird das entsprechende Bit des PIN-Registers auf eins gesetzt.

Wenn Sie die Taste drücken, wird dieser Pin mit dem gemeinsamen Kabel („Minus“) verbunden und es erscheint ein niedriges Potenzial. Und das PIN-Registerbit wird automatisch auf Null gesetzt.

Bitte beachten Sie, dass der Pull-up-Widerstand die Schaltung weiterhin schützt Kurzschluss wenn die Taste gedrückt wird.

LED-Girlande im Code

Schreiben wir nun den gesamten Programmcode und schauen wir uns dann seine einzelnen Elemente an. Der Algorithmus des Programms ist wie folgt: Wenn die erste Taste geschlossen wird, leuchten die „Lichter“ in einer Reihenfolge auf, und wenn die zweite Taste geschlossen wird, leuchten die „Lichter“ unterschiedlich auf. Wenn beide Tasten gedrückt werden, sollten alle LEDs aus sein.

#definieren F_CPU 1000000UL // Geben Sie die Betriebsfrequenz des Mikrocontrollers als 1 MHz an

#enthalten

#enthalten // Verbinde die Verzögerungsbibliothek

#define Z 300 // Benennen Sie den Verzögerungswert Z

#define VD PORTD // Weisen Sie Port D den Namen VD zu

#define K PORTB // Weisen Sie Port B, an dem die Tasten angeschlossen sind, den Namen K zu

int main(void)

DDRB = 0b00000000; // Port B für die Eingabe konfigurieren

DDRD = 0b11111111; // Port D für die Ausgabe konfigurieren

VD = 0b00000000; // Schalte alle Lichter aus

K = 0b11111111; // Pull-up-Widerstände einschalten

während (1)

if (PINB == 0b11111110) // Überprüfen Sie, ob die 1. Taste gedrückt ist

VD = 0b11111111; // Wenn der Schlüssel geschlossen ist, blinken die „Lichter“

_delay_ms(Z);

VD = 0b00000000;

_delay_ms(Z);

anders

VD = 0b00000000; // Wenn der Schlüssel geöffnet ist, werden alle LEDs ausgeschaltet

if (PINB == 0b11111101) // Überprüfen Sie, ob die 2. Taste gedrückt ist

VD = 0b00000001; // Wenn die Taste gedrückt wird, schalten Sie die LED nacheinander ein

_ Verzögerung_ MS(Z); // mit einer Verzögerung von 0,3 s

VD = 0b00000011;

_delay_ms(Z);

VD = 0b00000111;

_delay_ms(Z);

VD = 0b00001111;

_delay_ms(Z);

LED = 0b00011111;

_delay_ms(Z);

VD = 0b00111111;

_delay_ms(Z);

VD = 0b01111111;

_ Verzögerung_ms(Z);

VD = 0b11111111;

_delay_ms(Z);

VD = 0b00000000;

_ Verzögerung_ MS(Z);

anders

VD = 0b00000000; // Wenn der Schlüssel nicht geschlossen ist, sind alle LEDs ausgeschaltet

Betreiber Wenn Und anders

Der Zweck von Präprozessoren und diese sind aus früheren Artikeln bekannt. Was für uns hier neu ist, ist die if-Anweisung. If wird aus dem Englischen als „if“ übersetzt. Wenn die in Klammern angegebene Bedingung erfüllt ist, d. h. true, dann wird der Programmcode in den geschweiften Klammern ausgeführt. Wenn beispielsweise die Variable a größer als 1 Einheit ist, wird der Variablen c der Wert a + b zugewiesen.

wenn (a >1)

c = a + b;

Andernfalls wird der Programmcode in den geschweiften Klammern nicht ausgeführt, wenn der Wert von a kleiner oder gleich eins ist.

Wenn nur ein Befehl in geschweiften Klammern ausgeführt wird, ermöglicht die C-Syntax eine Vereinfachung der Notation und den Verzicht auf geschweifte Klammern:

wenn (a >1) c = a + b;

Die if-Anweisung funktioniert auch in Verbindung mit der else-Anweisung.

wenn (a >1) → wenn a >1, dann = a + b

c = a + b;

sonst → sonst, c = a - b

c = a – b;

Es funktioniert so. Wenn a > 1, dann ist c = a + b. Ansonsten, d.h. wenn a kleiner oder gleich eins ist, dann ist c = a – b.

Erläuterung des Programmcodes

Kommen wir nun zurück zu unserem Programm. Wird der an PB0 angeschlossene Taster gedrückt, so entsteht am Pin ein Low-Potential und das entsprechende Bit des PINB-Registers wird auf Null gesetzt. In diesem Fall ist die Bedingung in geschweiften Klammern erfüllt, d.h. Die Girlande beginnt zu blinken.

Beachten Sie, dass der Zuweisungsbefehl aus einem Gleichheitszeichen „=“ besteht und der Befehl zum Testen der Bedingung „gleich“ aus zwei Gleichheitszeichen ohne Leerzeichen „==“ besteht.

Wenn die Taste nicht gedrückt wird, zeigt das PINB-Registerbit eine Eins an, was darauf zurückzuführen ist, dass der Pull-up-Widerstand hoch ist. In diesem Fall wird die Steuerung an die else-Anweisung übergeben und alle LEDs werden ausgeschaltet.

Beim Schließen des zweiten Schlüssels, dessen Ausgang mit Port PB1 verbunden ist, wird der zweite Programmcode ausgeführt und die LEDs beginnen nacheinander mit einer Zeitverzögerung von 0,3 Sekunden aufzuleuchten.

So kann eine Girlande auf einem Mikrocontroller eine unterschiedliche Anzahl von LEDs und Tasten enthalten. Darüber hinaus können Sie für jedes Schließen oder Öffnen der Schlüsselkontakte Ihren eigenen Algorithmus für den Betrieb der Girlande vorgeben.

Es kann auch mit nur einer Taste gesteuert werden. Diese Option hat einen etwas komplizierteren Code und wird in einem separaten Artikel behandelt. Dort schauen wir uns auch an, wie man leistungsstarke LEDs an den MK anschließt.

Zu Beginn des Artikels haben Sie sich ausführlich mit dem Einrichten der Ausgabe befasst, und hier mit der Eingabe. Lassen Sie uns nun alles zusammenfügen und einen einfachen visuellen Algorithmus präsentieren.