Inhaltsverzeichnis:

Helligkeitssteuerung, Arduino (mit Animationen) - Gunook
Helligkeitssteuerung, Arduino (mit Animationen) - Gunook

Video: Helligkeitssteuerung, Arduino (mit Animationen) - Gunook

Video: Helligkeitssteuerung, Arduino (mit Animationen) - Gunook
Video: ARDUINO BASICS #23 - HELLIGKEIT MESSEN mit Fototransistor (Sensor) 2024, November
Anonim
Image
Image

In den letzten Jahren habe ich zwei Flipperautomaten (pinballdesign.com) und zwei Roboterköpfe (grahamasker.com) gebaut, die jeweils von Arduinos gesteuert werden. Nach meiner Karriere als Maschinenbauingenieur bin ich mit dem Design der Mechanismen gut, aber mit der Programmierung tue ich mich schwer. Ich beschloss, Animationen zu erstellen, um einige der grundlegenden Konzepte des Arduino zu veranschaulichen. Ich dachte, es würde mir und anderen helfen, sie zu verstehen. Ein Bild sagt mehr als tausend Worte und eine Animation kann tausend Bilder sein!

Hier also eine animierte Erklärung zum Thema Helligkeitssteuerung. Die obige Animation zeigt ein Schema eines Potentiometers, das mit einem Arduino verbunden ist. Es zeigt, wie die Position des Potentiometers die Helligkeit einer LED verändern kann. Ich werde alle Elemente dieses Prozesses erklären. Für alle, die mit Potentiometern und LEDs nicht vertraut sind, werde ich damit beginnen. Ich werde dann erklären, warum die LED an einen PWM-fähigen Arduino-Pin angeschlossen werden muss und wie die MAP-Funktion innerhalb einer Arduino-Skizze verwendet wird, um den Eingang vom Potentiometer in einen Ausgang umzuwandeln, der für die Steuerung einer LED geeignet ist.

Wenn Sie mit LEDs und Potentiometern vertraut sind, können Sie die Abschnitte 1 und 2 überspringen.

Schritt 1: ÜBER LEDs

ÜBER LEDs
ÜBER LEDs

Die linke Abbildung oben zeigt das Schaltsymbol für eine LED und die Polarität der LED-Beine. Strom fließt nur in eine Richtung durch eine LED, daher ist die Polarität wichtig. Das längere Bein ist das Positiv. Auch der Flansch hat eine flache Seite, dies ist die negative Seite.

SPANNUNG und STROM

Die von einer LED benötigte Spannung liegt je nach Farbe zwischen 2,2 V und 3,2 V. Ihr Nennstrom beträgt typischerweise 20 mA. Um den Strom zu begrenzen und eine Überhitzung der LED zu verhindern, ist es notwendig, mit jeder LED einen Widerstand in Reihe zu schalten. Ich empfehle etwa 300 Ohm.

Die Abbildung rechts oben zeigt eine Möglichkeit, einen Widerstand an einen Schenkel einer LED zu löten und mit einem Schrumpfschlauch zu isolieren.

Schritt 2: POTENTIOMETER

POTENTIOMETER
POTENTIOMETER

In Arduino-Begriffen ist ein Potentiometer ein Sensor. „Sensor“bezieht sich auf jedes externe Gerät, das beim Anschluss an Eingangspins vom Arduino erfasst werden kann. Wir werden ein Potentiometer verwenden, das mit dem Arduino verbunden ist, um die Helligkeit einer LED zu steuern. Ein Potentiometer wird manchmal als Spannungsteiler bezeichnet, was meiner Meinung nach eine bessere Beschreibung ist. Das Diagramm links oben zeigt das Prinzip eines Spannungsteilers. In diesem Beispiel ist ein Widerstand an einem Ende mit Masse verbunden und wird am anderen Ende von einer Stromquelle auf 5 V gehalten. Wenn ein Schieber entlang des Widerstands bewegt wird, hat er eine Spannung von 0 V am linken Ende und 5 V am rechten Ende. In jeder anderen Position hat er einen Wert zwischen 0 V und 5 V. Auf halbem Weg wird es zum Beispiel bei 2,5 V liegen. Wenn wir die Anordnung wie oben rechts gezeigt umformen, dann entspricht dies der Wirkung eines Drehpotentiometers.

Schritt 3: DER SCHALTKREIS

DIE RENNBAHN
DIE RENNBAHN

Die obige Abbildung zeigt, wie wir das Potentiometer und die LED mit einem Arduino verbinden müssen.

Der Ardunio muss die Spannung erkennen, die ihm vom Potentiometer zugeführt wird. Die Spannung ändert sich beim Drehen des Potentiometers sanft, ist also ein analoges Signal und muss daher an einen analogen Eingangspin des Arduino angeschlossen werden. Die Spannung an diesem Pin wird vom Arduino jedes Mal gelesen, wenn das Programm sie über die Funktion „analogRead“anfordert.

