arduino:bewaesserungsautomat
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
arduino:bewaesserungsautomat [18.06.2016 11:14] – [Ansteuerung der Motoren mit MOSFETs] Frickelpiet | arduino:bewaesserungsautomat [18.05.2023 12:15] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Arduino Bewässerungsautomat ====== | ====== Arduino Bewässerungsautomat ====== | ||
- | {{: | + | Mein [[arduino: |
+ | <box 75% round red|**Achtung**> | ||
- | <box 100% round red|**Achtung!**> | + | Aufgabenstellung |
- | + | ||
- | Aufgabenstellung | + | |
* Es sollen die Wasserstände in vier Blumenkästen und einem Vorratsbehälter erfasst werden. | * Es sollen die Wasserstände in vier Blumenkästen und einem Vorratsbehälter erfasst werden. | ||
* Bei niedrigem Wasserstand in einem Blumenkasten soll automatisch Wasser aus dem Vorratsbehälter nachgefüllt werden. | * Bei niedrigem Wasserstand in einem Blumenkasten soll automatisch Wasser aus dem Vorratsbehälter nachgefüllt werden. | ||
Zeile 13: | Zeile 12: | ||
* Der ganze Aparillo muss ein paar Sommer im Freien überstehen können. | * Der ganze Aparillo muss ein paar Sommer im Freien überstehen können. | ||
- | Aufgabenstellung | + | Aufgabenstellung |
* Der Bewässerungsautomat soll über ein LC-Display und Taster über Bluetooth konfigurierbar sein. (Zum Beispiel wäre es nützlich, wenn man einzelne Sensoren ausschalten könnte. | * Der Bewässerungsautomat soll über ein LC-Display und Taster über Bluetooth konfigurierbar sein. (Zum Beispiel wäre es nützlich, wenn man einzelne Sensoren ausschalten könnte. | ||
- | Komponenten: | + | Verwendete |
- | * [[arduino: | + | * [[arduino: |
* [[http:// | * [[http:// | ||
- | * 4 x unipolare Hallschalter (PIC H501) | + | * unipolare Hallschalter (PIC H501) |
- | * 4 x Zahnradpumpen (6 Volt) | + | * Zahnradpumpen (6 Volt) |
* Pololu 9V Step-Up/ | * Pololu 9V Step-Up/ | ||
- | * 4 x Adafruit NeoPixel Mini PCB | + | * Temperatur- und Feuchtigkeitssensor DHT22 |
- | * 1 x Adafruit NeoPixel Ring - 12 x 5050 RGBW | + | * [[https:// |
- | * 1 x Adafruit NeoPixel Ring - 24 x 5050 RGBW | + | * Adafruit NeoPixel Mini PCB |
- | * 1 x [[https:// | + | * Adafruit NeoPixel Ring - 12 x 5050 RGBW |
- | * 1 x Bluefruit EZ-Link - Bluetooth Serial Link & Arduino Programmer | + | * Adafruit NeoPixel Ring - 24 x 5050 RGBW |
+ | * [[https:// | ||
+ | * Bluefruit EZ-Link - Bluetooth Serial Link & Arduino Programmer | ||
===== Mechanischer Aufbau ===== | ===== Mechanischer Aufbau ===== | ||
==== Gehäuse der Steuerungseinheit ==== | ==== Gehäuse der Steuerungseinheit ==== | ||
Zeile 80: | Zeile 81: | ||
===== Elektrischer Aufbau ===== | ===== Elektrischer Aufbau ===== | ||
==== Spannungsversorgung ==== | ==== Spannungsversorgung ==== | ||
- | Die Stromversorgung erfolgt durch eine Niedervolt-Buchse (5,5 mm Außen- und 2,5 mm Innendurchmesser; | + | Die Stromversorgung erfolgt durch eine Niedervolt-Buchse (5,5 mm Außen- und 2,5 mm Innendurchmesser; |
In der Sektion I des Gehäuses ist außerdem eine Stromverteilerplatine untergebracht. Stromverteilerplatinen erleichtern die Verkabelung erheblich, da keine Kabelpeitsche gelötet werden muss. Außerdem können bei Bedarf weitere Verbraucher angeschlossen werden. | In der Sektion I des Gehäuses ist außerdem eine Stromverteilerplatine untergebracht. Stromverteilerplatinen erleichtern die Verkabelung erheblich, da keine Kabelpeitsche gelötet werden muss. Außerdem können bei Bedarf weitere Verbraucher angeschlossen werden. | ||
- | Um die Neopixel vor Spannungsspitzen zu schützen (siehe dazu: https:// | + | Um die Neopixel vor Spannungsspitzen zu schützen (siehe dazu: https:// |
- | ==== Ansteuerung der Motoren | + | ==== Ansteuerung der Pumpen |
- | Geschaltet werden die Pumpen mit einem FQP30N06L, der über einen Widerstand mit 470 Ohm an dem PWM-Ausgang des Arduinos angeschlossen ist. An den Pumpen | + | {{: |
==== Hallschalter ==== | ==== Hallschalter ==== | ||
{{: | {{: | ||
==== DHT22 ==== | ==== DHT22 ==== | ||
- | Um über eine erhöhte Feuchtigkeit im Gehäuse gewarnt zu werden, ist ein DHT22 in der Gehäusesektion I verbaut. Der Sensor kann direkt an einen digitalen Eingang angeschlossen werden, es muss aber der interne Pullup-Widerstand (INPUT_PULLUP) aktiviert werden. | + | {{: |
==== TSL2591 ==== | ==== TSL2591 ==== | ||
Zeile 110: | Zeile 111: | ||
==== eTape Liquid Level Sensor ==== | ==== eTape Liquid Level Sensor ==== | ||
- | Der Mess- und der Referenzwiederstand werden über einen Spannungsteiler an den analogen Eingängen A0 und A1 angeschlossen. Die Wiederstände für die Spannungsteiler müssen jeweils 1500 Ohn haben. | + | Der Mess- und der Referenzwiederstand werden über einen Spannungsteiler an den analogen Eingängen A0 und A1 angeschlossen. Die Wiederstände für die Spannungsteiler müssen jeweils 1500 Ohm haben. |
==== Neopixel ==== | ==== Neopixel ==== | ||
Zeile 117: | Zeile 118: | ||
===== Pin-Belegung am Arduino Due ===== | ===== Pin-Belegung am Arduino Due ===== | ||
- | Im Folgenden ist die Pin-Belegung am Arduino dokumentiert. Um Verwechselungen vorzubeugen, | + | {{ : |
+ | |||
+ | |||
+ | Spannungsversorgung für den Arduino: | ||
+ | * GND: über den Pololu 9V Step-Up/ | ||
+ | * Vin: 9 Volt über den Pololu 9V Step-Up/ | ||
- | <box 100% round red|**Achtung!**>Bezieht sich momentan noch auf Programmversion 0.3! Ab Version 0.4 werden | + | **ACHTUNG:** Das sind die Kabel mit 0,35 qmm Querschnitt! |
- | Strom: | + | Spannungsversorgung der Neo-Pixel-Ringe und des TSL2591: |
- | * GND: Masse von Stromverteilerplatine | + | * GND: vom Stromverteilerboard |
- | * Vin: 5 Volt von Stromverteilerplatine | + | * 5V: vom Stromverteilerboard |
- | Müssen vom Proto-Board mit Strom versorgt werden: | + | **ACHTUNG!** Das sind die Kabel mit 0,5 qmm Querschnitt! |
- | | + | |
- | | + | |
- | | + | |
Analoge Eingänge | Analoge Eingänge | ||
Zeile 135: | Zeile 138: | ||
Digitale Eingänge: | Digitale Eingänge: | ||
- | * Pin 26: Hall-Schalter 1 (direkt) (blau) | + | * Pin 35: Hall-Schalter 1 (direkt) (blau) |
- | * Pin 28: Hall-Schalter 2 (direkt) (blau) | + | * Pin 33: Hall-Schalter 2 (direkt) (blau) |
- | * Pin 30: Hall-Schalter 3 (direkt) (blau) | + | * Pin 31: Hall-Schalter 3 (direkt) (blau) |
- | * Pin 32: Hall-Schalter 4 (direkt) (blau) | + | * Pin 29: Hall-Schalter 4 (direkt) (blau) |
- | * Pin 46: Masse Blumenkastensensor 1 (direkt) (grün) | + | * Pin 47: Masse Blumenkastensensor 1 (direkt) (grün) |
- | * Pin 48: Masse Blumenkastensensor 2 (direkt) (grün) | + | * Pin 49: Masse Blumenkastensensor 2 (direkt) (grün) |
- | * Pin 50: Masse Blumenkastensensor 3 (direkt) (grün) | + | * Pin 51: Masse Blumenkastensensor 3 (direkt) (grün) |
- | * Pin 52: Masse Blumenkastensensor 4 (direkt) (grün) | + | * Pin 53: Masse Blumenkastensensor 4 (direkt) (grün) |
- | * Pin 39: DHT22 (grün) | + | * Pin 28: DHT22 (grün) |
- | Digitale | + | PWM-Ausgänge: |
- | * Pin 36: Relais | + | * Pin 11: Pumpe 1 (direkt) (blau) |
- | * Pin 38: Realis | + | * Pin 10: Pumpe 2 (direkt) (grün) |
- | * Pin 40: Relais | + | * Pin 9: Pumpe 3 (direkt) (blau) |
- | * Pin 42: Relais | + | * Pin 8: Pumpe 4 (direkt) (grün) |
NeoPixel: | NeoPixel: | ||
- | * Pin 12: Blumenkastensensor 1 über 470 Ohm (gelb) | + | * Pin 36: Blumenkastensensor 1 über 470 Ohm (gelb) |
- | * Pin 11: Blumenkastensensor 2 über 470 Ohm (gelb) | + | * Pin 38: Blumenkastensensor 2 über 470 Ohm (gelb) |
- | * Pin 10: Blumenkastensensor 3 über 470 Ohm (gelb) | + | * Pin 40: Blumenkastensensor 3 über 470 Ohm (gelb) |
- | * Pin 9: Blumenkastensensor 4 über 470 Ohm (gelb) | + | * Pin 42: Blumenkastensensor 4 über 470 Ohm (gelb) |
- | * Pin 8: Wasserstandssensor über 470 Ohm (gelb) | + | * Pin 44: Wasserstandssensor über 470 Ohm (gelb) |
- | * Pin 7: Neopixelring 1 über 470 Ohm (gelb) | + | * Pin 48: Neopixelring 1 über 470 Ohm (gelb) |
- | * Pin 6: Neopixelring 2 über 470 Ohm (gelb) | + | * Pin 50: Neopixelring 2 über 470 Ohm (gelb) |
- | * Pin 5: Ersatz über 330 Ohm | + | |
I2C-Bus: | I2C-Bus: | ||
- | * SDA (20): | + | * SDA (20): TSL2591 (SDA) |
- | * SCL (21): | + | * SCL (21): TSL2591 (SCL) |
Zeile 173: | Zeile 175: | ||
Ein Programm zu erstellen, das die Hallschalter überwacht und bei Bedarf die entsprechende Pumpe aktiviert ist ziemlich einfach ([[Bewässerungsautomat: | Ein Programm zu erstellen, das die Hallschalter überwacht und bei Bedarf die entsprechende Pumpe aktiviert ist ziemlich einfach ([[Bewässerungsautomat: | ||
- | In Programmversion 0.4 wurde die Steuerung der Pumpen auf PWM umgestellt. In Programmversion 0.5 soll der Code so umgeschrieben werden, dass die NeoPixel nicht bloß ein- und ausgeschaltet werden können, sondern die Helligkeit pulsiert werden kann. Dafür ist es nötig, auf den Befehl delay() zu verzichten und stattdessen den Befehl millis() zu verwenden ([[bewaesserungsautomat: | + | In Programmversion 0.4 wurde die Steuerung der Pumpen auf PWM umgestellt. In Programmversion 0.5 soll der Code so umgeschrieben werden, dass die NeoPixel nicht bloß ein- und ausgeschaltet werden können, sondern die Helligkeit pulsiert werden kann. Dafür ist es nötig, auf den Befehl delay() zu verzichten und stattdessen den Befehl millis() zu verwenden ([[bewaesserungsautomat: |
Liste der Programmversionen: | Liste der Programmversionen: | ||
Zeile 181: | Zeile 183: | ||
* [[bewaesserungsautomat: | * [[bewaesserungsautomat: | ||
* [[bewaesserungsautomat: | * [[bewaesserungsautomat: | ||
+ | * [[bewaesserungsautomat: | ||
- | Tags: #3D-Druck | + | {{tag>3D-Druck Arduino Bewässerungsautomat Elektronik}} |
arduino/bewaesserungsautomat.1466241247.txt.gz · Zuletzt geändert: 18.05.2023 09:06 (Externe Bearbeitung)