Anpassung der Blitzgeschwindigkeit auf Arduino. Steuerung einer einzelnen Zeile hinter dem zusätzlichen Arduino. Was müssen Sie für das Projekt wissen

03.11.2021

In der nächsten Lektion haben wir die einfachsten Schemata kennengelernt - das zbiranny. Dieses Modell ist mit einem Potentiometer (variabler Widerstand) und einer LED auswählbar. Ein solches Modell kann für einen Keruvanny-Roboter verwendet werden.

Potentiometer- Tse zminny Widerstand із einstellbare Unterstützung.Potentiometrische Leistung in der Robotik als Regler verschiedener Parameter - Solidität, Dichtheit, Schwammigkeit. Unser Modelldurch Drehen des Potentiometer-KnopfesLeichtigkeit wird gefunden. Dies ist auch eines der grundlegenden Schemata.

Videoanleitung des Faltmodells:

Zum Falten des Modells wissen wir:

  • Arduino-Board (oder Analoga);
  • Steckbrett;
  • 6 Drähte und / oder Jumper „tato-tato“;
  • svitlodiod;
  • Potentiometer (Widerstand ändern);
  • Widerstand 220 Ohm;
  • Middleware der Arduino-IDE, können Sie sie von der Arduino-Website aus verlinken.

Wie muss ich ein Potentiometer und eine LED an einem Arduino anschließen?

Anschlussplan des Arduino-Modells mit Potentiometer und LED:

Schaltplan des Arduino-Modells mit Potentiometer und Svitlodiodom

Für ein Robotermodell steht ein Programm zur Verfügung (Sie können das Programm einfach in die Arduino IDE kopieren):

// ja der name des pinivs mit dem svitlodiodom
// mit einem Potentiometer
#define führte 9
#define Topf A0
Leere Einrichtung ()
{
// Pin mit Svitlodiodom - wyhid
pinMode (led, AUSGANG);
// Pin mit Potentiometer - Eingang
pinMode (Poti, EINGANG);
}
Leere Schleife ()
{
// Ogoloshuєmo zminnu x
intx;
// am Potentiometer ablesbar:
// wird von 0 bis 1023 getrimmt
// dimo yogo um 4, siehe die Zahl im Bereich
// 0-255 (anderer Teil wird angezeigt)
x = analogRead (pot) / 4;
// Visuelles Ergebnis für svitlodiod
analogWrite (led, x);
}

So sieht man das Arduino-Modell des Potentiometers mit der LED:

Arduino-Modell mit Potentiometer und LED für ausgewählte Viglyad

Am Ende ist die dritte Arduino-Lektion für pohatkіvtsіv vorbei. Fortfahren!

Beitrag aus dem Unterricht:

  1. Erste Stunde:.
  2. Eine andere Lektion:.
  3. Dritte Lektion:.
  4. Viertelstunde:.
  5. P'yati-Lektion:.
  6. Sechste Lektion:.
  7. Sjomy-Lektion:.
  8. Achte Lektion:.
  9. Neun Lektion:

Ich werde den Viconati Nove Zavdannya probieren. Ich denke, dass alle mit den neuen Vitrinengirlanden begonnen haben und sie sanft die Lichter entzünden. Es ist möglich, dass ich mehr wachsen möchte.
Wir haben uns die Funktion digitalWrite() bereits angesehen und natürlich, was die Bedeutung ist, ich schreibe sie auf, es kann zwei Optionen geben - high und low rivn. Im Allgemeinen können wir die Funktion analogWrite() verwenden. "Formulyuvannya"-Funktionen werden von Cob-Präfixen abgeleitet, die leicht zu merken sind.

