Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
ws2021:kabelsalat [2021/04/30 13:58] – [Relais Modul] j-h-f | ws2021:kabelsalat [2021/04/30 16:08] – [ESP01-S] j-h-f | ||
---|---|---|---|
Zeile 46: | Zeile 46: | ||
===== 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 61: | ||
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 ===== | ||
+ | {{ : | ||
Das Relais-Modul wird benötigt, damit der Arduino Höhere Spannungen und Höhere Ströme mit einem sehr kleinen Steuerungssignal steuern kann. | Das Relais-Modul wird benötigt, damit der Arduino Höhere Spannungen und Höhere Ströme mit einem sehr kleinen Steuerungssignal steuern kann. | ||
Wenn beispielsweise eine Handelsübliche LED-Glühlampe mit einer GU4-Fassung steuern möchte, fällt auf, dass die LED eine Spanung von 12 Volt braucht. Der Arduino hingegen hat aber nur eine Ausgangsspannung von 5V an den GPIO Pins und einen Ausgangsstrom von maximal 40mA (wobei max. 20mA empfohlen sind). Das reicht nicht aus, um die LED, oder Andere Geräte zu steuern, die entweder eine höhere Spannung oder eien größeren Strom brauchen zu betreiben. | Wenn beispielsweise eine Handelsübliche LED-Glühlampe mit einer GU4-Fassung steuern möchte, fällt auf, dass die LED eine Spanung von 12 Volt braucht. Der Arduino hingegen hat aber nur eine Ausgangsspannung von 5V an den GPIO Pins und einen Ausgangsstrom von maximal 40mA (wobei max. 20mA empfohlen sind). Das reicht nicht aus, um die LED, oder Andere Geräte zu steuern, die entweder eine höhere Spannung oder eien größeren Strom brauchen zu betreiben. | ||
Zeile 124: | Zeile 123: | ||
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 ==== | ||
| |