Go Down

Topic: Hilfe bei Project (Read 1 time) previous topic - next topic

bastlwastl

#15
Oct 26, 2015, 01:02 pm Last Edit: Oct 26, 2015, 01:13 pm by bastlwastl
wird das fenster während dem fahren geöffnet dann schaltet die Anlage ab bis das fenster wieder geschlossen wird. Zur zeit ist es so das die anlage neu gestartet werden muss falls das fenster geöffnet wird. möchte das aber noch ändern das er den letzten zustand speichert das er nach dem fensterschluss wieder fährt. Ist das fenster offen dann fährt er erst gar nicht.

Die taster gehen gegen ground mit externem pullup widerstand.

Ich habe erst vor 3 Tagen mit dem Arduino angefangen.
Ich selber habe leider keinen Arduino. Ich mache das mit nem freund zusammen der das ganze equipment hat. Somit kann ich noch nicht sagen wie sich das prellen auf die Steuerung verhaltet. Habe das ganze in einem Simulator laufen lassen. da gibts kein prellen :D Werde das aber heute ausprobieren.

Whandall

Ok, vom Code her hatte ich aber eher den Eindruck, dass du HIGH als betätigt betrachtest,
oder ist die Verdrahtung der Menütasten anders?

Kondensatoren brauchst du keine, Entprellen kannst du in der Software.
Bei den vielen Tasten wäre wahrscheinlich auch die Nutzung einer Button Library sinnvoll bzw. praktisch,
da ist das Entprellen eingebaut.

'Schaltet die Anlage' ab heisst Motor wird einfach angehalten?
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

bastlwastl

#17
Oct 26, 2015, 01:20 pm Last Edit: Oct 26, 2015, 01:25 pm by bastlwastl
Zur Zeit heißt Anlage schaltet ab so das der Arduino resetet werden muss.

Die menutaster sind nur für die navigation durch das menu das einfach 4 rote leds nebeneinander darstellt. Darunter sind 3 taster links rechts enter. Drückt man Taster rechts wandert er zu led 2 ..... drückt man dann enter macht er das. im manuell betrieb kann man mit den tastern den vorhang solange fahren wie man rechts oder links drückt.
drückt man enter länger als 5 sekunden dann geht er in die fachmannebene. Da stehen dann weitere einstellungen zur verfügung.

Das menu sieht so aus:

Menu1:

automatik betrieb
auffahren
programmierte stellung anfahren
zufahren

Menu 2:
Neu start Anlage
Manuell fahren sprich rechts links wenn man taster drückt oder den vorhang nach installation kallibrieren muss
Stellung programmieren die im menu eins angefahren wird
Empfindlichkeit Fühler Einstellen.

Whandall

Zur Zeit heißt Anlage schaltet ab so das der Arduino resetet werden muss.
Wie möchtest du es denn haben?

Beim Öffnen des Fensters Vorhang ganz auf? Einfach anhalten?

Ein Reset wäre meiner Ansicht nach eher etwas für echte Fehler,
wie z.B. nach der doppelten erwarteten Zeit ist der Endschalter immer noch nicht betätigt.

Die Menütasten schließen auch nach GND und haben externe Pullups?
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

bastlwastl

Die Fühler (Licht) will ich so programmieren das sie einen gemischten wert bekommen sprich nur weil

nachts ein auto mit licht an vorbeifährt soll der vorhang ja nicht auffahren. die lichtänderung muss in

einer gewissen zeit passieren damit er den neuen wert übernimmt.

Whandall

die lichtänderung muss in einer gewissen zeit passieren damit er den neuen wert übernimmt.
Das ist natürlich viel zu schwammig als dass man sinnvoll Code dazu schreiben könnte.

Helligkeitsänderungen bedingt durch Sonnenaufgang oder Untergang sind so langsam,
dass man die durch Wolken oder Scheinwerfer gut unterscheiden kann,
eine Berücksichtigung der Grundhelligkeit (drinnen/draußen) ist sicher auch sinnvoll.