Die analogWrite()-Funktion, also wie digitalWrite(), soll sich an den Bögen für zwei Argumente und für das sehr verbale Prinzip: "kudi, sho" rächen. Die Hauptidee ist die Möglichkeit, eine breite Palette von Werten aufzuzeichnen, um das Klingeln LOW und HIGH zu ersetzen. Diese erlauben uns, die Helligkeit des Lichts zu regulieren. Der Kopf ist überfordert, da es für Vrahovuvati notwendig ist, diejenigen, die bei Gesangskontakten richtig funktionieren. Alle Kontakte sind mit dem Symbol "~" gekennzeichnet. Das Tsei-Symbol bedeutet den PWM-Kontakt. PWM (Pulsweitenmodulation) klingt wie eine russische PWM (Pulsweitenmodulation). Das Prinzip der Robotik runtutsya über die Änderung der Trivialität іmpulse. Grafisch kann der Preis wie folgt gezeichnet werden:

Versuchen Sie, Yak tse pratsyuє zu rozіbratisya und betrachten Sie einen einfachen Hintern. Dazu müssen Sie die LED über einen 150-Ohm-Widerstand mit dem PWM-Kontakt verbinden und ein einfaches Programm in den Arduino installieren. Der Anschlussplan und der Code zur Skizze sind unten dargestellt:


Leere Einrichtung ()
{
pinMode (led, AUSGANG);
}

Leere Schleife ()
{
für (int i = 0; i<=255; i++)
{
analogWrite (led, i);
Verzögerung (10);
}
für (int i = 255; i> = 0; i--)
{
analogWrite (led, i);
Verzögerung (10);
}
}


Ich denke, dass der Code des Abhörens verschwunden ist, aber es ist notwendig, sich die drei bezüglich der for()-Schleife einfallen zu lassen. Isnu versteht auch Yak genannt. Oskilki mi pratsyuєmo mit 8-Bit-razdіlnіstuyu (es werden keine Trochis angezeigt), dann ist der Mindestwert 0 und der Höchstwert - 255. Zum Beispiel wurde die Welt gerade in 10 Stunden angehalten.

Wenden Sie sich dem Diagramm aus der vorherigen Lektion zu und versuchen Sie, eine ähnliche Girlande mit den Funktionen analogWrite() zu erstellen.


int buttonPin = 2;
int-Pins = (3,5,6,9,10,11);

boolescher lastButton = LOW;
boolescher StromButton = LOW;
boolesches enable = false;

Leere Einrichtung ()
{
pinMode (buttonPin, INPUT);
für (int mode = 0; mode<= 5; mode++) pinMode(pins, OUTPUT);
}

Boolesche Entprellung (boolesche Last)
{
boolescher Strom = digitalRead (buttonPin);
if (letzter! = aktueller)
{
Verzögerung (5);
aktuell = digitalRead (buttonPin);
}
Rückstrom;
}

Leere Schleife ()
{
currentButton = Entprellung (lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
aktivieren =! ermöglichen;
}

Wenn (aktivieren == wahr)
{
für (int i = 0; i<=5; i++)
{
für (int Helligkeit = 0; Helligkeit<= 255; brightness++)
{
Verzögerung (1);
}
Verzögerung (40);
}
für (int i = 0; i<=5; i++)
{
für (int Helligkeit = 255; Helligkeit> = 0; Helligkeit--)
{
analogWrite (Stifte [i], Helligkeit);
Verzögerung (1);
}
Verzögerung (40);
}
}

Wenn (aktivieren == false)
{
für (int i = 0; i<= 5; i++) digitalWrite(pins[i], LOW);
}

LastButton = currentButton;
}


Optisch wurde die Skizze sehr einfach zu falten. Der Einfachheit halber ist alles einfach, und lassen Sie es uns aus dem Weg räumen. Wir müssen alle eingesteckten LEDs identifizieren, anstatt die int-LED durch ein Array zu ersetzen, ein Skin-Element mit einem Arduino-PWM-Kontakt. Die Funktion void setup() wurde möglicherweise ausgetrickst. Das "Freigeben" aller Kontakte wurde an die for()-Schleife übergeben, mit einer Skin-Iteration, wie die Konfiguration des Kontakts auf OUTPUT konfiguriert werden könnte. Wir gehen zur Funktion void loop() über. Die Funktion debounce(), die pochatkova denkt, wenn () ohne Änderungen verloren geht. Wir, sowohl früher als auch früher, haben die beiden Winter neu geschrieben: den Vorwärtswert (aus der LOW-Liste) und die Präzisions-Knopfmühle. Für das Vikonannya des Cich of Minds ist der Wert der Änderungsfreigabe invertiert. Ich schaue mich um und füge zwei weitere hinzu, denke nur, wenn (). Wenn enable = true ist, schaltet sich die Girlande ein und überwindet die for()-Schleife sanft. Auch enable = false, alle Lichter sind aktiviert. Nachdem Sie die Gedanken beendet haben, ändern Sie den lastButton, um die Präzisionsfräsung des Buttons zu akzeptieren.
Beim Testen unseres Programms haben wir uns daran erinnert, dass alles falsch war. Denken Sie daran, das letzte Mal haben wir eine Änderung vorgenommen, aber mit der großen Bedeutung der Aufmerksamkeit der Stunde ist der Button für die Nachricht fertig? Als die Girlande schließlich eingeschaltet wurde, betrug die Gesamtabdeckung in der Funktion void loop () 85 ms. Dies gab uns die Möglichkeit, die "Mahlzeit" zur Singstunde zu fangen. Für eine ganze Reihe von Skizzen, dafür, denken Sie darüber nach, holen Sie ein wenig Entwicklung nach. Sie können für die Girlande bazhannya vimknuti nach dem Wort "unterbrechen" fragen. Tse und wird die Aufgaben der ganzen Serie erfüllen!

Ich bin dankbar, dass die stattliche Kugel für Sie Zimt ist. Im fortgeschrittenen Stadium ist es einfach auf den Arduino zu übertragen und ein äußerst zufriedenstellendes Ergebnis.

Sicherheitsausrüstung:

- Gebühr
- Steckbrett
- svitlodiod
- 220 Ohm Widerstand

Elektrische Lanze:

Verbinden Sie die Anode Ihrer LED von Arduino Digital Video 9 über einen 220 Ohm Widerstand. Platzieren Sie die Kathode (kurze Verbindung) von der Masse (GND) des Arduino.



Planen:


Der Code:

In der Funktion setup() muss der Knoten 9 als Ausgang gesetzt werden.
Die analogWrite()-Funktion, wenn Sie in der Hauptschleife siegreich sein werden, habe ich zwei Argumente: zum einen die Funktion zu sprechen, was ein visnovok vicoristovuvati ist, zum anderen den Wert für das PIM schreiben.
Um die Helligkeit des Lichts sanft zu erhöhen und dann sanft zu ändern, benötigen Sie eine Auswahl des Wertes des SHIM von 0 (Lichtleistung) bis 255 (maximale Helligkeit) und dann das Navpaki. Unser Programm hat eine Änderung, die auf dem Wert von PWM basiert, und es gibt Helligkeit. Der Skin-Zyklus ändert sich auf den Wert von fadeAmount.
Yak Tilki leuchtet bis 255 oder 0 fadeAmount Ändere dein Vorzeichen. Auf diese Weise ist es möglich, die Qualität der Reduktion und des Navpaki zu verbessern.
analogWrite () Die Änderung des PWM-Werts ist viel schneller, daher muss die Geschwindigkeit der Änderung gesteuert werden. Sie können die Bedeutung Ihrer Augen ändern und staunen, wie Sie als Roboter erkannt werden.

Der nächste Programmtext:

/*

Ich zeige Ihnen den Hintern, wie eine Änderung der Helligkeit des Lichts auf dem Video.

vikoristovuchiFunktionanalogWrite().

*/

int led = 9; // visnovoksvitlodiod 9

int Helligkeit = 0; // Danksagung zur Verdeutlichung

int fadeAmount = 5; // Änderung, wie man die Änderungsgeschwindigkeit pro Zyklus einstellt

// nalashtuvannya:

Leere Einrichtung () {

// Anscheinend visnovok 9 go:

pinMode (led, AUSGANG);

// Hauptschleife:

Leere Schleife () {

// Stellen Sie die Helligkeit der LED am vivodi 9 ein:

analogWrite (LED, Helligkeit);

// Mindestwert für den offensiven Durchgang zum Zyklus:

Helligkeit = Helligkeit + FadeAmount;

// gleichzeitig geradeaus :

if (Helligkeit == 0 || Helligkeit == 255) {

FadeAmount = -fadeAmount;

// Chekaєmo 30 Millisekunden zur Vorsicht vor der Wirkung des Dimmens:

Verzögerung (30);




- ein neuer Katalog von Boards

Liste der Teile für das Experiment

Für dodatkogo zavdannya

    mehr 1 svitlodiod

    mehr 1 Widerstand mit 220 Ohm

    mehr 2 Darts

Schematische Darstellung

Layout-Diagramm

Tier zu respektieren

    Wir haben die "Masse" der LED und den variablen Widerstand (Potentiometer) mit der nächsten Schiene "-" des Steckbretts verbunden und auch mit dem GND-Eingang des Mikrocontrollers verbunden. In einem solchen Rang waren sie mit weniger Ein- und Ausgängen des Steckbretts siegreich, bevor der Controller in weniger Darts gezogen wurde.

    Die Zeichen "+" und "-" auf den Mock-ups kriechen nicht, Sie werden vikoristovuvati їkh ausschließlich zum Greifen sein, es ist nur so, dass der Gestank meistens vikoristovuvatyutsya auf die gleiche Weise auftritt und wir Ihnen helfen

    Es ist nicht wichtig, da die extremen Tiefen des Potentiometers mit 5, sondern mit GND verbunden werden, nur direkt ändern, in diesem Fall müssen Sie den Regler drehen, um die Spannung zu erhöhen. Denken Sie daran, dass die Signale ab dem mittleren Tief lesbar sind

    Um ein analoges Signal zu lesen, kann es eine breite Palette von Werten akzeptieren, und nicht nur 0 oder 1, wie digitale, verwenden Sie nur die auf der Analog In-Platine angegebenen Ports und sind mit dem Präfix A nummeriert. Für Arduino Uno - tse A0-A5.

Skizzieren

p030_pot_light.ino // ja, intelligente Namen für Pins mit Svitlodiodom // ich Potentiometer (englisches Potentiometer oder einfach "Pot")#define LED_PIN 9 #define POT_PIN A0 void setup () ( // Pin mit Svitlodiodom - Wihid, Yak und früher. pinMode (LED_PIN, OUTPUT); // ... und die Stiftachse mit dem Potentiometer ist der Eingang // (englisch "input"): wir wollen betrügen,// Siehe їм pinMode (POT_PIN, INPUT); ) Leerschleife () ( // erklären, dass wir weit weg sein werden, wir werden vikoristovuvati 2 gewinnen // Die Namen sind Rotation і Helligkeit, und wir werden sie verwenden // Integer-Zahlen Innenrotation, Helligkeit; // in Drehung vom Potentiometer ablesbar: // Mikrocontroller hat eine Reihe von Typen 0 bis 1023 // proportional zur Drehung des Griffs Rotation = analogRead (POT_PIN); // für die Helligkeit die Drehung vorher notieren // Eingereicht an 4. Die Gewinner wurden gebeten zu kaufen // Bedeutungszyklus, ein Teil davon wird angezeigt. // In den Ergebnissen können wir die Anzahl der Typen von 0 bis 255 einstellen Helligkeit = Drehung / 4; // Visuelles Ergebnis für svitlodiod analogWrite (LED_PIN, Helligkeit); )

Der Code erklärt

    Für die zusätzliche Direktive #define wurden wir vom Compiler angewiesen, den Bezeichner POT_PIN durch A0 - die Nummer des Analogeingangs - zu ersetzen. Sie können den Code auf den analogen Port hinter der Nummer ohne A-Index setzen. Ein solcher Code wird erfolgreich sein, Ale, Sie können Plutanine aus digitalen Ports identifizieren, vikoristovyte-Index.

    Wir möchten denen einen Namen geben, die bereit sind, es mit ein wenig Literatur zu reparieren.

    Wenn Sie siegreich sein wollen, müssen Sie es loswerden, Sie müssen wissen, wie es geht:

Innenrotation, Helligkeit;

    Eine Person des gleichen Typs kann in der gleichen Anweisung entlarvt werden, nachdem sie durch ein Koma überwältigt wurde,

    Die Funktion AnalogRead (pinA) dreht den Wert im Bereich von 0 bis 1023, proportional zur Belastung des Analogeingangs, deren Anzahl die Funktion an den Parameter pinA überträgt

    Tier des Respekts, als wir den Wert ablehnten, schalteten die analogRead()-Funktion aus: Wir fügen sie einfach zur Hilfe des Bedieners in die Rotation und weisen = zu, wodurch diejenigen aufgeschrieben werden, die wegen des Bösen die Rechtshänder sind

Netzteil zum selber wechseln

    Wie viele Stunden können wir die Schaltung falten, um die LED und das Potentiometer ohne die Mitte mit den GND-Eingängen des Mikrocontrollers zu verbinden?

    Bei welchem ​​Fahrrad muss ein kleiner Widerstand verdrillt werden, um die Lichtqualität zu verbessern?

    Möchten Sie die Zeile pinMode (LED_PIN, OUTPUT) aus den Programmen löschen? PinMode-Zeile (POT_PIN, INPUT)?

    Jetzt haben wir einen Wertunterschied, wenn wir nicht an einen analogen Eingang davor denken, wie kann man dann die Helligkeit der LED einstellen? was wird es sein, wie kannst du sein?

Auf der gesamten Anwendung sieht man die Veränderung der Helligkeit des Lichts, den Vicoristen-Widerstand mit einer kleinen Unterstützung.

Für den Rest des Hinterns weißt du

1 Svitlodiod mit einem Durchmesser von 5 mm

1 x 270 Ohm Widerstand (Chervonia, Violett, Braun)

1 x 470 Ohm Widerstand (rot, violett, braun)

1 Widerstand 2,2 kOhm (Chervonia, Chervonia, Chervonia)

1 x 10 kΩ Widerstand (braun, schwarz, orange)

Svitlodiodi - ausländische Häuser

Svitlodiodi dient auf wundersame Weise in den Nebengebäuden einer wachsenden Familie von Indykatsiya. Der Gestank des Lebens mit wenig Strom und viel Dovovіchnі.

In einer Vielzahl von vikoristovuyu nyposhirenіshі svіtlodіdi mit einem Durchmesser von 5 mm. Ebenso die Erweiterung der Svitlodiodi mit einem Durchmesser von 3 mm, die gleichen großen Svitlodiodi mit einem Durchmesser von 10 mm.

Es wird nicht empfohlen, die LED ohne Batterie anzuschließen, da es nicht empfohlen wird, sie zu verwenden. Zuallererst müssen Sie anfangen, erwachsen zu werden, denn das Svitlodiod hat negative und positive Beine. Nun, auf andere Weise ist es notwendig, die Strumming-Widerstände zu vikoristovuvat, um zu schnell durchzubrennen.

Wenn Sie einen Widerstand nicht mit einer Lichtquelle aufnehmen, lassen Sie ihn aus dem Weg, da eine große Anzahl von Struma durch ihn hindurchgeht. Dadurch erwärmt sich das Licht und der Kontakt erzeugt Licht und Funkeln.

Die Entwicklung der positiven und negativen Schenkel des Svitlodiod kann auf zwei Arten erfolgen.

Das erste ist ein positives Bein.

Ein anderer - beim Betreten des Körpers der Diode selbst am Anschluss des negativen Beins є eine flache Kante.

Wenn Sie das Licht hingegen verbraucht haben, ist die Kante oben auf der Nase flach, aber das Bein ist alles eins positiv.

Widerstand - globale Ansichten

Widerstehen - Opir (eng.)

Sie können es benennen, Sie können sicher sein, dass der Widerstand auf dem Stromfluss basiert. Je höher der Nennwert (Ohm) des Widerstands, desto höher, desto niedriger, desto niedriger, desto niedriger ist die Lanzette auf jeden Fall. Wir werden siegen über die Kraft der Widerstände, die Struma, die durch das Licht hindurchgehen, in einem solchen Rang zu regulieren, der rein ist.

Ale sphatku pogorimo Trochi über Widerstand.

Diejenigen, in denen das Opir gefunden wird, ist Om, wie es in den Bagatokh-Dzherels als Walnussbuchstabe bekannt ist Ω - Omega Also Yak Om ist eine kleine Bedeutungsunterstützung (praktisch unauffällig in Lanceuz), wir werden oft mit Einheiten wie Om . operieren - thal (1000 (1.000.000 Ohm).

Für viele Anwendungen werden wir einen Widerstand mit unterschiedlichen Nennwerten verwenden: 270 , 470 Ω, 2,2 kΩ und 10 kΩ. Die gleichen Widerstände werden angezeigt. Colir auch. Allein! Der Nennwiderstand beginnt optisch.

Bei Widerständen, die drei Farben haben, ist der Rest golden, aber der Ansatz ist richtig:

Braun 1

Chervoniy 2

Orange 3

Grün 5

Fioletoviy 7

Die ersten beiden Selbstgefälligkeiten bedeuten die ersten 2 Zahlenwerte, also das Chervonia, das Violett bedeutet 2, 7. Ein Wellengang kommt - ein paar Nullen, da es notwendig ist, die ersten beiden Zahlen zu setzen. Tobto ist wie die dritte Smuzhka braun, wie auf dem Foto, wenn es eine Null gibt und der Nennwiderstand bis zu 270 Ω beträgt.

Widerstand aus braunen, schwarzen, orangefarbenen Farben: 10 oder drei Nullen, also 10.000 Ω. Tobto 10 kΩ.

Tatsächlich gibt es bei Leuchtdioden, bei Widerständen keine positiven und negativen negativen. Mit dem eigenen Fuß ist es nicht wichtig, sich mit dem Leben / der Erde zu verbinden.

Schaltplan

Schließen Sie den Schalter gemäß der unten gezeigten Schaltung an:

Auf Arduino є Pin von 5 zum Leben von peripheren Anhängen. Wir werden für das Leben der Svitlodiod und des Widerstands siegreich sein. Sie müssen nichts mehr bezahlen, schließen Sie einfach per USB an Ihren Computer an.

Bei einem 270 Ω Widerstand ist das Licht für den Blitz verantwortlich. Wenn Sie den Widerstand auf 270 ändern, installieren Sie einen Widerstand mit einem Nennwert von 470 Ω, das Licht ist nicht so gut. Bei einem 2,2 kΩ Widerstand muss die LED erlöschen. Bei einem Widerstand von 10 kΩ wird das Licht sichtbar. Alles in allem sollten Sie auf der letzten Etappe etwas bewegen können, Sie werden das Glück haben, ein rothaariger Redneck zu sein, siegreich Yak Peremikach. Todi können Sie in Yaskravosti einen Unterschied machen.

Vor der Rede können Sie eine Überprüfung des eingefügten Lichts durchführen.

Widerstandsoptionen

Im Moment, wenn 5 mit einem Bein des Widerstands verbunden ist, ist das andere Bein des Widerstands mit dem positiven Bein des Lichts verbunden und das andere Bein des Lichts ist mit Masse verbunden. Wenn wir den Widerstand so ändern, dass er hinter dem Svitlodiod roztashovatymetsya ist, wie unten gezeigt, ist Svitlodiod gleich.

Blimannya svitlodiodom

Wir können die LED mit dem Arduino-Ausgang verbinden. Ändern Sie das rote Kabel von 5V auf D13, wie unten gezeigt.

Sperren Sie jetzt die Blink-Aktie, wie wir es sahen. Bester Respekt, was für eine Beleidigung für die Svitlodiodi - in Ihrer Aufforderung und Herrschaft stellte sich der Blimati.

Ich werde versuchen, auf Arduino zu vikoristovuvati іnshy pіn zu machen. Sagen wir D7. Ändern Sie den Stecker von Pin D13 auf Pin D7 und ändern Sie die nächste Zeile in den Code:

Fügen Sie die Skizze zum Arduino hinzu. Svitlodiod prodovzhuvatime blimati, einmal rot, vikoristovyuchi hanchuvannya von Pina D7.