Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ws2021:kabelsalat [2021/04/30 14:00] – [Temperatursensor BME/BMP280] j-h-f | ws2021:kabelsalat [2022/03/15 09:40] (aktuell) – [Teilnehmer] j-h-f | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| Webseite: https:// | Webseite: https:// | ||
| + | |||
| + | ==== Teilnehmer ==== | ||
| + | * Fabian Janosch Krüger | ||
| + | * Ben Niclas Thal | ||
| + | * Arthur Bilinsky | ||
| + | * Henry Schittkowski | ||
| + | * Jan-Hendrik Fabricius | ||
| + | |||
| ==== Darstellung bisheriger Arbeit ==== | ==== Darstellung bisheriger Arbeit ==== | ||
| == Arbeitsaufteilung == | == Arbeitsaufteilung == | ||
| Zeile 46: | Zeile 54: | ||
| ===== Arduino Nano ===== | ===== Arduino Nano ===== | ||
| + | {{ : | ||
| “Arduino is an open-source hardware and software company, project and user community that | “Arduino is an open-source hardware and software company, project and user community that | ||
| designs and manufactures single-board microcontrollers and microcontroller kits for building digital | designs and manufactures single-board microcontrollers and microcontroller kits for building digital | ||
| - | devices.” [https:// | + | devices.” [https:// |
| Der Arduino ist also ein Mikrocontroller, | Der Arduino ist also ein Mikrocontroller, | ||
| - | als Hauptsteuereinheit diverser Projekte genutzt werden kann. | + | als Hauptsteuereinheit diverser Projekte genutzt werden kann.\\ |
| Bei einem Mikrocontroller handelt es sich, vereinfacht gesagt, um einen winzigen Computer, | Bei einem Mikrocontroller handelt es sich, vereinfacht gesagt, um einen winzigen Computer, | ||
| bestehend aus einem Prozessor, einem Arbeitsspeicher (RAM) und ggf. weitere Peripheriebauteile, | bestehend aus einem Prozessor, einem Arbeitsspeicher (RAM) und ggf. weitere Peripheriebauteile, | ||
| - | wie bspw. externer Speicher oder I/ | + | wie bspw. externer Speicher oder I/ |
| Der große Unterschied zwischen einem richtigen PC und einem Mikrocontroller liegt darin, dass | Der große Unterschied zwischen einem richtigen PC und einem Mikrocontroller liegt darin, dass | ||
| der Mikrocontroller auf einen bestimmen Anwendungsfall zugeschnitten und entwickelt ist. Dies | der Mikrocontroller auf einen bestimmen Anwendungsfall zugeschnitten und entwickelt ist. Dies | ||
| Zeile 60: | Zeile 69: | ||
| beschränkten Rechenleistung und Speicherkapazität sehr günstig sind, aber dennoch ausreichend | beschränkten Rechenleistung und Speicherkapazität sehr günstig sind, aber dennoch ausreichend | ||
| Funktionalität bieten, um ein etwas komplexeres Projekt zu realisieren. | Funktionalität bieten, um ein etwas komplexeres Projekt zu realisieren. | ||
| + | {{ : | ||
| ===== ESP01-S ===== | ===== ESP01-S ===== | ||
| + | {{ : | ||
| Der ESP01-S ist auch ein Mikrocontroller, | Der ESP01-S ist auch ein Mikrocontroller, | ||
| - | kann, um Steuerungsaufgaben zu übernehmen. Der Unterschied zwischen einem ESP01-S und | + | kann, um Steuerungsaufgaben zu übernehmen.\\ |
| - | einem Arduino liegt darin, dass der ESP01-S Mikrocontroller auf dem sogenannten ESP8266 | + | Der Unterschied zwischen einem ESP01-S und einem Arduino liegt darin, dass der ESP01-S Mikrocontroller auf dem sogenannten ESP8266 Mikroprozessor basiert. Der Vorteil an dem ESP8266 Mikroprozessor ist, dass dieser einen |
| - | Mikroprozessor basiert. Der Vorteil an dem ESP8266 Mikroprozessor ist, dass dieser einen | + | WLAN-Chip verbaut hat, mit dem der ESP01-S eine Verbindung zum Internet aufbauen kann. \\ |
| - | WLAN-Chip verbaut hat, mit dem der ESP01-S eine Verbindung zum Internet aufbauen kann. Der | + | Der Nachteil am ESP01-S Mikrocontroller ist. Dass dieser nur 2 I/O Pins besitzt. Das bedeutet, dass man nur über 2 Signalleitungen |
| - | Nachteil am ESP01-S Mikrocontroller ist. Dass dieser nur 2 I/O Pins besitzt. Das bedeutet, dass | + | {{ : |
| - | man nur über 2 Signalleitungen mit anderen Geräten kommunizieren kann. Somit eignet sich der | + | |
| - | ESP01-S meist nur für sehr kleine Projekte, wie z.B. ein Thermometer, | + | |
| - | ausgelesen werden kann. Alternativ kann man den ESP01-S auch als WLAN-Modul mit einem | + | |
| - | Arduino verbinden. | + | |
| ===== Relais Modul ===== | ===== Relais Modul ===== | ||
| {{ : | {{ : | ||
| Zeile 126: | Zeile 132: | ||
| ===== Temperatursensor BME/BMP280 ===== | ===== Temperatursensor BME/BMP280 ===== | ||
| + | {{ : | ||
| + | \\ | ||
| + | Der BME/BMP280 Tempratursensor ist ein Vollständiges Modul, das die Temperatur, die Luftfeuchtigkeit und den Lufdruck misst und die gemessenen Daten anschließend über eine [[https:// | ||
| + | Zusätzlich gibt es eine [[https:// | ||
| + | \\ | ||
| + | Für die Verbindung des BME/BMP280 Sensors mit dem Arduino werden 4 Kabel benötigt. Die Verbidnung sieht wie folgt aus: | ||
| + | {{: | ||
| + | ^ BME280 Pin ^ Arduino Pin ^ | ||
| + | | VCC | 5V | | ||
| + | | GND | GND | | ||
| + | | SCL | A5 | | ||
| + | | SDA | A4 |</ | ||
| + | Die Pins SCL und SDA sind die Anschlüsse des I²C Busses. Über diese Pins werden Datenpakete hin und her gesendet, wodurch der im Code des Arduinos die gemessenen Werte des Sensors angefragt werden können. | ||
| - | ==== Reich Tauchpumpe ==== | + | \\ |
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | |||
| + | Um die Daten des BME/BMP280 einfach auszulesen gibt es die [[https:// | ||
| + | <code c> | ||
| + | /* | ||
| + | * Complete Project Details https:// | ||
| + | */ | ||
| + | |||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | #define SEALEVELPRESSURE_HPA (1013.25) | ||
| + | |||
| + | Adafruit_BME280 bme; // I2C | ||
| + | |||
| + | unsigned long delayTime; | ||
| + | |||
| + | void setup() { | ||
| + | Serial.begin(9600); | ||
| + | Serial.println(F(" | ||
| + | |||
| + | bool status; | ||
| + | |||
| + | // default settings | ||
| + | // (you can also pass in a Wire library object like & | ||
| + | status = bme.begin(); | ||
| + | if (!status) { | ||
| + | Serial.println(" | ||
| + | while (1); | ||
| + | } | ||
| + | |||
| + | Serial.println(" | ||
| + | delayTime = 1000; | ||
| + | |||
| + | Serial.println(); | ||
| + | } | ||
| + | |||
| + | |||
| + | void loop() { | ||
| + | printValues(); | ||
| + | delay(delayTime); | ||
| + | } | ||
| + | |||
| + | |||
| + | void printValues() { | ||
| + | Serial.print(" | ||
| + | Serial.print(bme.readTemperature()); | ||
| + | Serial.println(" | ||
| + | |||
| + | Serial.print(" | ||
| + | Serial.print(bme.readPressure() / 100.0F); | ||
| + | Serial.println(" | ||
| + | |||
| + | Serial.print(" | ||
| + | Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); | ||
| + | Serial.println(" | ||
| + | |||
| + | Serial.print(" | ||
| + | Serial.print(bme.readHumidity()); | ||
| + | Serial.println(" | ||
| + | |||
| + | Serial.println(); | ||
| + | } | ||
| + | </ | ||
| + | Der Kern dieses Codeblocks liegt in den Zeilen | ||
| + | < | ||
| + | Adafruit_BME280 bme; // I2C | ||
| + | status = bme.begin(); | ||
| + | </ | ||
| + | mit der ersten Zeile wird eine Variable " | ||
| + | In der zweiten Zeile wird dann dann die Funktion " | ||
| + | Letztendlich sehr wichtig sind die Funktionen | ||
| + | < | ||
| + | bme.readHumidity() | ||
| + | bme.readTemperature() | ||
| + | </ | ||
| + | Diese Funktionen machen im Hintergrund alles nötige, um die Daten, die der BME/BMP280 Sensor misst, als einfache Zahl in den Arduino zu bekommen. In dem konkreten Fall sind das die Werte der Luftfeuchtigkeit in Prozent und die Temperatur in °C. | ||
| + | ==== Tauchpumpe ==== | ||
| + | {{: | ||
| ==== LED-Streifen für Pflanzen ==== | ==== LED-Streifen für Pflanzen ==== | ||
| ==== Quellen ==== | ==== Quellen ==== | ||
| | | ||