Projekt - Haussteuerung - Bitte um Hilfe

Hallo Arduino Gemeinde,

(einfache) Hausautomation

ich nenne einen Uno mein Eigen seit dem Wochenende. Ich bin darauf mehr durch Zufall gekommen als ich nach einer Möglichkeit suchte Lampen via taster zu Steuern. Ich wollte aber kein Stromstossrelai verwenden sondern selber etwas bauen.
NA ja und so wurde aus einer 3,5 Euro Idee dann 160$ für das Starterkid - Eine investition die sich gelohn hat - Ich bin begeistert.

Nach dem ich mich etwas in den Arduino Uno und die Programierung eingearbeitet habe liefen dann auch einen Tag spätter die ersten LED´s auf dem Steckbrett, getriggert (getoggelt) durch taster - sehr geil - :slight_smile: (was für kleine Dinge doch Freude machen können)

Als nächstes wollte ich nun die beschalteten Ausgänge auch in der “Realität” für etwas praktishe nutzen. Kurzum habe ich mir eine Relaikarte gebaut. Nicht sonderlich professionell, aber ich bin auch nur ein Hobbybastler der alle paar Jahre gerne mal den Lötkolben schwingt. (Die Option eine zu bestellen dauerte mir m ersten Schritt zu lange).

Vieleicht ja auch für andere interessant:

Primär ± 5V vom Arduine / ± 12V Steuerspannung Relais / 8 mal +5V Schaltspannung von den Digitalausgängen.
Die Ausgänge (sprich die Eingänge am Bord) liefern die 5V um je eine LED und einen Optokoppler an zu feuern.
darüber hinaus noch ein Taster mit dem ich jeden Ingang auch manuell trigger kann.

Sekundärseitig triggert der Optokopler eine BC548 und last somit den 12V freien lauf auf das Relai und eine weitere LED.
Mit den LED (prim/sec) möchte ich direct und einfach fehler erkennen können falls ein Bauteil versagt. (nenne wir es Spielerei).
Des weiteren gibt es noch einen Hauptschalter der die 12V Steuerspannung abschalten so das ich gleichzeitig alle Relais vom Netz nehmen kann (z.B. neue Software testen) jedoch die eingänge via LED beobachten kann.

Man möge mir den "miss brauchten" Opto auf Kanal 8 verzeihen doch leider waren 13 der 20 gekauften BC120 defekt. Beim ersten dachte ich noch ich habe den beim Einlöten "verbraten" - daher auch im weiteren gesockelt, doch dem war leider nicht so. Na ja und so muss bis zum nächsten Einkauf halt der aus dem Starterset herr halten.

Ich habe das ganze einem Test unterzogen um sicher zu sein das auch im dauerbetrieb das ganze funktioniert. Via kleinem Sketch habe ich folgende 2 Durchläufe auf einem Kanal gemacht. 1 Durchlauf - 2.000 mal Relai an - 500ms delay - Relai aus - 500ms delay. Durchlauf 2 - über 10 Stunden - Relai 1 Stunde an - Relai aus für 10 sec. - Relai wieder an für 1 St. Das ganze über 10 Stunden. Beide durchläufe funktionierten einwandfrei.

Falls es jemanden interessiert kann ich gerne mal den Schaltplan zum nachbauen skizzieren. (ohne gewähr auf Richtigkeit der verwendeten Bauteile - Bastler eben)

Nun zum Projekt.

Was ich bisher immer über diskrete Schaltungen erledigte (z.B. Zeitsteuerung via NE555) wird mit dem Arduino auf einmal
zum Kinderspiel. Ja es ist für mich fast so als ob ich bisher nur "krabbeln" konnte und nun die fastzinierende Welt des "laufens" entdecke. Somit kam die Idee auf das ich einiege Aufgaben im Haus eben über einen solchen Mikrokontroler steuern möchte.

Um es überschaubar zu halten beschränke ich mich erstmal NUR(!) auf die Beleuchtung des Hauses, des Gartens und des Grundstückes.

Im Haus möchte ich ca. 30 Lichtquellen via Taster (alternative Schalte) steuern.(Normalbetrieb) - Dazu Vollabschaltung aller Lichtquellen via 2-3 Zentraltaster (Nachtbetrieb) Im Aussenbereich warden es wohl auch 20-30 Kanäle warden.

