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 13:59] – [Relais Modul] 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 125: | Zeile 131: | ||
Anschließend wird in der Loop Funktion, die ja immer und immer wieder ausgeführt wird, der Input Pin alle 2,5 Sekunden auf " | Anschließend wird in der Loop Funktion, die ja immer und immer wieder ausgeführt wird, der Input Pin alle 2,5 Sekunden auf " | ||
- | ==== 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 ==== | ||
| |