Der Arduino hat nur digitale Ausgangspins. Die Pins mit einer Tilde (~) daneben simulieren jedoch einen analogen Ausgang, der geeignet ist, die Helligkeit einer Led zu steuern. Dieser Vorgang wird Pulsweitenmodulation (PWM) genannt und in der nächsten Animation Schritt 4 erklärt.

Schritt 4: PWM

PWM, Pulsweitenmodulation

Wie bereits erwähnt, sind die Pins mit einer Tilda, „~“daneben PWM-Pins. Da die Pins digital sind, können sie nur bei 0 V oder 5 V sein, mit PWM können sie jedoch verwendet werden, um eine LED zu dimmen oder die Geschwindigkeit eines Motors zu steuern. Sie tun dies, indem sie eine LED mit 5 V versorgen, sie jedoch zwischen 0 V und 5 V mit 500 Hz (500 Mal pro Sekunde) pulsieren und die Dauer jedes 0 V- und 5 V-Elements des Impulses dehnen oder verkürzen. Da die LED einen längeren 5-V-Puls als einen 0-V-Puls sieht, wird sie heller. In unserem Programm verwenden wir die Funktion analogWrite(), um eine PWM-„Rechteckwelle“auszugeben. Es hat 256 Inkremente, wobei Zero einen Arbeitszyklus von 0 % und 255 einen Arbeitszyklus von 100 % ergibt, d. h. kontinuierliche 5 Volt. Somit würde 127 einen Arbeitszyklus von 50% ergeben, die Hälfte der Zeit bei 0 V und die Hälfte der Zeit bei 5 V. Die obige Animation zeigt, wie die LED heller wird, wenn dieser Arbeitszyklus auf 100% ausgedehnt wird.

Schritt 5: DAS PROGRAMM (ARDUINO-SKIZZE)

Image
Image

Das obige Video führt durch ein Programm (Skizze), mit dem die Helligkeit einer LED mithilfe eines Potentiometers gesteuert werden kann. Die Schaltung ist die gleiche wie in Schritt 3 gezeigt.

Wenn Sie dieses Video zu schnell (oder langsam) finden, um es bequem lesen zu können, können Sie die Geschwindigkeit anpassen.) Wenn Sie darauf klicken, wird ein Menü mit "Wiedergabegeschwindigkeit" angezeigt.

Es wäre natürlich besser, wenn Sie auf eine Schaltfläche klicken könnten, um jede Zeile des Programms in Ihrem eigenen Tempo zu durchlaufen, aber leider ist es nicht möglich, diese interaktive Methode hier bereitzustellen. Wenn Sie diese Methode lieber zu diesem Thema und zu vielen anderen Arduino-Themen verwenden möchten, gibt es eine kostenlose Vorschauversion eines interaktiven / animierten E-Books, das unter animiertarduino.com verfügbar ist

Es gibt eine Funktion des Programms, die meiner Meinung nach noch erklärungsbedürftiger ist: In Zeile 14 wird die Funktion "map" verwendet. Als nächstes gibt es eine Erklärung zu seinem Zweck, in Schritt 6

Schritt 6: KARTE

Wir haben das Potentiometer an einen analogen Pin angeschlossen. Die Potentiometerspannung variiert zwischen 0V und 5V. Dieser Bereich wird im Prozessor in 1024 Inkrementen registriert. Wenn der Werteingang verwendet wird, um einen Ausgang über einen PWM-fähigen digitalen Pin zu erzeugen, muss dieser Bereich auf den Ausgangsbereich eines digitalen Pins abgebildet werden. Dieser hat 255 Inkremente. Dazu wird die Map-Funktion verwendet, die eine zur Eingabe proportionale Ausgabe liefert.

Das obige Video veranschaulicht dies.

Schritt 7: Animiertes Arduino

Die Bilder in diesem Instructable wurden aus meinem ebook Animated Arduino entnommen, das unter www.animatedarduino.com verfügbar ist, in dem ich ein besseres Verständnis für einige der Konzepte vermitteln möchte, die beim Programmieren des Arduino auftreten.

Auf der Website ist eine kostenlose Vorschauversion des E-Books verfügbar, mit der Sie die interaktive Natur des Buchs erleben können. Es ist im Grunde eine Sammlung von Beispielseiten und lässt daher viele Erklärungen weg. Es enthält Beispielseiten, auf denen Sie auf Schaltflächen klicken können, die Sie durch jede Zeile eines Programms führen und zugehörige Kommentare anzeigen. Andere Seiten verfügen über Videoanimationen und Audioinhalte, die Sie steuern können. Damit Sie sehen können, was die Gesamtausgabe enthält, ist eine Inhaltsseite enthalten.

Empfohlen: