Inhaltsverzeichnis:
- Schritt 1: Bauen Sie die Schaltung auf
- Schritt 2: Code mit Blöcken
- Schritt 3: Arduino-Code des Photowiderstands erklärt
- Schritt 4: Erstellen Sie eine physische Arduino-Schaltung (optional)
- Schritt 5: Als nächstes versuchen Sie…
Video: Lichtsensor (Fotowiderstand) mit Arduino in Tinkercad - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Tinkercad-Projekte »
Lassen Sie uns lernen, wie man einen Fotowiderstand, einen lichtempfindlichen Typ eines variablen Widerstands, mit dem Analogeingang von Arduino liest. Er wird auch als LDR (lichtabhängiger Widerstand) bezeichnet.
Bisher haben Sie bereits gelernt, LEDs mit dem analogen Ausgang von Arduino zu steuern und ein Potentiometer abzulesen, das eine andere Art von variablen Widerständen ist, also werden wir in dieser Lektion auf diesen Fähigkeiten aufbauen. Denken Sie daran, dass die analogen Eingänge von Arduino (Pins mit der Bezeichnung A0-A6) ein sich allmählich änderndes elektrisches Signal erkennen und dieses Signal in eine Zahl zwischen 0 und 1023 umwandeln können.
Erkunden Sie die hier in die Arbeitsebene eingebettete Beispielschaltung, indem Sie auf Simulation starten und auf den Fotowiderstand (braunes Oval mit verschnörkelter Linie in der Mitte) klicken und dann den Helligkeitsschieberegler ziehen, um den simulierten Lichteingang anzupassen.
In dieser Lektion bauen Sie diese simulierte Schaltung selbst zusammen mit dem Beispiel. Um optional die physische Schaltung aufzubauen, sammeln Sie Ihr Arduino Uno-Board, das USB-Kabel, das lötfreie Steckbrett, eine LED, Widerstände (220 Ohm und 4,7 k Ohm), Fotowiderstand und Steckbrettdrähte.
Sie können mit Tinkercad Circuits virtuell mitverfolgen. Sie können diese Lektion sogar in Tinkercad ansehen (kostenlose Anmeldung erforderlich)! Erkunden Sie die Beispielschaltung und bauen Sie Ihre eigene direkt daneben. Tinkercad Circuits ist ein kostenloses browserbasiertes Programm, mit dem Sie Schaltungen erstellen und simulieren können. Es ist perfekt zum Lernen, Lehren und Prototyping.
Schritt 1: Bauen Sie die Schaltung auf
Schauen Sie sich die abgebildete Steckplatinenschaltung an. Es kann nützlich sein, sich zum Vergleich eine frei verdrahtete Version dieser Beispielschaltung anzusehen, die abgebildet ist. In diesem Schritt erstellen Sie neben dem Beispiel in der Arbeitsebene Ihre eigene Version dieser Schaltung.
Um mitzumachen, laden Sie ein neues Tinkercad Circuits-Fenster und bauen Sie Ihre eigene Version dieser Schaltung neben dem Beispiel.
Identifizieren Sie den Fotowiderstand, die LED, die Widerstände und die Drähte, die mit dem Arduino in der Tinkercad Circuits-Arbeitsebene verbunden sind.
Ziehen Sie ein Arduino Uno und ein Steckbrett aus dem Komponentenpanel auf die Arbeitsebene, neben der vorhandenen Schaltung.
Verbinden Sie die Strom- (+) und Erdungsschienen (-) des Steckbretts mit Arduino 5V bzw. Masse (GND), indem Sie darauf klicken, um Drähte zu erstellen.
Erweitern Sie die Strom- und Erdungsschienen zu ihren jeweiligen Bussen an der gegenüberliegenden Kante des Steckbretts (optional für diese Schaltung, aber gute gängige Praxis).
Stecken Sie die LED in zwei verschiedene Steckbrettreihen, so dass die Kathode (negativer, kürzerer Schenkel) mit einem Schenkel eines Widerstands verbunden ist (überall von 100-1K Ohm ist in Ordnung). Der Widerstand kann in beide Richtungen gehen, da Widerstände nicht polarisiert sind, im Gegensatz zu LEDs, die auf eine bestimmte Weise angeschlossen werden müssen, um zu funktionieren.
Verbinden Sie den anderen Widerstandsschenkel mit Masse.
Verdrahten Sie die LED-Anode (positiv, längeres Bein) mit Arduino-Pin 9.
Ziehen Sie einen Fotowiderstand von der Komponententafel auf Ihr Steckbrett, sodass seine Beine in zwei verschiedene Reihen stecken.
Klicken Sie hier, um einen Draht zu erstellen, der einen Fotowiderstandsschenkel mit der Stromversorgung verbindet.
Verbinden Sie das andere Bein mit dem analogen Arduino-Pin A0.
Ziehen Sie einen Widerstand aus der Komponententafel, um den an A0 angeschlossenen Fotowiderstandsschenkel mit Masse zu verbinden, und stellen Sie seinen Wert auf 4,7 kOhm ein.
Schritt 2: Code mit Blöcken
Lassen Sie uns den Codeblock-Editor verwenden, um den Zustand des Fotowiderstands abzuhören, und stellen Sie dann eine LED auf eine relative Helligkeit ein, basierend darauf, wie viel Licht der Sensor sieht. Vielleicht möchten Sie Ihre Erinnerung an den LED-Analogausgang in der Lektion Fading LED auffrischen.
Klicken Sie auf die Schaltfläche "Code", um den Code-Editor zu öffnen. Die grauen Notation-Blöcke sind Kommentare, um zu notieren, was Sie mit Ihrem Code tun möchten, aber dieser Text wird nicht als Teil des Programms ausgeführt.
Klicken Sie im Code-Editor auf die Kategorie Variablen.
Um den Widerstandswert des Fotowiderstands zu speichern, erstellen Sie eine Variable namens "sensorValue".
Ziehen Sie einen "gesetzten" Block heraus. Wir speichern den Zustand unseres Fotowiderstands in der Variablen
sensorWert
Klicken Sie auf die Kategorie Input und ziehen Sie einen Block "analog read pin" heraus und platzieren Sie ihn in dem Block "set" nach dem Wort "to".
Da unser Potentiometer an Pin A0 mit dem Arduino verbunden ist, ändern Sie das Dropdown-Menü auf A0.
Klicken Sie auf die Kategorie Ausgabe und ziehen Sie einen Block "Auf seriellen Monitor drucken" heraus.
Navigieren Sie zur Kategorie Variablen und ziehen Sie Ihre Variable sensorValue auf den Block "Auf seriellen Monitor drucken" und stellen Sie sicher, dass die Dropdown-Liste so eingestellt ist, dass sie mit einer neuen Zeile gedruckt wird. Starten Sie optional die Simulation und öffnen Sie den seriellen Monitor, um zu überprüfen, ob Messwerte eingehen und sich ändern, wenn Sie den Sensor justieren. Analoge Eingangswerte reichen von 0-1023.
Da wir mit einer Zahl zwischen 0 (aus) und 255 (volle Helligkeit) in die LED schreiben möchten, verwenden wir den Block "map", um eine Kreuzmultiplikation für uns durchzuführen. Navigieren Sie zur Kategorie Mathematik und ziehen Sie einen "Map" -Block heraus.
Ziehen Sie im ersten Slot einen sensorValue-Variablenblock hinein und legen Sie dann den Bereich von 0 bis 255 fest.
Ziehen Sie zurück in der Kategorie Ausgabe einen analogen "Set Pin"-Block heraus, der standardmäßig "Set Pin 3 to 0" lautet. Passen Sie ihn an, um Pin 9 einzustellen.
Ziehen Sie den zuvor erstellten Map-Block in das "to"-Feld des "set pin"-Blocks, um die angepasste Zahl per PWM auf den LED-Pin zu schreiben.
Klicken Sie auf die Kategorie Steuerung, ziehen Sie einen Warteblock heraus und passen Sie ihn an, um das Programm um 0,1 Sekunden zu verzögern.
Schritt 3: Arduino-Code des Photowiderstands erklärt
Wenn der Code-Editor geöffnet ist, können Sie auf das Dropdown-Menü auf der linken Seite klicken und "Blöcke + Text" auswählen, um den von den Codeblöcken generierten Arduino-Code anzuzeigen. Folgen Sie uns, während wir den Code genauer untersuchen.
int sensorValue = 0;
Vor dem
erstellen()
erstellen wir eine Variable, um den vom Potentiometer gelesenen aktuellen Wert zu speichern. Es heißt
int
weil es eine ganze Zahl oder eine ganze Zahl ist.
Void-Setup ()
{ PinMode (A0, EINGANG); pinMode(9, AUSGANG); Serial.begin (9600); }
Innerhalb des Setups werden die Pins mit dem konfiguriert
pinMode()
Funktion. Pin A0 ist als Eingang konfiguriert, damit wir den elektrischen Zustand des Potentiometers "mithören" können. Pin 9 ist als Ausgang zur Ansteuerung der LED konfiguriert. Um Nachrichten senden zu können, öffnet der Arduino einen neuen seriellen Kommunikationskanal mit
Serial.begin()
die ein Baudratenargument (welche Geschwindigkeit zu kommunizieren) verwendet, in diesem Fall 9600 Bits pro Sekunde.
Leere Schleife ()
{ // den Wert vom Sensor lesen sensorValue = analogRead (A0); // Drucken Sie den Sensormesswert, damit Sie seinen Bereich kennen Serial.println (sensorValue);
Alles nach einer Reihe von Schrägstrichen
//
ist ein Kommentar, der den Leuten hilft, in einfacher Sprache zu verstehen, was das Programm tun soll, aber nicht in dem Programm enthalten ist, das Ihr Arduino ausführt. In der Hauptschleife wird eine Funktion namens
analogRead();
überprüft den Zustand von Pin A0 (der eine ganze Zahl von 0-1023 sein wird) und speichert diesen Wert in der Variablen
sensorWert
// Ordnen Sie den Sensormesswert einem Bereich für die LED zu
analogWrite(9, map(sensorValue, 0, 1023, 0, 255)); Verzögerung (100); // Warte 100 Millisekunde(n) }
Die Zeile nach dem nächsten Kommentar macht viel auf einmal. Erinnern
analogWrite()
nimmt zwei Argumente, die Pin-Nummer (in unserem Fall 9), und den zu schreibenden Wert, der zwischen 0 und 255 liegen sollte. Die Inline-Funktion
Karte()
nimmt fünf Argumente an: die auszuwertende Zahl (die sich ständig ändernde Sensorvariable), das erwartete Minimum und das erwartete Maximum und das gewünschte Minimum und Maximum. Also die
Karte()
In unserem Fall wertet die Funktion den eingehenden sensorValue aus und führt eine Kreuzmultiplikation durch, um die Ausgabe von 0-1023 auf 0-255 herunterzuskalieren. Das Ergebnis wird in das zweite Argument von zurückgegeben
analogWrite();
Einstellen der Helligkeit der an Pin 9 angeschlossenen LED.
Schritt 4: Erstellen Sie eine physische Arduino-Schaltung (optional)
Um Ihren physischen Arduino Uno zu programmieren, müssen Sie die kostenlose Software (oder das Plugin für den Webeditor) installieren und dann öffnen. Verschiedene Fotozellen haben unterschiedliche Werte. Wenn Ihr physikalischer Stromkreis nicht funktioniert, müssen Sie möglicherweise den damit gekoppelten Widerstand ändern. Erfahren Sie mehr über Spannungsteiler in der Instructables Electronics Class-Lektion zu Widerständen.
Verdrahten Sie die Arduino Uno-Schaltung, indem Sie Komponenten und Drähte anschließen, um den hier in Tinkercad Circuits gezeigten Verbindungen zu entsprechen. Für eine ausführlichere Anleitung zur Arbeit mit Ihrem physischen Arduino Uno-Board besuchen Sie die kostenlose Instructables Arduino-Klasse.
Kopieren Sie den Code aus dem Codefenster von Tinkercad Circuits und fügen Sie ihn in eine leere Skizze in Ihrer Arduino-Software ein oder klicken Sie auf die Download-Schaltfläche (nach unten gerichteter Pfeil) und öffnen Sie
die resultierende Datei mit Arduino. Sie können dieses Beispiel auch in der Arduino-Software finden, indem Sie zu Datei -> Beispiele -> 03. Analog -> AnalogInOutSerial navigieren.
Stecken Sie Ihr USB-Kabel ein und wählen Sie Ihr Board und Ihren Port im Tools-Menü der Software aus.
Laden Sie den Code hoch und verwenden Sie Ihre Hand, um den Sensor vor dem Empfang von Licht zu schützen, und / oder leuchten Sie Ihren Sensor mit Licht!
Öffnen Sie den seriellen Monitor, um Ihre Sensorwerte zu beobachten. Es ist wahrscheinlich, dass die realen Werte je nach Lichtverhältnissen nicht bis 0 oder bis 1023 reichen. Fühlen Sie sich frei, den Bereich 0-1023 auf Ihr beobachtetes Minimum und beobachtetes Maximum einzustellen, um den maximalen Helligkeitsausdrucksbereich der LED zu erhalten.
Schritt 5: Als nächstes versuchen Sie…
Nachdem Sie nun gelernt haben, einen Fotowiderstand zu lesen und seinen Ausgang zuzuordnen, um die Helligkeit einer LED zu steuern, können Sie diese und andere Fähigkeiten, die Sie bisher erlernt haben, anwenden.
Können Sie die LED gegen eine andere Art von Ausgang austauschen, z. B. einen Servomotor, und einen Code erstellen, der die aktuelle Lichtstärke des Sensors als eine bestimmte Position entlang einer Anzeige widerspiegelt?
Versuchen Sie, Ihren Fotowiderstand gegen andere analoge Eingänge wie einen Ultraschall-Abstandssensor oder ein Potentiometer auszutauschen.
Erfahren Sie mehr darüber, wie Sie die digitalen und analogen Eingänge Ihres Arduino über den Computer mit dem Serial Monitor überwachen.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Erstellen Sie eine Raumstation in TinkerCad Codeblock--Einfaches Tutorial: 7 Schritte (mit Bildern)
Erstellen Sie eine Raumstation in TinkerCad Codeblock||Einfaches Tutorial: Während der Gedanke, im Weltraum zu leben, wie Science-Fiction erscheinen mag, umkreist die Internationale Raumstation die Erde mit einer Geschwindigkeit von fünf Meilen pro Sekunde, während Sie dies lesen, und umkreist die Erde einmal alle 90 Minuten. In diesem Projekt lernen Sie
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
So verdrahten und verwenden Sie den Lichtsensor GY-30 BH1750 (GY30 / GY302) – Einfach – Arduino-Projekt
So verdrahten und verwenden Sie den Lichtsensor GY-30 BH1750 (GY30 / GY302) - Einfach - Arduino-Projekt!: In diesem Tutorial erfahren Sie, wie Sie den Lichtintensitätssensor GY-30 BH1750 schnell und einfach mit Arduino verwenden