Nun meine Fragen:

  1. Da ich ja sehr viele Kanäle benötiege frage ich mich wie ich es am besten realisiere. Würdet Ihr mir hier 2 A. Mega empfehlen die man (irgendwie / Ethernet) verbindet damit ich genügend Kanäle habe, oder gibt es andere Wege ?

1.1. Ich habe den Begriff "1 wire" aufgeschnappt, bedeutet das, das ich mit nur einem Kanal mehrere Taster abfragen kann ? Ist da dann jeder Taster codiert (muss wohl) und wenn ja wie kann ich das am meine Lichttaster anschließen ? (Chip für jeden taster ? wenn ja wonach muss ich suchen)

  1. Eine Idee ist es an Stele von Tastern normale 1mal um Lichtschalter zu verwenden. (Hat was damit zu tun das ich ggf. sonst sämmtliche UP dosen ausbauen/neubauen muss - wenn ich (Haus ist in Asien) dort deutsche Taster einbauen möchte. Dort ist es sehr schwer Lichttaster zu bekommen. Alternativ kann ich mir natürlich auch Taster in irgendwelche Blenden bauen aber am liebsten ware es mir die normalen Lichtschalter zu benutzen.
    Hat jemand eine Idee, wie ich es hin bekommen (programmtechnisch) meinem Arduino folgendes bei zu bringen :

a) Normalbetrieb - Digital in (z.B. 10) wird über Schalter (1mal um) LOW und HIGH gesetzt -> Digital out (z.B.15) schaltet.
b) Nachtbetrieb - TASTER (und hier wird es einer) sendet setzt Digital in (z.B. 20) auf HIGH -> schreibt variable a=1
bis hierhin noch einfach - Dig Out 15 setzte ich auf LOW und solange a=1 bleibt es auch so.
Nun möchte ich folgendes erreichen : Wenn ich am nächsten Tag den SCHALTER (Dig in 10) ausschlate und danach wieder einschalte soll Digital out(15) wieder duchschalten.

In anderen Worten mit dem Taster Nachts soll alles ausgeschaltet werden und am Tage sollen die Schalter wieder zu normalen function zurück kehren, selbst wenn nicht zuvor nicht abgeschaltet. ( Ich hoffe Ihr versteht mich)

Ich würde mich sehr über Hilfe freuen z.B. (bezogen auf 1) über den "richtigen" weg (Links /Anregunge/ Schlagworte) / zu 2 ggf.
über ein paar programmzeilen die ich mir dann zurechtfummel um sie zu verstehen.

Schöne Grüße,
Tom

Hallo,

1 Wire ist ein Bussystem welches mit einer Leitung arbeitet. Viele Bastler kommen wohl damit erst mit einem Dallas DS1820 Temperatursensor in Berühung. Schalter kann man damit nicht abfragen. Die angeschlossenen Geräte am Bus müssen auch alle eindeutige Adressen haben, wie beim I2C Bus auch.

Für mehr Kanäle empfehlen sich Porterweiterungen ICs. Im einfachsten Fall einen PCF8547. Hat 8 "Anschlüsse". Der ist zwar billig, man kann aber nur alles entweder als Ausgang oder alles als Eingang nutzen. Gemischt geht nicht. Von diesem I2C Baustein können 8 Stück genutzt werden. Mehr läßt die Adressierung des Baustein nicht zu. Man kann aber noch andere Porterweiterungen verwenden solange keine Adresse doppelt vergeben wird. Es sollen wohl bis zu 112 I2C Bausteine möglich sein. Wie gesagt, die Adressen müssen alle verschiedenen sein, dass wäre die schwierigste Aufgabe.

Ein MCP23017 wäre was besseres. Hat 16 Ausgänge / Eingänge die mischbar sind. Weil er ein Datenrichtungsregister hat. Wie beim Arduino wäre jeder Pin frei wählbar. Davon können auch 8 verwendet werden am Bus. Hätte man schon 128 Anschlüsse zusätzlich.

@ Doc_Arduino
Jedes Pin des PCF8574 (74 nicht 47) kann sehr wohl unabhängig von den anderen als Eingang oder Ausgang verwendet werden.

