Kategorien: Mikrocontroller-Schaltungen
Anzahl der Ansichten: 32016
Kommentare zum Artikel: 0

Beliebteste Sensoren für Arduino

 

Sensoren werden in einer Vielzahl von Schaltkreisen und Projekten eingesetzt. Keine Automatisierung kann ohne sie auskommen. Wir sind an ihnen interessiert, weil ein Projekt erstellt wurde, um das Design und die Popularisierung der Elektronik zu vereinfachen Arduino. Dies ist eine fertige Karte mit einem Mikrocontroller und allem, was Sie brauchen, um damit zu arbeiten und es zu programmieren. In diesem Artikel werden Sensoren für Arduino betrachtet, sie können jedoch auch mit anderen Mikrocontrollern verwendet werden.

Beliebteste Sensoren für Arduino

Was sind die Sensoren?

Sensoren sind die Augen, Ohren und andere Sinne Mikrocontroller oder ein anderes Steuergerät. Sie unterscheiden sich durch die Art des Signals und durch den Zweck.

Durch die Art des Signals wird unterteilt in:

  • Analog;

  • Digital

Und zu diesem Zweck dienen die Sensoren zum Messen:

  • Temperatur;

  • Druck;

  • Luftfeuchtigkeit

  • Säure;

  • Beleuchtung

  • Wasserstand oder andere Substanzen;

  • Vibration

  • Und andere spezialisierte Komponenten.

Wenn wir über Arduino sprechen, verarbeiten wir beim Empfang von Informationen von Sensoren ein digitales Signal oder messen die Spannung am analogen Ausgang des Moduls. Wie bereits erwähnt, Sensoren sind digital und analog. Einige Module für Arduino haben sowohl einen digitalen als auch einen analogen Ausgang, wodurch sie vereinheitlicht werden.

Nach Gerät sind sie

  • Resistiv

  • Induktiv

  • Kapazitiv;

  • Piezoelektrisch;

  • Fotozellen und andere Typen.



Licht oder Lichtsensor

Der einfachste Weg, um die Helligkeit von etwas zu bestimmen - Verwenden Sie einen Fotowiderstand, eine Fotodiode oder einen Fototransistor. Sie können eine der aufgelisteten Optionen mit Arduino verbinden oder ein spezielles Board kaufen - Lichtsensor.

Lichtsensor

Was sind die Vorteile einer schlüsselfertigen Lösung? Erstens, um die Änderungen in der Beleuchtung einer Fotozelle zu bestimmen, reicht es nicht aus, Sie benötigen auch einen regulären oder Abstimmwiderstand, vielleicht auch Komparator, für schrittweisen Ja / Nein-Betrieb. Zweitens ist eine werkseitig hergestellte Leiterplatte zuverlässiger als eine Klapphalterung oder eine Paketplatine oder andere Methoden, die Amateure verwenden.

Lichtsensor

Auf aliexpress oder in anderen Online-Shops finden Sie es auf Anfrage "PHOTOSENSITIVE-SENSOR" oder einfach "Lichtsensor".

Dieses Modul hat drei Ausgänge:

  • Ernährung;

  • Erde

  • Digitalausgang vom Komparator.

Oder eine vierpolige Version:

  • Ernährung;

  • Erde

  • Digitalausgang vom Komparator;

  • Analog

Auf der Platine befindet sich also ein Abstimmwiderstand, mit dem Sie den Moment einstellen können, in dem der Komparator ausgelöst wird. Er kann ein digitales Signal abgeben.

Anwendungsbeispiele:

  • Lichtsensor für Fotorelais;

  • Alarm (gepaart mit dem Sender);

  • Zähler von Objekten, die den Lichtstrahl kreuzen usw.

Es ist schwierig, genaue Werte zu erreichen, da für die korrekte Einstellung durch Beleuchtung ein korrekter Belichtungsmesser benötigt wird. Fotowiderstände eignen sich besser zur Bestimmung abstrakter Werte wie "dunkel oder hell".

Neben einem solchen Board zum Verkauf finden Sie durchaus interessante GY-302-Modul. Dies ist ein Lichtsensor, der auf der integrierten Schaltung BH-1750 basiert. Sein Merkmal ist, dass es ein digitales Modul ist, eine Kapazität von 16 Bit hat und über den i2c-Bus mit Mikrocontrollern kommuniziert. Mit 16 Bit können Sie die Beleuchtung von 1 bis 65356 Lux (Lx) messen.

