Hallo.
Ich bin völliger Neuling und benötige Hilfe bei folgendem Projekt.
Es handelt sich um einen Schreibtisch mit ausfahrbarem Monitor. Ich habe das Arduino-Bord UNO R3 welches mit einem 12v DC Trafo betrieben werden soll. Mittels eines Tasters soll der Impuls für eine Aktion gegeben werden. Zwei Endabschalter geben jeweils die Meldung über Endabschaltung oben und Endabschaltung unten weiter. Mittels eines Relais (Bild) soll ein Rolladenmotor betrieben werden.
Also Taster drücken, Bord checkt mittels Endabschalter ob Bildschirm oben oder unten ist und das Relais wird angesteuert.
Ach ja, der Taster hat einen leuchtenden LED-Ring.
Eine bereits vorhandene Programmierung ist gewählt worden .
Die Programmierung sollte funktionieren. Mir geht es hier primär um die Installation am Bord. Wo schließe ich den Taster an? Muss ich einen Widerstand zwischen Bord und Taster verbauen? Wenn ja, welchen? Muss ich dementsprechend auch Widerstände zwischen Endabschalter und Bord installieren?
Ich bin dankbar für Hilfe und Tipps.
Taster LED Spannung?
Hat der Taster außer LED 2 oder 3 Pins wen 2 nach deinem Sketch anschließen. wehre gut wen Du dein Sketch postet aber bitte in Code Tags
wie das geht das lesen
das kann man ohne Arduino machen
Einen Fehler schon gefunden, die Spannung der LED am Taster beträgt 12v und der Taster hat 2 Pin (ohne LED. Mit LED 4 Pin).
Habe mir schon nen anderen Taster bestellt.
Folgend kommt der Code:
#include <jled.h>String LiftStatus;
auto ledSchalter =JLed(11).Breath(4000).Forever().DelayAfter(0);
auto ledSchalterFast = JLed(11).Breath(1000).Forever()DelayAfter(0);
void setup() {
pinMode(7, INPUT) ;
pinMode(5, INPUT) ;
pinMode(9, INPUT) ;
pinMode(3, OUTPUT) ;
pinMode(4, OUTPUT) ;
if(digitalRead(7) == HIGH) {
LiftStatus = "oben" ;
} else {
liftStatus = "unten" ;
}
}
void loop() {ledSchalter.Update();
{
if (digitalRead(5) == HIGH) {
if (liftStatus == "unten") {while (! (digitalRead(7) == HIGH)) {
digitalWrite(3, HIGH);
ledSchalterFast.Update();
}
LiftStatus = "oben";}
} else {
digitalWrite(3, LOW);
}
if (digitalRead(5) ==HIGH) {
while (!(digitalRead(9) ==HIGH)) {
digitalWrite(4, HIGH);
ledSchalterFast.Update();
}
LiftStatus ="unten";
}
} else {
digitalWrite(4, LOW);
}
}
}
Hallo,
ich finde das eigentlich ok. was glaubst Du denn wie viele Pins ein Taster haben solllte. Und eine LED hat wie viele Pins?
es wäre jetzt auch nicht schlecht wenn Du uns verrätst was das für pins im Setup sein sollen.
Heinz
Hallo Heinz es gibt die Taster mit 3 Pin (NO, NC) deshalb war die Frage
Gruß Bernhard
Hallo Bernhard,
wenn der Taster 2 pins hat würde ich erst mal davon ausgehen das es sich um einen NO (Schließer) handelt. Und wenn es ein NC ist dann ist der ja auch verwendbar.
es ist wie es ist, mit den NO, NC kann ich mich einfach nicht anfreunden
Gruß Heinz,
Wen man 35J den Begriff NO, NC benutzt hat denk man gar nicht dran, ok versuche Schließer, Öffner dem nächst schreiben, vorher war "offen , zu und umschalt in Benutzung
Gruß Bernhard
Also ich habe mir jetzt einen 1NO 1NC Taster mit entsprechender LED-Spannung bestellt.
Muss ich denn jetzt zwischen Taster und Bord und den beiden Endabschalter und Bord einen Widerstand setzen?
Klemme ich den Taster an den 5v Ausgang-Pin am Bord an?
Endabschalter und Relais Klemme ich an die entsprechenden digital-Pinne an. Und die led vom Taster auch.
Zeichne mal wie hast Du das vor oder wie ist jetzt mit den Endschaltern und dem Taster.
Relais darf man nicht direkt an Arduino klemmen, du brauchst ein Transistor als Treiber oder nimmst ein Modul.
Reicht Blattpapier und von Hand gezeichnet.
Ich hoffe, du steigst durch meinen (etwas Kreuz und quer gezeichneten) Schaltplan durch.
Das Relais (extra für Arduino) ist mit auf dem Bild drauf.
Parr Sachen
Der LED 230R Widerstand spendieren oder ist die vorgesehen für 5V ?
Taster gegen GND schalten
Endschalter gehört direkt an Motor
Mach Foto der Relais Unterseite, die dinger sind nicht geaignet für 230V was auf den Relais drauf steht ist andere Sache nur die Platine ist nicht für 230V gedacht
Deine Endschalter schalten gegen GND. Dann solltest Du - um definierte Pegel zu erhalten - die enstprechenden Pins mit dem internen Pullup initisialisieren:
const byte endschalterOben = 7;
const byte endschalterUnten = 9;
pinMode(endschalterOben , INPUT_PULLUP) ;
pinMode(endschalterUnten , INPUT_PULLUP) ;
Die Logik ist dann umgekehrt: LOW
entspricht 'Schalter geschlossen'.
Also Taster in Pin 5 und GND.
Endabschalter direkt an den Motor,....?!?
Hier nen Bild von der Unterseite des Relais.
Das habe mir gedacht nicht 230V geeignet
Dort wo ich rot gezeichnet habe fehlt Ausfräsung
Ich mach für heut Feierabend
Hallo,
die Endschalter kannst Du nicht direkt in die Motorleitung machen. Der Controller muss doch wissen ob der Tisch oben oder unten ist.
Eventuell denkst Du noch mal über Deine Lösung nach, so wie Du das vorhast gibt es ja nur zwei Stellungen , oben und unten, dazwischen gibt es nichts. Wenn Du mal dazwischen stehen bleiben willst geht das mit einem Taster im Prinzip auch. Du musst dir dann halt nur merken ob die letzte Bewegung heben oder senken war wenn Du da weiter machen willst. Allerdings sind in dem Fall zwei Taster einer heben, der andere senken , sinvoller.
Heinz
Die Endabschalter könnte ich so anschließen, müsste dann nur umprogrammieren?
Wie müsste ich das denn anschließen um mit dem vorhandenen Code zu arb
Rolladenmotoren sind i.d.R. ziemlich "kräftige" Antriebe. Ich würde es nicht darauf ankommen lassen, dass deren strombasierende Abschaltung größere Schäden verhindert, sondern immer in den Hauptstromkreis eingebundene Endschalter als "Notaus" einsetzen, falls die Software mal ein Eigenleben entwickelt ...
Für die Software kann man dann zusätzliche "Indexgeber" so anbringen, dass vor Erreichen der Endlagen ab-/umgeschaltet wird.
Bei den Relais kann ich @fony nur recht geben: Man sollte sich mit 230V und den sich daraus ableitenden Anforderungen an Handhabung, Montage und elektrische Sicherheit tatsächlich auskennen, sonst besteht Lebensgefahr (und Haftung für Schäden Dritter!).
Der Rolladenmotor hat auch eine Endabschaltung, welche ich eingestellt habe.
Nur möchte ich mich nicht darauf verlassen. Deshalb Endabschalter und Arduino.
Mein Sohn kennt sich ein bisschen mit C++ aus nur haben wir beide relativ wenig Ahnung von Elektronik. Deshalb auch die Anfängerfragen.
Wenn ich in der Platine des Relais entsprechende Unterbrechungen mit dem Dremel reinfräse, dann sollte es aber gehen,.......
Oder?
Erst mal genau gucken wie die Spulenleiterbahn verläuft nicht das Du die trennst sonst, ja um die1mm breit fräsen.
Wen Du platz hast noch einen Schalter neben den Endschalter setzen dann besteht die Möglichkeit ohne Probleme den auswerten, wobei das Relais nimmt kein schaden wen das sogar eine Minute angezogen bleibt