Forum: Haus & Smart Home Fensterüberwachung Haus mit Arduino Nano V3 Atmega168 und HUB75 P2 RGB LED-Display 64x32


von Dennis S. (whiterussian)


Angehängte Dateien:

Lesenswert?

Hi zusammen,

ich habe mir eine Ansteuerung für ein HUB75 Display 32x64 (1:16 Scan) 
auf Arduino (Nano) Basis geschrieben. Es war etwas tricky, da es den 
Controller, was Timing und Speicher angeht, schon sehr an seine Grenzen 
bringt. Meine Lösung benötigt 80% RAM, und eigentlich die volle 
Rechenleistung um ein recht ruhiges Bild (Pixelbestandteile nur an/aus) 
zu bekommen. Damit sind immerhin die Grundfarben und die ersten 
Mischfarben möglich.

Belegung:

Arduino D0-D5 (PORTD0-5)    - R1,R2,G1,G2,B1,B2
Arduino D6 (PORTD6)         - Clock
Arduino D7 (PORTD7)         - Latch
Arduino D8 - D11 (PORTB0-3) - A-D
Arduino D12  (PORTB4)       - OE (Display Enable)

Frei
A0-A7
D13

Dazu habe ich eine kleine rudimentäre Grafikdatei genutzt um den 
Grundriss und die Fensterstellungen darzustellen.
Es gibt 5 Stati pro Fenster:

0, blau, unbenutzt
1, weiß, abgeschlossen
2, grün, geschlossen
3, gelb, gekippt
4, rot,  geöffnet

In einigen Fenstern habe ich bei renovierungs- und Umbaumaßnahmen schon 
mal zwei Magnetkontakte pro Fenster, versteckt im Rahmen, eingebracht 
und Kabel gelegt. (Zu, Kipp, Auf erfassen - wobei zwei Kontakte geöffnet 
sind, wenn auf - Softwarelösbar)

1, 1 = Fenster geschlossen
0, 1 = Fenster gekippt
0, 0 = Fenster geöffnet

0= Kontakt offen
1= Kontakt zu

Status "unbenutzt" ist für die, die noch nicht angeschlossen werden 
können, da noch keine Sensoren verbaut.

Das Display bekommt noch eine Platine mit Dipschaltern (für die 
grundsätzliche Konfiguration ob Sensoren verbaut sind oder nicht) und 
Schnittsellensteckern und ggf. ein paar Registern um DIP-Schalter und 
externe Sensoren zu erfassen.

Die Aufgabe des Panels ist nur den Status aller Fenster darzustellen und 
es wird noch einen Darstellung der Summe aller Stati auf einen Blick 
geben (Sobald alle Fenster zu -> grün, sobald ein oder mehrere auf Kipp 
-> gelb, sobald nur eines oder mehrere ganz geöffnnet -> rot).

Was momentan noch offen ist, ist die Erfassung der Schaltkontakte, die 
Drähte sind so verteilt dass es als Beispiel ein 15 Meter 8-Ader CAT 
Kabel gibt und am Ende befinden sich zehn Schaltkontakte von fünf 
Fenstern.
Hier überlege ich gerade wie ich diese abfragen werde und was sich am 
besten eignet. Ob eine Matrixanordnung da noch schlau ist usw...
Ich möchte nicht mit Funk und mit anderen größeren Systemen arbeiten, 
mir ist klar dass das Thema Hausautomatisierung ein sehr weitläufiges 
Thema ist, mit vielen Bussystemen (CAN, RS485, EIB, KNX, usw...) aber 
ich habe gerade Spaß an dieser komplett selbst angefangenen Bastelei...

Vielleicht hat ja noch der eine oder andere Tips oder Anregungen für die 
Sensorabfrage über Kabel. Klar könnte ich auch I²C und I-O Expander 
nutzen, oder oder oder... ich weiß es noch nicht und freue mich über 
Ideen.

Danke.

VG

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

