arduino:bewaesserungsautomat
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
arduino:bewaesserungsautomat [18.06.2016 11:22] – [Pin-Belegung am Arduino Due] 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, | + | {{ : |
- | <box 100% round red|**Achtung!**> | ||
- | Strom: | + | Spannungsversorgung für den Arduino: |
* GND: über den Pololu 9V Step-Up/ | * GND: über den Pololu 9V Step-Up/ | ||
* Vin: 9 Volt über den Pololu 9V Step-Up/ | * Vin: 9 Volt über den Pololu 9V Step-Up/ | ||
- | Müssen vom Proto-Board | + | **ACHTUNG: |
- | * NeoPixel-Ring 1 | + | |
- | * BeoPixel-Ring 2 | + | Spannungsversorgung der Neo-Pixel-Ringe und des TSL2591: |
- | * TSL2591 | + | * GND: vom Stromverteilerboard |
+ | * 5V: vom Stromverteilerboard | ||
+ | |||
+ | **ACHTUNG!** Das sind die Kabel mit 0,5 qmm Querschnitt! | ||
Analoge Eingänge | Analoge Eingänge | ||
Zeile 147: | Zeile 150: | ||
* Pin 28: DHT22 (grün) | * Pin 28: DHT22 (grün) | ||
- | PWMAusgänge: | + | PWM-Ausgänge: |
* Pin 11: Pumpe 1 (direkt) (blau) | * Pin 11: Pumpe 1 (direkt) (blau) | ||
* Pin 10: Pumpe 2 (direkt) (grün) | * Pin 10: Pumpe 2 (direkt) (grün) | ||
Zeile 172: | 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 180: | Zeile 183: | ||
* [[bewaesserungsautomat: | * [[bewaesserungsautomat: | ||
* [[bewaesserungsautomat: | * [[bewaesserungsautomat: | ||
+ | * [[bewaesserungsautomat: | ||
- | Tags: #3D-Druck | + | {{tag>3D-Druck Arduino Bewässerungsautomat Elektronik}} |
arduino/bewaesserungsautomat.1466241779.txt.gz · Zuletzt geändert: 18.05.2023 09:06 (Externe Bearbeitung)