Umgebungslichtsensor basierend auf der integrierten Schaltung BH-1750

Unten ist ein Diagramm seiner Verbindung. Möglicherweise stellen Sie fest, dass SDA und SCL an die analogen Pins des Mikrocontrollers angeschlossen.

Anschlussplan des Lichtsensors

Dies liegt an der Tatsache, dass der I2C-Bus auf diesen Arduino-Pins implementiert ist, was anhand des folgenden Bildes ersichtlich ist. Lassen Sie sich daher nicht von dieser Tatsache täuschen, der Sensor ist digital.

GY-302 Moduldiagramm

Der Vorteil digitaler Sensoren besteht darin, dass Sie nicht die Werte jeder Instanz überprüfen, Tabellen erstellen müssen, um die gemessenen Werte in reale Skalen zu übersetzen, und so weiter.In den meisten Fällen reicht es für digitale Sensoren aus, einfach eine vorgefertigte Bibliothek anzuschließen und die in reale Einheiten umgerechneten Werte zu lesen.

Beispielskizze für GY-302 (BH-1750):

Skizzenbeispiel für GY-302

Wie funktioniert eine Skizze?

Zu Beginn teilen wir dem Programm mit, dass wir die Wire.h-Bibliothek, die für die Kommunikation über die I2C-Leitung verantwortlich ist, und den BH1750 verbinden müssen. Der Rest der Aktionen ist in den Kommentaren gut beschrieben, und als Ergebnis lesen wir alle 100 ms den Wert vom Sensor in Lux.

Eigenschaften von GY-302 BH1750:

  • I2C-Mikrocontroller-Kommunikation

  • Spektrale Reaktion ähnlich der Augenempfindlichkeit

  • Fehler durch Infrarotstrahlung werden minimiert

  • Messbereich 0-65535 Lux

  • Versorgungsspannung: 3-5 V.

  • Geringer Stromverbrauch und Schlaffunktion

  • 50/60 Hz Lichtrauschfilterung

  • Die maximale Anzahl von Sensoren an 1 I2C-Bus beträgt 2 Stück.

  • Keine Kalibrierung erforderlich

  • Stromaufnahme - 120 μA

  • Im Schlafmodus - 0,01 μA

  • Gemessene Wellenlänge - 560 nm

  • Im hochauflösenden Modus - 1 Lux

  • Im Modus mit niedriger Auflösung - 4 Lux

  • ADC - 16 Bit

Zeitaufwand für Messungen:

  • Im hochauflösenden Modus - 120 ms

  • Im Modus mit niedriger Auflösung - 16 ms


Hindernissensor

Ich habe diesen Sensor als nächsten ausgewählt, da eine seiner Optionen auf der Grundlage einer Fotodiode oder eines Fototransistors funktioniert, die im Prinzip dem im vorherigen Abschnitt beschriebenen Fotowiderstand ähnlich sind.

Hindernissensor

Sein Name ist "optischer Hindernissensor". Das Hauptfunktionselement ist die im IR-Spektrum sendende und empfangende Fotodiode und LED (daher für das menschliche Auge nicht sichtbar) sowie eine Schwellenanordnung, die beispielsweise an einem Komparator mit einem Empfindlichkeitsregler angebracht ist. Mit dieser wird die Entfernung, in der der Sensor ausgelöst wird, über die Art und Weise eingestellt, wie er digital ist.

Verbindungsdiagramm Beispiel:

Verbindungsbeispiel

Ein Beispiel für ein Signalverarbeitungsprogramm von einem Sensor.

Ein Beispiel für ein Signalverarbeitungsprogramm von einem Sensor

Wenn hier der Ausgang des Sensors "1" ist, was "es gibt ein Hindernis" bedeutet, leuchtet die LED auf der Arduino-Platine oder, die an den 13. Pin angeschlossen ist (dasselbe). Am häufigsten in der Robotik und Alarme verwendet.

Sensoren verwenden

Abstandssensor

Die vorherige Kopie besteht aus einem Empfänger - einer Fotodiode und einem Sender - einer LED. Der Ultraschall-Abstandssensor besteht auch aus einem Empfänger und einem Sender von Ultraschallwellen. Er heißt HC SR04.