gefällt, aber ich würde die Helligkeit dimmen damit die LEDs länger 
halten, ggffs. mit Umgebunghelligkeit abgleichen, wenn dunkel LED auch 
dunkler und ggffs die LEDs auch per Timer abschalten und per Taste 
aufwecken. Niemand muß und will das 24/7/325 sehen die LEDs danken. Wenn 
die LEDs verbraucht oder kaputt sind in Jahren findet man keinen Ersatz, 
alle benutzten LIBs sind anders und das Windows hat auch x-mal 
gewechselt und man kann nicht mehr daran arbeiten so wie ich an meiner 
Wordclock von 2015, alles neu zu erfinden und LIBs anpassen viel zu 
umständlich, schaffe ich nicht mehr.

von Dennis S. (whiterussian)


Lesenswert?

Joachim B. schrieb:
> aber ich würde die Helligkeit dimmen damit die LEDs länger
> halten, ggffs.

Geht mir 3.3V sehr gut auch ohne Levelshifter... muss man aber dann mal 
genau gucken. Die sind schon echt hell bei 5V...

Joachim B. schrieb:
> und per Taste

TTP223 mit hinterm Glas als Idee...vergessen zu erwähnen...und ein 
Ausgang für eine gesonderte externe bicolor-LED im das Summensignal noch 
mal an der Haustür sehen zu können...

Joachim B. schrieb:
> Niemand muß und will

Anmaßend...

Joachim B. schrieb:
> keinen Ersatz

Dagegen kann man vorbeugen, ich lege immer was auf Halde von allem - ob 
das schlau oder "richtig" oder "besser" ist, ist aber keine Diskussion 
hier wert finde ich, denn das ist ebenfalls individuell...
Aber es stimmt natürlich, es gibt Anhängigkeiten... leider... :-)
Und ich vernetze nichts, jedes Teil funktioniert für sich größtenteils 
unabhängig - kein Netz, keine Updates, keine Zusatzfunktionen - damit 
laufen die Sachen 15-25 Jahre, wenn sie zuende entwickelt sind... ohne 
weitere Pflege, ohne Gefrickel und ohne Änderungen, vielleicht mal einen 
Kondensator wechseln, wenns hoch kommt - das sind meine Erfahrungen...

Das Teil überwacht Fenster und stellt das dar. Lässt sich per DIP 
konfigurieren und benötigt keine Softwareanpassungen mehr, wenn es durch 
ist. Auch wenn in den Jahren noch Sensoren an den restlichen Fenstern 
dazu kommen... erfahrungsgemäß geht das so ganz gut...
Ein weiteres Panel und ein weiteree programmierter Controller werden ins 
Gehäuse gelegt, wenn was ist, muss man nur austauschen und weiter 
gehts...

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Dennis S. schrieb:
> Es war etwas tricky, da es den
> Controller, was Timing und Speicher angeht, schon sehr an seine Grenzen
> bringt. Meine Lösung benötigt 80% RAM,

Du weißt, dass es den Nano auch mit einem Atmega328 gibt, doppelte Menge 
Speicher drin?

Der Grundriss im Display als Anzeige gefällt mir!

von Dennis S. (whiterussian)


Lesenswert?

Manfred P. schrieb:
> Du weißt, dass es den Nano auch mit einem Atmega328 gibt,

Ja. Ich war mal der Meinung gesehen zu haben, dass A6  ADC6 und A7  
ADC7 beim Atmega168 auch I/O können und hatte deswegen den Typ genommen, 
hatte mich aber versehen...

Manfred P. schrieb:
> Der Grundriss im Display als Anzeige gefällt mir!

Danke, ist ausreichend. :-)

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Dennis S. schrieb:
> Anmaßend...

OK du wolltest Gedanken und Anmerkungen, wenn sie nicht gefallen lernst 
du vielleicht durch Schmerz, die Zukunft wird es zeigen auch heute 
lernen die Menschen nicht mehr durch Blick in die Vergangenheit.

Als ich 2015 viele Arduino Projekte machte auch LIBs angepasst hatte 
habe ich noch den Rechner, aber auch dort klappt es nicht mehr, der alte 
Rechner schwächelt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.