Reicht dir dein 4 LED Menüsystem?
Wäre da nicht ein preiswertes LCD Display (z.B. ein serielles 1602) einfacher zu benutzen?
Oder alternativ ein preiswertes 8-digit LED Display (auch seriell)?
(Das wäre natürlich eine Erweiterung, erstmal sollte es ja so einwandfrei funktionieren)

Mir fehlt immer noch eine Antwort auf die Beschaltung der rechts/enter/links Tasten.  ;)
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

bastlwastl

#21
Oct 26, 2015, 03:24 pm Last Edit: Oct 26, 2015, 03:26 pm by bastlwastl
alle taster (menu und endschalter) sind auf GND mit pullup verbunden.

Drückt man menu Taster rechts wandert er zu led 2 ..... drückt man dann enter macht er das.

Nein kein LCD. Das Menu reicht so. Es soll so einfach und billig wie möglich sein. über den leds ist geschrieben welchen menupunkt sie darstellen. unter den leds in hellgrau die 2 ebene. Sieht aus wie ein einfacher Heizungsregler mit auto man und aus

bastlwastl

#22
Oct 26, 2015, 03:36 pm Last Edit: Oct 26, 2015, 03:39 pm by bastlwastl
Das ganze sieht so aus:

irgendwie ladet er mir das bild nicht so hoch wie es ausschauen sollte

Whandall

Jetzt weiss ich genug um in Ruhe darüber nachdenken zu können.

Funktioniert die Steuerung so wie sie im Moment ist zu deiner Zufriedenheit?
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

michael_x

#24
Oct 26, 2015, 03:47 pm Last Edit: Oct 26, 2015, 03:48 pm by michael_x
Quote
irgendwie ladet er mir das bild nicht so hoch wie es ausschauen sollte
Ich sehe dieses Bild:


Scheint nicht ganz zu deinem Problem zu passen, ist aber auch interessant ;)

bastlwastl

#25
Oct 26, 2015, 05:53 pm Last Edit: Oct 26, 2015, 06:06 pm by bastlwastl
Quote
Scheint nicht ganz zu deinem Problem zu passen, ist aber auch interessant
das ist ein einfacher arduino uno simulator der sehr gut funktioniert.

@Whandall

Ja die Steuerung funktioniert soweit wie ich es will. Verbesserungen wären z.B ein feedback. z.B das

während etwas ausgeführt wird wie automatisch zu fahren die auto led und die rechts led blinken.

Die delays hab ich eigentlich nur drinnen da beim bestätigen der code ja weiterläuft. Wenn der bediener in dem moment immer noch gedrückt hält is die bedingung ja wieder wahr und er macht das ganze gleich noch mal oder öfter. Die menu taster müssen immer auf high low überprüft werden oder gesperrt werden.

den Motorschutz hab ich auch schon

void motorlaufzeit() {
  if (digitalRead(motor == HIGH))
  {
    if (f == 1)
    {
      motorzeit = millis();
      f = 0;
    }

    if ( (millis() - motorzeit) > motormax) {
      motorAus();
while (a == 1)
      {
        digitalWrite(ledauto, HIGH);
        digitalWrite(ledauf, HIGH);
        digitalWrite(ledmitte, HIGH);
        digitalWrite(ledzu, HIGH);
        delay(500);
        digitalWrite(ledauto, LOW);
        digitalWrite(ledauf, LOW);
        digitalWrite(ledmitte, LOW);
        digitalWrite(ledzu, LOW);
        delay(500);
      }

    }
  }
}
motorlaufzeit wird in der schleife immer mit überprüft sobald der motor läuft.

bastlwastl

so das ganze funktioniert jetzt mit blinkendem menu und motorüberwachung.

Hatte mit dem gedanken gespielt noch eine IR-Fernbedienung mit einzubinden. Sozusagen eine lernfunktion

damit jede x-beliebige Fernbedienung genommen werden kann.

Go Up