Abstandssensor

Eigenschaften HC SR04:

  • 5V Versorgungsspannung

  • Der Betriebsparameter der Kraft t ok - 15 mA

  • Passiver Strom <2 mA

  • Betrachtungswinkel - 15 °

  • Berührungsauflösung - 0,3 cm

  • Messwinkel - 30 °

  • Pulsbreite - 10-6 s

  • Messbereich: 2-400 cm.

Der Fehler tritt auf aufgrund von:

  • Temperatur und Luftfeuchtigkeit - können reduziert werden, indem beispielsweise die Temperatur mit DHT-11 oder DHT-22 gemessen und Koeffizienten eingegeben werden, um die Messungen zu korrigieren.

  • Entfernung zum Objekt;

  • Die Position des Objekts relativ zum Sensor (gemäß Strahlungsdiagramm) kann durch Installieren des HC SR04 am Servoantrieb ausgeglichen werden, um die Richtung zu ändern und genaue Einstellungen vorzunehmen.

  • Leistungsqualität der Sensormodulelemente.

Strahlungsmuster:

Strahlungsmuster

Die Karte hat vier Ausgänge:

  • VCC - Macht;

  • Trig - Eingangssignal;

  • Echo - Ausgangssignal;

  • GND ist ein gemeinsamer Draht.

HC SR04 Sensorkabel

Wie verarbeite ich Messwerte?

1. Wir senden einen Impuls mit einer Dauer von 10 μs an den TRIG-Eingang;

2. Innerhalb des Moduls wird der Impuls in ein Paket von 8 Impulsen umgewandelt, die mit einer Frequenz von 40 kHz aufeinander folgen und durch den Emitter gesendet werden.

3. Vom Hindernis reflektierte Impulse kommen am Empfänger an und werden an ECHO ausgegeben.

4. Die Dauer des vom ECHO-Ausgang empfangenen Impulses sollte durch 58,2 geteilt werden, um den Abstand in Zentimetern zu erhalten, und durch 148, wenn Sie in Zoll umrechnen müssen.

Beispielcode:

Beispielcode

Temperatur messen

Der einfachste Weg, die Temperatur mit einem Mikrocontroller zu messen, ist Verwenden Sie ein Thermoelement oder einen Thermistor. Thermoelemente werden verwendet, um hohe Temperaturen zu messen, um Innen und Außen zu messen - die, über die ich weiter unten sprechen werde, reicht aus, aber jetzt schauen wir uns ein Thermoelement an.

Temperatursensor

Jeder Thermoelementtyp hat seinen eigenen Ansatz für die Arbeit mit einem Mikrocontroller. Zum Beispiel gibt es ein Thermoelement vom K-Typ oder auch Chromel-Alumel genannt, mit einem Bereich gemessener Temperaturen von -200 bis +1400 Grad Celsius mit einer Empfindlichkeit von 41 mV / Grad Celsius. Und für sie gibt es einen speziellen Konverter, der auf dem max6675 IC basiert. Er hat eine Funktion zum Kompensieren der Temperatur der Vergleichsstelle und so weiter.

Modul zur Temperaturmessung

Sie können mit diesem Modul mit der gleichnamigen Bibliothek für Arduino arbeiten. In der folgenden Abbildung sehen Sie ein Beispiel für Programmcode für diesen Fall.

Beispielcode

Anschließend wird auf dem Monitor für die serielle Schnittstelle Folgendes angezeigt.

Serial Port Monitor

Es gibt aber auch einen digitalen Temperatursensor DS12B20kann es als klassisch bezeichnet werden, da es seit vielen Jahren in Amateurprojekten und lange vor dem Erscheinen von Arduino verwendet wird.

Digitaler Temperatursensor DS12B20

Diese digitale integrierte Schaltung ihres internen Geräts ist in der folgenden Abbildung dargestellt:

Mikroschaltung des internen Geräts

Anschlussplan der Platine:

Platinenanschlussplan