http://www.nxp.com/documents/data_sheet/PCF8574.pdf:
7.3 Quasi-bidirectional I/Os
A quasi-bidirectional I/O can be used as an input or output without the use of a control signal for data direction
(see Fig.15). At power-on the I/Os are HIGH. In this mode only a current source to VDD is active. An additional strong
pull-up to VDD allows fast rising edges into heavily loaded outputs. These devices turn on when an output is written
HIGH, and are switched off by the negative edge of SCL.The I/Os should be HIGH before being used as inputs.

Da es 2 Modell mit verschiedenen Basisadressen gibt (PCF8574 und PCF8574A) können 16 ICs am I2C bus verwendet werden.
Da der I2C Bus aber keine großen Distanzen erlaubt ist eine Verteilund der PCF8574 im Haus nicht möglich.

@Tom30
Den Aufbau der Leistungsplatine mit LEG12 Relais ( http://www.tme.eu/de/details/leg-12/elektromagnetische-mini-relais/rayex-electronic/) auf Lochrasterplatine finde ich nicht für 230AC oder 240V AC geeignet. Die minimalen Sicherheitsabstände für Kriechstrecken sind nicht eingehalten. Außerdem haben diese Relais den Comon-Anschluß zwischen den Spulenkontakten was eine gute Trennung zwischen 12V und 230/240V Teil schwer möglich macht.

Es ist kein Problem die Schalter umzudefinieren.
Wenn Du den Alles-Aus Taster/Schalter Drückst wird einfach der Status quo der Schalter als "Aus" gespeichert und alle Ausgänge ausgeschaltet. Dazu braucht es nur eine Variable und Zum Ein/Ausschalten in Tagesbetrieb mußt Du nur kontrollieren ob der Schalterzustand gleich oder verschieden der Variable ist anstatt HIGH oder LOW.

Grüße Uwe

uwefed:
@ Doc_Arduino
Jedes Pin des PCF8574 (74 nicht 47) kann sehr wohl unabhängig von den anderen als Eingang oder Ausgang verwendet werden.

Hallo,

eben gerade nicht, Uwe. Entweder sind alles Ausgänge oder Eingänge. Das quasi-bidirektional sagt schon der Name das hier was faul ist. :wink: Das Ding hat kein Datenrichtungsregister. Durch eigene Erfahrung und nachfragen im Forum darf ich das behaupten. http://forum.arduino.cc/index.php?topic=231847

Noch etwas genauer. Man kann nur den Port komplett beschreiben, dann sind es Ausgänge oder man liest den Port komplett ein, dann sind alles Eingänge. Mehr ist wirklich nicht möglich mit dem PCF8574.

[EDIT]Link auf Topic ausgebessert Grüße Uwe [/EDIT]

Hallo,
"Mit den LED (prim/sec) möchte ich direct und einfach fehler erkennen können
falls ein Bauteil versagt."

Du hast also einen Kontakt des Relais geopfert, um zu sehen das es angezogen
hat? Du überprüfst hier also tatsächlich die Funktion des Bauteil- und NICHT-
ob nur SteuerSpannung anliegt?
Gruß und Spaß
Andreas

Doc_Arduino:

uwefed:
@ Doc_Arduino
Jedes Pin des PCF8574 (74 nicht 47) kann sehr wohl unabhängig von den anderen als Eingang oder Ausgang verwendet werden.

Hallo,

eben gerade nicht, Uwe. Entweder sind alles Ausgänge oder Eingänge. Das quasi-bidirektional sagt schon der Name das hier was faul ist. :wink: Das Ding hat kein Datenrichtungsregister. Durch eigene Erfahrung und nachfragen im Forum darf ich das behaupten. http://forum.arduino.cc/index.php?PHPSESSID=pe0b6vvee2basegidhgg5ec2b0&topic=231847.0

Noch etwas genauer. Man kann nur den Port komplett beschreiben, dann sind es Ausgänge oder man liest den Port komplett ein, dann sind alles Eingänge. Mehr ist wirklich nicht möglich mit dem PCF8574.

Mein Englisch ist nicht das beste aber

The I/Os should be HIGH before being used as inputs.

heißt das nicht daß Pins die High geschaltet wurden als Eingänge genutzt werden können?

Grüße Uwe

Es gibt mehrere Datenblätter: TI von 2001 und kontrolliert 2008, Philips vom 2.4.97, vom 22.1..2002 und das beste von 27.5.2013:
http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf
Seite 6 und 7

The I/O ports are entirely independent of each other, but each I/O octal is controlled by the same read or write data byte

Die Pins sind unabhängig voneinander und können unabhängig voneinander als Eingang oder Ausgang verwendet werden. Besonderheiten.
Das HIGH Signal am Ausgang kann nur 100µA gegen Masse geben mit Ausnahme der ersten positiven Halbwelle des SCL Signals. Während dieser Zeit ist ein PullupTransistor aktiv der den Ausgang mit größerem Strom auf HIGH zieht (in fig 7. als Accelerator PullUp bezeichent)
Dies ermöglicht auch das Pin als Eingang zu benutzen da die 100µA Stromquelle als Pullup-Widerstand fungiert und zb bei offenen Taster ( gegen Masse) oder H-Signal von einem Ausgang HIGH liest.

Grüße Uwe

Hallo,

“The I/Os should be HIGH before being used as inputs.”
Die I/Os sollen erst auf HIGH gesetzt werden, dann sind sie als Eingänge nutzbar.

Damit kann ich aber auch nichts anfangen. Wenn es kein Datenrichtungsregister zum sauberen konfigurieren gibt wird das am laufenden Band umkonfiguriert. ???

“The I/O ports are entirely independent of each other, but each I/O octal is controlled by the same read or write data byte”
Die I/O Ports sind völlig unabhängig voneinander, aber alle 8 I/Os werden von einem gemeinsamen red/write data byte kontrolliert.

Laut Datenblatt soll es demnach also doch möglich sein. Okay. Wenn ich dann aber auf Seite 7 weiterlese, komme ich aber wieder nicht mit. Auf Seite 13 gibts dann noch eine Beschreibung, aber auch die verstehe ich nicht. Man liest und schreibt immer ein und das selbe Register. Und doch soll man damit alle 4 Zustände der I/Os abdecken können. Tut mir leid, da bin ich raus. :astonished: Rein von meiner Logik her kann das eigentlich gar nicht funktionieren. Sonst würde man sich in allen µC auch die Datenrichtungsregister sparen. Irgendwie komme ich da wirklich nicht mit wie man das vorallendingen praktikabel nutzen soll. Wenn man Pech hat ändert man die Datenrichtung in der Annahme man ändert seinen Port I/O.

Naja, irgendwie soll es wohl funktionieren. Ich weis nicht wie. Ich hab das Teil seit damals wieder in die Bastelkiste verschwinden lassen.

.

Du hast also einen Kontakt des Relais geopfert, um zu sehen das es angezogen
hat? Du überprüfst hier also tatsächlich die Funktion des Bauteil- und NICHT-
ob nur SteuerSpannung anliegt?
Gruß und Spaß
Andreas

@ Andreas,
Nein die LED hängt mit and der 12V Leitung für die Spule

Ein MCP23017 wäre was besseres. Hat 16 Ausgänge / Eingänge die mischbar sind. Weil er ein Datenrichtungsregister hat. Wie beim Arduino wäre jeder Pin frei wählbar. Davon können auch 8 verwendet werden am Bus. Hätte man schon 128 Anschlüsse zusätzlich.

@ Doc-Arduino und uwefed,
erstmal vielen Dank für die infos und den Überblick zur 1 Wire Technik.

Bezüglich der Kanäle würde ich dann wohl auf das MCP23017 o.Ä. zurück greifen. Habe mich gestern zu beiden Bausteinen etwas eingelesen. Wenn auch an vielen Stellen noch sehr schleierhaft für mich (was die Ansteuerung angeht/genauer wie ich dann später die gelesen / zu schreibenen Adressen so interpretieren lasse das mit den 7 Bit mein Sketch auch was anfangen kann - aber dazu frage ich später - bin noch bei der Grundlagenermittlung).

Mit 128 Kanälen ware das geradezu ideal für den Anfang für meine Lichttechnik. Obgleich ich gerne löte wäre eine Kaufplatiene natürlich ideal. Sonst löte ich mir da nen Wolf bei 8 Platinen auf Lochraster.

Keine Ahnung ob es sowas gibt mit einem MCP23017 und 16 Kanälen für die Schraubklemmen. Idealerweise noch mit Befestiegungslöchern und Schraubklemmen für (wie Bild) Relais + (nicht wie Bild) I/O, Spannung, BUS

Falls da einer eine Idee / Bezugsquelle habt ......... würd ich mich freuen.

EDIT:
Ich habe gerade noch dieses hier gefunden (64 Port IO Card

Mir ist nur leider nicht klar ob ich 2 Karten parallel betreiben kann ? Oder gibt es das gar mit 128 Kanälen ? Wäre ja kaum zum aushalten :wink:

Zu dem I2C-Bus (bis gestern kannte ich das noch nicht mal) eine FRAGE :
Ich habe wiedersprüchliches über die Leitungslänge gelesen. Es wäre interessant zu wissen ob ich zumindest für 1 Schield einen Uplink mit ca. 30-40 Meter hin bekommen ?

@Tom30
Den Aufbau der Leistungsplatine mit LEG12 Relais ( http://www.tme.eu/de/details/leg-12/elektromagnetische-mini-relais/rayex-electronic/) auf Lochrasterplatine finde ich nicht für 230AC oder 240V AC geeignet. Die minimalen Sicherheitsabstände für Kriechstrecken sind nicht eingehalten. Außerdem haben diese Relais den Comon-Anschluß zwischen den Spulenkontakten was eine gute Trennung zwischen 12V und 230/240V Teil schwer möglich macht.

@ Doc_Arduino,

danke für den sehr guten Hinweis. Habe ich so nicht bedacht (Unkenntniss), aber die Platine ist nur für experimentelle zwecke gedacht. Ich wollte am Anfang einfach nicht zig hundert Euros investieren ohne zu wissen ob ich das Projekt überhaupt stemmen kann. Ich bin Architekt und was ich über Elektronik / Elektrik / Software weiß ist nur Halbwissen was auf Interesse beruht. Man möge mir daher den ein oder anderen Fehler verzeihen.

Final möchte ich das ganze gerne nahe den Regeln der VDE (ggf. etwas weiter) aufbauen. Sprich die Relais auf DIN-Schine mit Halterung. Kabel mit Nummern versehen etc. Fazit ihr werdet sicher bei der ein oder anderen Idee/Frage schmunzeln wenn ich mal wieder ins Fettnäpchen trete diesbezüglich. Das bringt euch ein Lachen und mir ggf. die Info wie man es besser/richtig macht. Aber selbstironie ist ja auch eine Tugend. :slight_smile:

Tom

P.S. über eine Antwort zur Bezugsquelle für (idealerweise 128) 16 Kanal Platinen / Kabellänge I2c Bus ware ich dankbar.

SKETCH:

Auch hier bin ich weiter gekommen. In Anlehnung der Antwort zum Überschreiben meiner Schalter mit Alles-Aus Taster habe ich folgende Lösung entwickelt (nach meinem derzeitigen Kenntnisstand nach 4 Tagen C zusammengebraten).

Ich würde gerne erst verstehen wie ich die Schritte mehr zusammenfassen kann befor ich anfange mich tiefer in die Porterweiterungen ein zu arbeiten. Denn wenn ich mir vorstelle ich programiere das auf die gleiche weise wie jetzt meine 8 Kanäle dann bin ich vermutlich Ostern in einem Jahr noch am programieren.

Wo kann ich ansetzen bei vereinfachungen ? Operationen die ich in 10 Zeilen Schreibe irgendwie mit 2 oder 3 zu erschlagen ?

Sketch im Anhang.

However, es funktioniert auch so (freuuuu) aber wie mache ich es Eleganter ?

House_lightRev0_53_with_delay_controled.ino (10.9 KB)

Was die Shields angeht, hier ein unschlagbares Angebot:

Kannst mehrere übereinander stecken.

Die von dir verlinkten kosten zwar 24$ aber Versandkosten?
Die von Wulfi kosten bei 20€ inkl Versand.
Da fällt mir wieder ein, ich muss die ja noch bezahlen... :smiley:

I2C ist nicht für lange strecken gedacht, eher für Platinen, wie 1Wire.

Für lange strecken brauchst du zB RS485.

Juhuu.... Edison Rang erreicht :smiley:

Hallo,
da gibt es für den Arduino ne´ Menge fertiger Platinen mit denene man mehr
oder weniger alles mögliche anstelle kann. Der größte Teil davon ist aber,
vorsichtig ausgedrückt- ElektronischerSonderMüll.
Desweiteren bist Du darauf angewiesen, das zu machen, was die Platine möchte-
nicht das was Du möchtest. Die meisten Platinen sind grottenschlecht
dokumentiert und mit geheimnisvollen Bauteilen bestückt- deren Wiederbeschaffung
in einigen Jahren zu massiven Problemen führen kann.

Wenn Du die Möglichkeiten und auch Fähigkeiten hast, diese Steuerplatinen selbst
zu bauen, dann nutze das! Und baue es so auf, das es auch ohne µC- zum größten
Teil ohne große "Bastelei" funktionieren kann.
Dieser Selbstbau hat den unbezahlbaren Vorteil, das Du hochwertige Bauteile
verwenden kannst, das es zu den Bauteilen Dokumentationen gibt und sie ohne
Probleme durch andere ersetzt werden können.
Auch ist es nur von Vorteil genau zu wissen, welches Bauteil für welchen
Bereich zuständig ist- und auch selbst die Kontrolle darüber zu haben, was denn
genau für eine Funktion- welche Bedingung erfüllt.
Also- selbst bauen!

"fehler erkennen können falls ein Bauteil versagt"

Das kannst Du ja schon einmal nicht! Auch machst Du Dir hier jetzt schon
Gedanken darüber wie das ganze zu programmieren würde- obwohl Du von den
elektronischen und elektrischen Gegebenheiten noch nichts weiß. Daraus darf ich schließen, dass das ganze Projekt so ein wenig nur in Deinem Kopf besteht.

Auch hast Du keine Ahnung vom programmieren des Arduino. Also besorge Dir erst
einmal ein Steckbrett, einige Widerstände, LED´s und Taster. Dann gibt es hier
im Forum "Reference und Learning". Unter diesen Punkten findest Du fast alles,
was von Dir benötigt wird. Als Fachbuch kann ich Dir das "Arduino Kochbuch von
Michael Margolis (Verlag O´Reilly) empfehlen. Dort wird fast alles aufgegriffen
und sehr gut erklärt- aber es ist ja einfacher hier im Forum zu fragen, wie man
eine Lampe einschaltet- als es sich selber beizubringen.

Wenn Du dann in einigen Wochen soweit bist, "das Du eine LED mit einem Taster"
ein- und ausschalten kannst, dann, ja dann könnte man sich einmal über die
Finessen der Programmierung in "Arduino" unterhalten.

Dein angehängter Sketch ist ja gut und schön- aber wo wird denn geprüft ob
die Lampe tatsächlich leuchtet? Ich meine hier steht Dir ein leistungsfähiger
µC zur Verfügung. Mit diesem willst Du eine nicht zu unterschätzende
Haussteuerung realisieren. Du kannst nicht jedesmal wenn Du auf einen Knopf
drückst- losrennen um zu schauen, ob es funktioniert.
Gruß und Spaß dabei
Andreas

@ Skorpi,
danke für die Links. Werde ich mir näher anschauen. Anyhow, die expansion wirkt für mich schon verlockend.

@ Andreas (SkobiMobil)

Well, dakor sicherlich ist es "besser" sich das komplett selber auf zu bauen, aber bei 25 Euro erschließt sich mir nicht der Sinn.
Auch so bleibt genug zum selber bauen für den Rest.

Das kannst Du ja schon einmal nicht! Auch machst Du Dir hier jetzt schon
Gedanken darüber wie das ganze zu programmieren würde- obwohl Du von den
elektronischen und elektrischen Gegebenheiten noch nichts weiß. Daraus darf ich schließen, dass das ganze Projekt so ein wenig nur in Deinem Kopf besteht.

Na da kannst Du mal sehen wie vorrausschauend ich denke :wink:
Ansonsten, spannende Aussage. (Eingangspost schaft da Klarheit für Dich / gleiches gilt für Dein weiteres Staatement).

Auch hast Du keine Ahnung vom programmieren des Arduino. Also besorge Dir erst
einmal ein Steckbrett, einige Widerstände, ...............- aber es ist ja einfacher hier im Forum zu fragen, wie man
eine Lampe einschaltet- als es sich selber beizubringen.

Ach weißt Du..... :sleeping: :sleeping: :sleeping:..... für einen TIP der mich WEITERBRING wäre ich dankbar.
(und über das WAS ich schon habe, kann/nicht kann, habe ich ja geschrieben)

Mit diesem willst Du eine nicht zu unterschätzende
Haussteuerung realisieren. Du kannst nicht jedesmal wenn Du auf einen Knopf
drückst- losrennen um zu schauen, ob es funktioniert.

Für die anderen mag es langweilieg sein weil ich mich wiederhole, aber ich möchte vorerst NUR die Lampen in meinem
Haus und Garten via Schalter + ggf einzelne Taster + Zentralaus steuern. (Ich möchte nicht : IPAD Steuerung, Handysteuerung, Display, Heizung, Kerntemperatur der Fäkaline oder ähnliches messen.......)
Der Vorteil von Lampen besteht darin das ein Feedback nahe dem Lichtschalter stattfindet. In sofern werde ich hier auf die verwendung eines Kontrolleinganges verzichten. :smiley:

Hoffe für Dich das Du morgen einen stressfreieren Tag hast :wink:

Schöne Grüße,
Tom

P.S. Hab mir das Expansionsport (5 Stück a 22 $ ) + Zubehör bestellt. Genial genau das was ich suche. Versandkosten sind die gleichen wie aus Deutschland in den mittleren osten.

Hallo Tom,
"ernstfall rausnehme, wegschmeiße und ersetze"
Und was machst Du in 8,75 Jahren bei einem Defekt?

"ach ja und das Haus steht auch schon (!) wobei ich derzeit noch gute Changen"

dann gebe ich Dir den Rat, jede Taster Leitung und jede Verbraucher Leitung
zu einem zentralen Punkt zu ziehen.
Verwende überall Taster. Das hat seinen Grund.
Wenn Du diese Taster Leitung zum Arduino ziehst, dann kannst Du damit
tasten- einschalten
tasten- ausschalten
tasten halten- alles andere machen
da gibt es noch tausend Beispiele

"welchen Kosten nutzen ich die Sache"
bei einer Haussteuerung, nicht zu verwechseln mit Energiemanagement, kann es das
nicht geben. Es ist reiner Luxus, zentral "alles" schalten zu wollen.

"nur sporadisch überflogen"
"Du hier Die Oberlehrerkeule schwingst"

Ich habe das einige Male gelesen. Auch die Oberlehrerkeule will ich hier nicht
schwingen. Ich möchte nur deutlich machen, was da auf Dich zukommt.
Die Leute denken immer, dann kaufe ich mir einen Arduino und alles läuft
dann automatisch. Ein wenig C&P hier, ein wenig C&P dort, klickedieklack-
die Internet, und dann läuft die Kiste. Na! Dann mach mal…
Haussteuerung als Anfänger-Projekt, ziemlich sportlich.
Also- ganz bestimmt NICHT in einem abwertigen Sinne.
Gruß und Spaß
Andreas
P.S. das Buch ist wirklich gut

Ich werde mich sicher noch tiefer in die Materie einarbeiten. Auch mit Büchern etc, aber das life programieren und ausprobieren (in einer sicheren Umgebung vor dem LIFE gehen) ist immer noch ein sehr effektiever Weg.

Schau mal, ich habe mir doch bewußt keinen Rasberry PI und was weiß ich nicht gekauft weil ich die ganzen tasks gleichzeitieg am Anfang garnicht stemmen kann. Sich in das Arduinosystem, Steuerung etc ein zu arbeiten ist ja schon eine Aufgabe. Daher auch mein ganz ganz geringer Anspruch.

Wie geschrieben, möchte ich NUR die Lampen am Anfang schalten. That's it.´(und das ist mir ja auch nach den ersten 5 Tagen von 0 an schon gelungen, wenn auch holperieg und umständlich) Wenn ich später mehr kann dann vieleicht auch mehr. Ein Haus (und dessen Steuerung) muss praktisch sein - first level direct serve - soll heißen eine Funtion muss direct aufrufbar sein, für jeden leicht verständlich (intuitive) und auch einen Mehrwert darstellen.

Und was machst Du in 8,75 Jahren bei einem Defekt?

Wenn ich mich dann noch dafür interessiere und sich das System bewährt hat (praktikabel) dann replace ich es mit einem Ersatz. Wenn nicht oder wenn ich das Interesse verliere klemme ich die Lichtschalter direkt auf die Eingänge der Relais (auf der DIN Schine) und speise die mit 12V....es werde Licht. Die Entscheidung alle Kabel in die Zentralverteilung zu ziehen ist schon gefallen.

Glaub mir, ich mache das aus Spass an der Freude und Interesse. Mir eine fertiege Anlage zu kaufen von Loxon, EIP, Gira etc ware zig mal billiger bezogen auf die Stunden die ich darein stecke. Aber ich finde es fastzinierend genau was ich gerade machen möchte zu programieren / steuern / regeln.

Tom

Hallo,

wegen deiner Relaisplatine. Du möchtest 64 oder gar 128 Relais mit dem Arduino schalten. Bzw. ich sag mal 64 Relais schalten und 64 Taster anschließen. Man wird wohl aus Platzmangel nur Shields bekommen mit 8 Relais. Die Grundfläche des Arduinos wird in 99,9% der Fälle eingehalten.

Man müßte bestimmt die Porterweiterung und die Relais baulich getrennt hinnehmen.

Relaisbaugruppen gibts zum Bsp. hier: http://www.exp-tech.de/Shields/Relais/

Was man nun aber noch bräuchte wäre noch eine “Zwischenbaugruppe”, egal ob man die 5V oder 12 oder 24V Version nimmt. Mit Zwischenbaugruppe meine ich, zwischengeschaltete Transistoren die dann den Strom liefern können für die Optokoppler. Die Optokoppler auf dem Relaisbaugruppen benötigen einen gewissen Strom, den wird der MCP23017 so nicht liefern können. Jeder Pin könnte zwar 25mA liefern, aber in Summe kann der nur 125mA, was dann nur 8mA bedeutet pro Pin wenn alle 16 zeitgleich genutzt würden. Man müßte erst messen welchen Strom der Optokoppler nimmt und dann weitersehen. Der Aufbau muß in der Theorie noch reifen, bevor man Geld in die Hand nimmt. Klingt jetzt vielleicht alles sehr kompliziert. Möglicherweise gibts eine einfachere Lösung, die ich nicht kenne.

I2C Leitungslänge. Die Meinungen verdichten sich auf maximal 5 Meter mit nicht allzu dünnen Kabelquerschnitten. Weil dann die Leitungskapazität eine zunehmende Rolle spielt. Den I2C Takt muß man auch runter nehmen.

Andere Idee. Deine ganzen Kabel der Lampen und Schalter sammeln sich doch bestimmt irgendwo zentral im Haus. Wie beim normalen Elektro-Schaltschrank. Kannst Du nicht den Arduino und seiner Platinenansammlung daneben setzen für kurze Leitungswege?

Wegen Deinem Code. Das kommt darauf was einem übersichtlicher erscheint.
Laut Lehrbücher kann man viele auf Ausgang zu setztende Pins in einer Schleife zusammenfassen. Mittels Definition eines Arrays.

// array definieren namens "Pins", mit Indexnummer 0 bis 6 wird darauf zugegriffen
int Pins[] = {7, 8, 9, 10, 11, 12, 13};   // alle Pins die Ausgänge werden sollen

void setup  {
 for (int i = 0, i < 7, i++)
   pinMode(Pins[i], OUTPUT);    // alle Pins werden als Ausgänge "definiert"

 for (int i = 0, i < 7, i++)
   digitalWrite(Pins[i], HIGH);     // alle Pins werden eingeschalten

delay (5000);                              // 5 sec. warten

 for (int i = 0, i < 7, i++)
   digitalWrite(Pins[i], LOW);   // alle Pins werden ausgeschalten
}

void loop  {

}

Was mir auch gefallen und geholfen hat ist die Seite von Jeremy Blum mit seinen Video Arduino Tutorials.

Tom30:
für einen TIP der mich WEITERBRING wäre ich dankbar.
(und über das WAS ich schon habe, kann/nicht kann, habe ich ja geschrieben)

hi,

Du hast doch jetzt im aufbau des hauses noch alle möglichkeiten.
denk' darüber nach, das licht mit 12V-leds zu realisieren. Du brauchst dann keine relais mehr, sondern nur ein paar ICs und kannst jede einzelne 12V-led (größe wie halogen-decken-strahler) einzeln schalten und dimmen.

ich hab' das hier in drei zimmern im plan, in einem davon läuft es seit zwei jahren. das licht ist großartig, angenehm und schön verteilt.

gruß stefan

Oder gleich ein DC-Haus
http://www.dasgleichstromhaus.de/?cat=52