Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
arduino:sensoren [2022/05/01 10:58] – khirling | arduino:sensoren [2022/06/21 11:15] (aktuell) – [Unterschiede in der Kommunikation zwischen Mikrocontroller und Sensor] khirling | ||
---|---|---|---|
Zeile 12: | Zeile 12: | ||
Der Sensor kann die zu messende Größe in eine physikalische Größe umwandeln, diese muss nun dem Mikrocontroller übermittelt werden. Hierzu müssen geeignete Schnittstellen zur Verfügung stehen. | Der Sensor kann die zu messende Größe in eine physikalische Größe umwandeln, diese muss nun dem Mikrocontroller übermittelt werden. Hierzu müssen geeignete Schnittstellen zur Verfügung stehen. | ||
- **Analoger Eingang**: Der einfachste Fall ist, dass der Sensor aus einem Halbleiterelement besteht. Durch eine Spannungsteiler-Schaltung am Arduino kann der Widerstand des Halbleiterelements bestimmt werden. Das analoge Signal wird mit Hilfe des Analog-Digital-Wandlers des Mikrocontroller in ein digitales Format umgewandelt und steht zur weiteren Verarbeitung bzw. Auswertung zur Verfügung. Mit Hilfe des Datenblattes oder einer vorab durchgeführten Kalibrierung kann daraus die zu messende Größe bestimmt werden. | - **Analoger Eingang**: Der einfachste Fall ist, dass der Sensor aus einem Halbleiterelement besteht. Durch eine Spannungsteiler-Schaltung am Arduino kann der Widerstand des Halbleiterelements bestimmt werden. Das analoge Signal wird mit Hilfe des Analog-Digital-Wandlers des Mikrocontroller in ein digitales Format umgewandelt und steht zur weiteren Verarbeitung bzw. Auswertung zur Verfügung. Mit Hilfe des Datenblattes oder einer vorab durchgeführten Kalibrierung kann daraus die zu messende Größe bestimmt werden. | ||
- | - **Digitaler Eingang**: Enthält der Sensor schon selbst einen Mikrocontroller, | + | - **Digitaler Eingang**: Enthält der Sensor schon selbst einen Mikrocontroller, |
+ | - **I2C -Schnittstelle**: | ||
- | Die Kommunikation funktioniert mit nur einer Datenleitung. | + | Beim I2C -Protokoll |
- | - **I2C -Schnittstelle**: | + | |
- | * OLED-Display mit Treiberchip SSD1306: 0x3C oder 0x3D | + | |
- | * BMP180 (Luftdruck- und Temperatursensor): | + | |
- | Das I2C- Prokoll funktioniert über zwei Leitungen: | + | Die Datenkommunikation verläuft über zwei Leitungen. Findet keine Kommunikation statt, so sind beide Leitungen auf HIGH. Im Normalfall darf auf der Datenleitung der Pegel nur geändert, wenn die auf dem Clockleitung der Pegel auf LOW ist. Die Ausnahmen sind das Start- und das Stopsignal. |
- | * SCL (serial clock (Takt - Leitung)) | + | |
- | * SDA (serial data (Daten - Leitung)) | + | Ablauf |
- | Le nach Gerät sind verschiedene Datenübertragungsraten möglich. Beim OLED - Display wird diese mit | + | |
+ | * Start \\ Der Master sendet ein Startsignal. | ||
+ | * Adresse \\ der Master sendet die 7 Bit Adresse des Slaves | ||
+ | * Write / Read \\ Nach der Adresse kommt noch ein bit (write 0 / read 1), z.B: Temperatursensor sendet Daten an den Master, | ||
+ | * Bestätigungsbit | ||
+ | * Datenpaket \\ Die Daten bestehen aus jeweils 1 Byte (8Bit)und einem anschließenden Bestätigungs-Bit Es können beliebig viele Datenpakete geschickt werden. | ||
+ | * Stop \\ Durch das Stop-Signal geht die Datenleitung auf High während wie Clockleitung auch auf High ist. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | - \\ Beispiele: | ||
+ | | ||
+ | | ||
+ | - SCL (serial clock (Takt - Leitung)) | ||
+ | - SDA (serial data (Daten - Leitung)) | ||
+ | - **UART**: steht für Universal Asynchronous Receiver-Transmitter. Es braucht 2 Pins für die Kommunikation Die 2 Verbindungen sind. | ||
+ | - TX (Übertragung) | ||
+ | - RX (Empfang) \\ Die Verbindungen werden über kreuz verbunden. TX des Sensors mit RX des Mikrocontrollers und umgekehrt. Bei UART werden die zu übertragenden Bytes mit einem Startbit und einem Paritäts- und Stoppbit versehen und seriell übertragen.\\ | ||
+ | Im Vergleich zu I2C kann beim UART - Kommunikationsprotokoll nur eine Kommunikation zwischen zwei Geräten hergestellt werden. | ||
==== Verwendete Sensoren ==== | ==== Verwendete Sensoren ==== | ||
Zeile 29: | Zeile 48: | ||
- [[.: | - [[.: | ||
- [[.: | - [[.: | ||
+ | - [[.:CO2| Kohlenstoffdioxid]] |