Hauptmerkmale und Informationen DS18b20:

  • Der Fehler liegt unter 0,5 ° C (im Temperaturbereich von -10 ° C bis + 85 ° C).

  • Keine Kalibrierung erforderlich

  • Messbereich - von -55 С bis + 125С

  • VCC, Versorgungsspannung 3,3-5V.

  • Auflösung bis zu 0,0625С, per Software eingestellt;

  • Auflösung - 12 Bit

  • Jeder Instanz wird ein eindeutiger Seriencode zugewiesen. Dies ist notwendig, um problemlos mehrere Teile in einem Projekt verwenden zu können

  • Kommunikationsschnittstelle - 1-Draht

  • Kein Umreifen erforderlich

  • Die maximale Anzahl von Sensoren in einer Zeile beträgt 127 Stück.

  • Störleistungsmodus - In diesem Fall wird der Sensor direkt über die Kommunikationsleitung mit Strom versorgt. Gleichzeitig ist eine Temperaturmessung über 100 ° C nicht garantiert

Unten sehen Sie eine Tabelle zur Übersetzung des Binärcodes von DS18b20 in Temperatur in Grad Celsius.

Umrechnungstabelle für den Binärcode von DS18b20 auf Temperatur in Grad Celsius

Beispielprogramm zum Lesen von Temperaturwerten.

Beispielprogramm zum Lesen von Temperaturwerten

Atmosphärendrucksensoren

Elektronische Barometer werden auf Basis von Atmosphärendrucksensoren zusammengebaut. Die folgenden Optionen wurden häufig verwendet:

  • BMP180;

  • BMP280;

  • BME280.

Atmosphärendrucksensoren

Wenn die beiden vorherigen Instanzen einander ähnlich waren, dann BME280 Sensor - Dies ist eine Miniatur-Wetterstation. Es sind 3 Sensoren eingebaut:

  • Temperatur;

  • Druck;

  • Luftfeuchtigkeit.

Seine technischen Eigenschaften:

  • Abmessungen 2,5 x 2,5 x 0,93 mm;

  • Metall-LGA-Gehäuse, ausgestattet mit 8 Ausgängen;

  • Versorgungsspannung 1,7 - 3,6 V;

  • Verfügbarkeit von I2C- und SPI-Schnittstellen;

  • Standby-Stromaufnahme 0,1 µA.

Diese Beispiele sind MEMS-Barometer. MEMS steht für microelectromechanical. Dies ist eine mechanische Mikrostruktur, die kapazitive Phänomene und andere Prinzipien für ihre Arbeit verwendet. Unten sehen Sie ein Beispiel für einen solchen Sensor im Kontext.

Schnittbeispiel eines Sensors

Verbindungsdiagramm Beispiel:

Verbindungsbeispiel

Und ein Beispiel für Programmcode:

Beispielcode

Die Logik des Programms ist einfach:

1. Rufen Sie das vom Sensor abgelesene Unterprogramm (Funktion) auf.

2. Anforderung von Messwerten des im Barometer integrierten Temperatursensors.

3. Wir warten auf die Zeit, um den Temperatursensor auszuwerten.

4. Lesen Sie das Ergebnis der Temperaturmessungen ab.

5. Druckwerte anfordern;

6. Wir warten auf die Druckmesszeit;

7. Lesen Sie den Druckwert ab.

8. Geben Sie den Druckwert von der Funktion zurück.

Eine interessante Tatsache ist, dass es vier Optionen zum Lesen von Werten gibt, die als Argument in der startPressure-Funktion angegeben werden, das zweite Vorzeichen ist von 0 bis 3, wobei 0 eine grobe Schätzung ist und 3 eine genaue Schätzung ist.


Bewegungssensor

Der gebräuchlichste Bewegungssensor für Arduino ist HC SR501 IR-Sensormodul. Ein Merkmal dieses Moduls ist, dass es eine Einstellung der Antwortentfernung und der Verzögerungszeit des Ausgangssignals nach dem Betrieb hat.

Bewegungssensor

Modulfunktionen:

1. Versorgungsspannung 4,5 - 20 V.

2. Ruhestrom ≈ 50 μA;

3. Ausgangssignalspannung (Logikpegel): 3,3 V;

4. Betriebstemperaturbereich - von -15 ° C bis 70 ° C;

5. Abmessungen: 32 * 24 mm;

6. Sichtfeld - 110 °;

7. Maximaler Betriebsabstand - von 3 bis 7 m (einstellbar); Oberhalb von 30 ° C kann sich dieser Abstand verringern.

