meta data for this page
This is an old revision of the document!
Komponenten Arduino
Hier finden Sie alle wichtigen Komponenten für die Verarbeitung und Ausgabe von Sensor-Daten.
Arduino Nano
- Modell:
- Arduino Nano Datenblatt
- Prozessor:
- atmega328 Datenblatt
- Sensitivität des AD-Wandlers:
mV
- Linearität des AD-Wandlers:
mV
https://www.makershop.de/plattformen/arduino-shields/io-sensor-shield-nano/
LC-Display 20x4
- Modell:
- HD44780U Datenblatt
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Display |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCL |
- Für den Betrieb ist die LiquidCrystal I2C Bibliothek notwendig. Bitte im Library Manager (Sketch - Include Library - Manage Librarys - Installed) überprüfen, ob diese installiert ist, andersfalls LiquidCrystal I2C im Library Manager in der Suche eingeben und die Bibliothek installieren.
- Falls die Hintergrundbeleuchtung leuchtet, aber kein Text zu sehen ist, kann dies am zu niedrig eingestellten Kontrast liegen. Der Regler zur Einstellung des Konstrasts befindet sich auf der Rückseite des Displays und kann mit einem kleinen Schraubendreher eingestellt werden.
SD-Karten Adapter
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Adapter |
5V | VCC |
GND | GND |
MOSI | PIN 11 |
MISO | PIN 12 |
CLK | PIN 13 |
CS | PIN 10 |
- Für den Betrieb ist die SD- Bibliothek notwendig, diese muss unter dem Librarymanager (Adafruit SD) installiert werden.
Die Zuleitungen vom Adapter zum Arduino sollten die Länge von 40cm nicht überschreiten. Mit langen Zuleitungen funktioniert die Datenübertragung nicht zuverlässig oder auch gar nicht.
Batterienhalter 4x AA
Sensoren
Hier finden Sie alle Sensoren, die wir im Praktikum für die M-Pool Versuche zur Verfügung stellen.
GPS-Empfänger
- Modell:
- MT3339 Datenblatt
- Beispielprogramm:
- Ortsauflösung:
- Streuung der Positionsdaten:
- von Messpunkt zu Messpunkt bei guten Empfangsbedingungen -
- Standardabweichung der Positionsangabe:
Dieser Sensor überträgt permanent die Geo-Position, die er aus dem Empfang von Signalen verschiedener GNSS-Satelliten ermittelt hat. Die übertragenen Datensätze haben das Format NMEA 0183. Diese Rohdaten lassen sich über USB auf den seriellen Monitor des Arduino-IDE übertragen.
Anschlussbelegung für Rohdaten | |
---|---|
Arduino | GPS-Modul |
+5 V | VIN |
GND | GND |
D0(RX0) | RX |
D1(TX1) | TX |
Damit der Prozessor bei der Übertragung der Rohdaten nicht ständig neu bootet, muss er mit einem nahezu leeren Programm beschäftigt werden:
- Tu-Nichts-Sketch
void setup() {} void loop() {}
Für die Entschlüsselung der NMEA-Rohdaten kann folgende Webseite von Adafruit hilfreich sein: https://learn.adafruit.com/adafruit-ultimate-gps/direct-computer-wiring
Es ist meist sinnvoll, die Rohdaten zeilenweise direkt vom Arduino auswerten zu lassen. Ein Beispiel dafür ist das oben verlinkte Beispielprogramm. Das Beispielprogramm nutzt eine von Adafruit bereit gestellte Bibliothek → Installation mit dem Library-Manager unter dem Namen “Adafruit GPS Library”.
In diesem Fall soll der Sensor nur mit dem Arduino “reden”. Der Arduino kommuniziert dann das Ergebnis seiner Analyse über USB an den seriellen Monitor des angeschloeenen Computers.
Anschluss für Auswertung durch Arduino | |
---|---|
Arduino | GPS-Modul |
5V | VIN |
GND | GND |
D3 | TX |
D4 | RX |
Alternativ, oder auch parallel kann der Arduino sein Ergebnis auf einem lokalen LCD-Display anzeigen.
Temperatursensor DS18B20
- Sensor:
- DS18B20 Datenblatt
- Sensitivität:
- laut Datenblatt: IN-ARBEIT mK, gemessen: IN-ARBEIT mK
- Systematische Abweichung:
- laut Datenblatt:
, gemessen:
Temperatursensor TS103F3950R, 10 kΩ NTC
- Sensor:
- TS103F3950R Datenblatt
- Sensitivität:
- laut Datenblatt:
mK, gemessen:
mK
- Systematische Abweichung:
- laut Datenblatt:
, gemessen:
Temperatursensor PT106051, PT100
BILD-FEHLT
- Sensor:
- PT106051 Datenblatt
- Sensitivität:
- laut Datenblatt:
mK, gemessen:
mK
- Systematische Abweichung:
- laut Datenblatt:
mK, gemessen:
mK
Temperatursensor B57703M, 10 kΩ NTC
- Sensor:
- B57703M Datenblatt
- Sensitivität bei unterschiedlichen Temperaturen:
- laut Datenblatt:
, gemessen:
- Systematische Abweichung:
- laut Datenblatt:
, gemessen:
Luftfeuchtigkeits- und Temperatursensor DHT-22
- Sensor-IC:
- DHT-22 Datenblatt
- Sensitivität Luftfeuchtigkeit :
- laut Datenblatt:
, gemessen:
- Sensitivität Temperatur :
- laut Datenblatt:
, gemessen:
- Systematische Abweichungen:
- laut Datenblatt:
, gemessen:
- Beispielprogramm:
- Bibliothek:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | Pin 1 (VCC) |
Pin 2 (D2) | Pin 2 |
GND | Pin 3 |
- Damit das Beispielprogramm funktioniert, muss die DHT-Sensor-Library eingebunden sein. Diese kann über den Library-Manager (Adafruit DHT22 Library) oder mit der oben verlinkten ZIP-Datei “Bibliothek:” eingebunden werden. Beide Möglichkeiten führen zum selben Ergebnis.
- Pin 2 wird mit Pin 2 am Arduino verbunden und über einen 10 kΩ Widerstand an VCC (5V) am Arduino angeschlossen.
- Alternativ: Pin 2 und Pin 3 am Sensor verbinden und über einen 10 kΩ Widerstand mit VCC (5V) am Arduino verbinden.
Luftdruck- und Temperatursensor BMP 280
- Sensor:
- BMP 280 Datenblatt
- Sensor-IC:
- Sensitivität Luftdruck:
- laut Datenblatt:
mbar, : gemessen:
mbar
- Sensitivität Temperatur:
- laut Datenblatt:
mbar, : gemessen:
mbar
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | VCC |
GND | GND |
A4 | SCL |
A5 | SDA |
- Damit der Sensor funktioniert, muss die “Adafruit BMP 280 Library” eingebunden sein. (Funktioniert über der Suche im Library-Manager (Tools → Manage Libraries..)).
- Die Wire.h Bibliothek wird für den I²C Bus benötigt.
Luftdruck- und Temperatursensor MS5611
- Sensor:
- MS5611 Datenblatt
- Sensitivität Luftdruck:
- laut Datenblatt:
mbar, : gemessen:
mbar
- Sensitivität Temperatur:
- laut Datenblatt:
mbar, : gemessen:
mbar
- Beispielprogramm:
- Beispielprogramm micropython:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | VCC |
GND | GND |
A4 | SCL |
A5 | SDA |
- Damit der Sensor im Arduino-IDE funktioniert, muss die MS5611 Library (von Rob Tillaart) eingebunden sein. (Funktioniert über der Suche im Library-Manager (Tools → Manage Libraries..)).
- Damit der Sensor in Micropython funktioniert, muss die MS5611 library (https://github.com/jposada202020/MicroPython_MS5611/tree/master) eingebunden sein. Anleitung entweder dort (verschiedene Wege) oder dieses Verzeichnis auf dem Arduino speichern.
- Die wire.h Bibliothek wird für den I²C Bus benötigt.
CO2-Sensor MH-Z19C
- Sensor:
- MH-Z19C Datenblatt
- Sensitivität CO2:
- laut Datenblatt:
ppm, : gemessen:
ppm
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | +5 V |
GND | GND |
D10 (TX) | RX |
D11 (RX) | TX |
- Es gibt zwei Möglichkeiten, den Sensor auszulesen: Digital über serielle Schnittstelle (Beispielprogramm) oder analog über PWMhttps://de.wikipedia.org/wiki/Pulsdauermodulation.
- TX und RX werden kreuzweise angeschlossen (siehe Anschlussplan).
- Funktioniert das Programm nicht, kann es hilfreich sein, die beiden Anschlüsse am Arduino zu tauschen.
- Sind die Werte unplausibel, kann eine Kalibrierung helfen. Das Datenblatt enthält Hinweise zur Kalibrierung.
CO2-Sensor Sensirion SCD30
- Sensor:
- Sensirion SCD30 Datenblatt
- Sensitivität CO2:
- laut Datenblatt:
ppm, : gemessen:
ppm
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | +5 V |
GND | GND |
D7 | SCK |
D6 | DT (Dout) |
- Für die Funktion muss die “Adafruit SP30” Bibliothek eingebunden sein, unter Sketch → Include Library → Manage Library.
Gyroskop und Temperatursensor L3G4200D
- Modul:
- GY-50
- Sensor-IC
- L3G4200D Datenblatt
- Sensitivität für x-, y-, z-Achse:
- laut Datenblatt:
, gemessen:
- Sensitivität Temperatursensor:
- laut Datenblatt:
, gemessen:
- Systematische Abweichungen:
- laut Datenblatt:
, gemessen:
- Beispielprogramm:
- Bibliothek:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | VIN |
GND | GND |
A5 | SCL |
A4 | SDA |
- Für den Betrieb muss die L3G4200D-Bibliothek eingebunden werden.
Gyroskop-, Beschleunigungs- und Temperatursensor MPU-6050
- Modul:
- GY-521 Datenblatt
- Sensor-IC
- MPU-6050 Datenblatt
- Sensitivität vom Gyroskop für x-, y-, z-Achse:
- laut Datenblatt:
, gemessen:
- Sensitivität Beschleunigung für x-, y-, z-Achse:
- laut Datenblatt:
, gemessen:
- Sensitivität Temperatursensor:
- laut Datenblatt:
, gemessen:
- Systematische Abweichungen:
- laut Datenblatt:
, gemessen:
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | VIN |
GND | GND |
A5 | SCL |
A4 | SDA |
- Für die Funktion muss die I²C Bibliothek eingebunden sein (wire.h).
Magnetfeld-, Beschleunigungs- und Temperatursensor LSM303DLHC
- Modul:
- GY-511 Datenblatt
- Sensor-IC:
- LSM303DLHC Datenblatt
- Sensitivität Magnetfeld x-, y-, z-Achse:
- laut Datenblatt: IN-ARBEIT, gemessen: IN-ARBEIT
- Sensitivität Beschleunigung x-, y-, z-Achse:
- laut Datenblatt:
, gemessen:
- Sensitivität Temperatursensor:
- laut Datenblatt:
, gemessen:
- Systematische Abweichungen:
- laut Datenblatt:
, gemessen:
- Beispielprogramm:
- Bibliothek:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | VIN |
GND | GND |
A5 | SCL |
A4 | SDA |
- Die weiteren Anschlüsse am Sensor werden für das Testprogramm nicht benötigt.
- Für den Betrieb wird wire.h und lsm303.h benötigt. Die Library LSM303 von Pololu muss im Arduino IDE installiert sein. Diese finden Sie im Arduino Library Manager (Tools → Manage Libraries..)
Es gibt mehrere Varianten des LSM303-Sensors und mehrere Varianten der Library, die leider nicht untereinander austauschbar sind. Die im Praktikum vorgehaltene Variante des Sensors arbeitet gut mit der Library von Pololu zusammen.
Beschleunigungssensorsensor ADXL 345
- Sensor:
- ADXL 345 Datenblatt
- Sensitivität für x-, y-, z-Achse:
- laut Datenblatt:
, gemessen:
- Systematische Abweichung:
- laut Datenblatt:
, gemessen:
- Beispielprogramm:
- Bibliothek:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCL |
5V | CS |
PIN2(D2) | INT2 |
- Damit das Programm funktioniert, muss die ADXL Library installiert werden
- Damit der Upload funktioniert, muss darauf geachtet werden, das der Sensor Pin VCC erst nach dem Programmupload mit den 5V Pin vom Arduino verbunden wird, da der Sensor sonst schon zu viel Strom braucht.
Ultraschall-Entfernungssensor HCSR04
- Sensor:
- HCSR04 Datenblatt
- Sensitivität:
- laut Datenblatt: IN-ARBEIT, gemessen: IN-ARBEIT
- Kennlinie:
- Abhängigkeit von realem Abstand zu Messwert: IN-ARBEIT
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
VCC | VCC |
GND | GND |
PIN 2 (D2) | TRIG |
PIN 3 (D3) | ECHO |
Induktiver Abstandssensor 32086-HD
Ein elektronischer Schalter, der auf Metall reagiert. Wenn ein Stück Metall in die Nähe der Spitze des Sensors kommt, dann sinkt sein Widerstand und er kann Strom in Richtung Masse ableiten.
- Sensor:
- 32086-HD Datenblatt
- Arbeitsabstand:
- Laut Datenblatt: 4mm, gemessen:
- Streuung von Messung zu Messung (Wiederholbarkeit):
- Streuung von Exemplar zu Exemplar:
- Kennlinie Abstand gegen Widerstand:
- laut Datenblatt: keine Angabe, gemessen:
- Beispielprogramm:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | V+ |
GND | GND |
D2/A0 | Signal |
- Eine rote LED am Sensor informiert über den Zustand des Ausgangs.
- Je nach Anwendung ist entweder ein analoger (etwa A0) oder ein digitaler Eingang (etwa D2) vom Arduino am besten geeignet.
IR-Abstandssensor GP2Y0A21YKF
- Sensor:
- GP2Y0A21YKF Datenblatt
- Sensitivität der Entfernungskennlinie :
- laut Datenblatt: IN-ARBEIT, gemessen: IN-ARBEIT
- Systematische Abweichung:
- laut Datenblatt:
, gemessen:
- Beispielprogramm:
- Bibliothek:
Anschlussbelegung | |
---|---|
Arduino | Sensor |
5V | 5V |
GND | GND |
A0 | V0 |
- Damit das Programm funktioniert, muss die Average-master Library eingebinden werden.
- Damit es beim Upload des Programms in den Programmer keine Fehler gibt, muss zwischen dem Plus-Anschluss (5V) am Eingang und der Masse (GND) am Ausgang ein 1000 µF ELKO-Kondensator eingebaut werden, da beim Upload Stromspitzen entstehen, die durch den Kondensator reduziert werden.
Ohne den 1000µF Kondensator funktioniert der Upload des Programms nicht, deswegen sollte man den Kondensator nicht vergessen einzubauen.