Schaltplan:

Bewegungsdiagramm des Bewegungssensors

Wie man mit ihm arbeitet, haben wir in einem zuvor veröffentlichten Artikel besprochen: Schemata von Bewegungssensoren, das Prinzip ihrer Arbeit und Schaltpläne


Wasserstandsensor

Entwickelt, um den Flüssigkeitsstand anzuzeigen.

Wasserstandsensor

Eigenschaften

1. Versorgungsspannung 3-5V

2. Verbrauchsstrom> 20 mA

3. Analog

4. Abmessungen der Messzone 40x16 mm

5. Zulässige Luftfeuchtigkeit 10% - 90%

Beispielcode:

Beispielcode

Die Ausgangswerte liegen zwischen 0 (im trockenen Zustand) und 685 (dies kann je nach Leitfähigkeit des Wassers unterschiedlich sein). Vergessen Sie nicht die Elektrolyse, wenn Sie den Salz- oder Wassergehalt messen, wird sie korrodieren.


Lecksensor

Das Modul besteht aus zwei Teilen - der Sensor selbst und der Komparator können auf dem LM393, LM293 oder LM193 aufgebaut werden.

Lecksensor

Dank des Komparators wird das analoge Signal in ein digitales umgewandelt.

Schaltplan:

Schaltplan des Lecksensors

Board Pinout:

  • VCC - Leistung muss mit der Leistung der Apduino-Karte übereinstimmen, in den meisten Fällen beträgt sie 5 V;

  • GND - gemeinsamer Draht;

  • AO - analoges Signal;

  • DO ist ein digitales Signal.

Auf der Komparatorplatine befindet sich ein Abstimmwiderstand, der die Empfindlichkeit des Sensors einstellt. Es kann als Signal für Regen oder Auslaufen dienen, und wenn es mit einem solchen Kran kombiniert wird, kann es funktionieren als Schutz gegen Rohrleitungslecks in der Wohnung:

Leckageschutzhahn

Das Video zeigt, wie es funktioniert:


Feuchtigkeitssensor

Häufig verwendet in automatischen Bewässerungsprojekten, um die Bodenfeuchtigkeit zu bestimmen, besteht die vorherige aus Elektroden und einer Platine mit einem Komparator.

Feuchtigkeitssensor

Es kann sowohl im analogen als auch im digitalen Modus arbeiten. Ein Beispiel für einen Anschlussplan für ein automatisches Bewässerungssystem mit einem auf einem Motor basierenden Kran:

Das Anschlussschema des Feuchtesensors an Arduino

Und ein Beispiel für einen Programmcode zur Verarbeitung eines digitalen Signals von einem Feuchtigkeitssensor:

Beispielcode zur Verarbeitung eines digitalen Signals von einem Feuchtigkeitssensor
Digitaler Temperatur- und Feuchtigkeitssensor AM2302

Fazit

Wir haben beliebte Sensoren untersucht, aber es gibt auch viele andere. Dies sind verschiedene Vibrationssensoren, Gyroskope, Beschleunigungsmesser, Strahlungssensoren und mehr.

Ziel des Artikels war es, an einem Ort eine Vielzahl von Elementen zu sammeln, die für einen Anfänger in der Elektronik für die Umsetzung ihrer Projekte nützlich sein können. Wenn Sie an einem bestimmten Sensor interessiert sind - schreiben Sie in die Kommentare und wir werden es genauer betrachten.

Für Ihre Bequemlichkeit haben wir für Sie eine Tabelle mit geschätzten Kosten und einer Liste der gängigen Sensoren für Arduino in der Reihenfolge zusammengestellt, in der sie im Artikel berücksichtigt wurden:Sensoren für Arduino

Die Preise stammen aus Online-Shops in Russland oder der Ukraine. In China kosten sie mindestens das 2-fache.

Siehe auch auf i.electricianexp.com:

  • Messung von Temperatur und Luftfeuchtigkeit auf Arduino - eine Auswahl von Methoden
  • Analoge Sensoren an Arduino anschließen, Sensoren lesen
  • Was ist der Unterschied zwischen analogen und digitalen Sensoren?
  • Wie der Leitungssensor angeordnet ist und funktioniert
  • Schemata von Bewegungssensoren und das Prinzip ihrer Arbeit, Schaltpläne

  •